Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
/
З В І Т
до лабораторної роботи №3
з курсу: «Алгоритмічні мови та програмування, Ч.2»
на тему: «Масиви. Робота з масивами»
Варіант № 15
Львів-2016
Мета роботи – вивчити синтаксис опису і використання у програмах змінних типу масивів та властивостей. Навчитися складати та відлагоджувати програми з використанням індексаторів при роботі з масивами.
1.Завдання
Скласти блок-схеми алгоритмів та програму мовою С# для роботи з одномірним масивом цілих чисел (вектором). Забезпечити наступні можливості: задання довільних цілих границь індексів при створенні об'єкта; звертання до окремого елемента масиву з контролем виходу за межі масиву; розрахунок за алгоритмом, згідно з завданням, отриманим від викладача за табл. 2; вивід на екран елемента масиву по заданому індексі й усього масиву. Програма повинна демонструвати всі розроблені елементи класу.
/
2. Блок-схема алгоритму програми
Метод «Main ()»
3.Список ідентифікаторів констант, змінних, процедур і функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення.
int startIndex - стартовий iндекс;
int endIndex - кiнцевий індекс;
class Array – клас надає методи для створення, зміни, пошуку і сортування масивів, тобто виступає в ролі базового класу для всіх масивів в середовищі CLR;
Console.WriteLine – метод, що записує поточну ознаку кінця рядка в стандартний вихідний потік;
Console.Write – метод, що записує текстове представлення заданого значення або значень в стандартний вихідний потік;
for (…) – цикл з передумовою;
get - ключове слово get визначає метод доступу в властивості або індексатора, який витягує значення властивості або елемент індексатора;
set - Ключове слово set визначає метод доступу в властивості або індексатора, який призначає значення властивості елемента індексатора;
return - перериває виконання методу, в якому воно присутнє і повертає управління викликає методу;
Console.ReadKey() - метод, що затримує вікно консолю;
if-else – інструкція, що визначає яка інструкція буде виконана
4.Текст програми
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Laba3
{
class Array
{
public int length;
public int startIndex;
public int endIndex;
public int[] a;
public void Create(int _startIndex, int _endIndex)
{
startIndex = _startIndex;
endIndex = _endIndex;
length = endIndex - startIndex + 1;
a = new int[length];
Console.WriteLine("Введiть масив: ");
for (int i = 0; i < length; i++)
{
Console.Write("a[" + (i + startIndex) + "] = ");
a[i] = Convert.ToInt32(Console.ReadLine());
}
}
public int this[int i]
{
get
{
if (CorrectIndex(i))
return a[i - startIndex];
else
return -9999;
}
set
{
if (CorrectIndex(i))
a[i - startIndex] = value;
}
}
private bool CorrectIndex(int index)
{
if (index >= startIndex && index <= endIndex)
return true;
else
return false;
}
public void PrintByIndex(int index)
{
if (CorrectIndex(index))
Console.WriteLine("[" + index + "] element: " + a[index - startIndex]);
else
Console.WriteLine("Некоректний iндекс");
}
public void Print()
{
Console.WriteLine("Array is: ");
for (int i = 0; i < length; i++)
Console.Write(a[i] + " ");
}
}
class Program
{
static void Main(string[] args)
{
Array a = new Array();
Console.WriteLine("Введiть межi масиву: ");
Console.Write("Перша межа:");
int start = Convert.ToInt32(Console.ReadLine());
Console.Write("Друга межа:");
int end = Convert.ToInt32(Console.ReadLine());
a.Create(start, end);
Console.Write("Коефіцієнт C = ");
int C = Convert.ToInt32(Console.ReadLine());
int greaterC_Count = 0;
int max = int.MinValue;
int maxIndex = -1;
for (int i = a.startIndex; i < a.length + a.startIndex; i++)
{
if (a[i] > C)
{
greaterC_Count++;
}
if (max < Math.Abs(a[i]))
{
max = Math.Abs(a[i]);
maxIndex = i;
}
}
int suma = 1;
for (int i = maxIndex + 1; i < a.length + a.startIndex; i++)
{
suma *= a[i];
}
Console.WriteLine("Більші за C : {0}", greaterC_Count);
Console.WriteLine("Suma result : {0}", suma);
a.Print();
for (int i = a.startIndex; i < a.length + a.startIndex; i++)
{
int min = int.MaxValue;
int minIndex = 0;
for (int j = i; j < a.length + a.startIndex; j++)
{
if (a[j] < min)
{
min = a[j];
minIndex = j;
}
}
a[minIndex] = a[i];
a[i] = min;
}
a.Print();
Console.Write("\nВведiть номер елемента для виведення: ");
int index = Convert.ToInt32(Console.ReadLine());
a.PrintByIndex(index);
Console.WriteLine("");
a.Print();
Console.ReadKey();
}
}
}
5.Результат роботи програми
/
Висновок
Виконуючи цю лабораторну роботу я вчив синтаксис опису і використання у програмах змінних типу масивів та властивостей. Вчився складати та відлагоджувати програми з використанням індексаторів при роботі з масивами.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!