DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт до лабораторної роботи № 3 з курсу «Алгоритмічні мови та програмування» на тему «Програми з використанням масивів та індексаторів»

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
ЗІ
Кафедра:
Кафедра програмного забезпечення

Інформація про роботу

Рік:
2016
Тип роботи:
Лабораторна робота
Предмет:
Алгоритмічні мови та програмування
Група:
КН-11
Коротко про документ

Про що ця робота

У звіті розглядається виконання лабораторної роботи на тему використання масивів та індексаторів мовою C#. Наведено блок-схеми, лістинг програми та результати тестування.

У роботі розглядаються

  • Програмування мовою C#
  • Одномірні масиви
  • Використання індексаторів
  • Обробка винятків
  • Алгоритми пошуку максимального елемента
  • Сортування масивів
  • Консольне введення-виведення

Зміст і розділи

  1. Мета роботи
  2. Завдання
  3. Блок-схема алгоритму
  4. Список ідентифікаторів
  5. Текст програми
  6. Результати роботи програми
Для кого:Студенти технічних спеціальностей та викладачі
Викладачі:Викладач

Ключові поняття

масивC#методкласконсольалгоритмелементструктура данихпрограма

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» З В І Т до лабораторної роботи №3 з курсу: «Алгоритмічні мови та програмування» на тему: «Програми з використанням масивів та індексаторів» Варіант № 5 Львів – 2016 Мета роботи – вивчити синтаксис опису і використання у програмах змінних типу масивів та властивостей. Навчитися складати та відлагоджувати програми з використанням індексаторів при роботі з масивами. Завдання Скласти блок-схеми алгоритмів та програму мовою С# для роботи з одномірним масивом цілих чисел (вектором). Забезпечити наступні можливості: задання довільних цілих границь індексів при створенні об'єкта; звертання до окремого елемента масиву з контролем виходу за межі масиву; розрахунок за алгоритмом, згідно з завданням, отриманим від викладача за табл. 1; вивід на екран елемента масиву по заданому індексі й усього масиву. Програма повинна демонструвати всі розроблені елементи класу. / Блок-схема алгоритму програми / / / / 3. Список ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення Console.ReadLine() – зчитування стрічки з консолі; Console.ToDouble() –конвертування текстової змінної в число типу Double; Convert.ToInt32() - конвертування текстової змінної в число типу Int32; Console.WriteLine – метод виведення на екран; public void Readm() – метод, в якому знаходять межі масиву і його довжина public void ReadArray() – метод, в якому відбувається зчитування масиву з клавіатури та виведення його на екран; size1, size2 – межі масиву; Length – довжина масиву; a – масив з даними цілого типу; public double this[int index] – індексація; public void ElementOutput() – метод, який зчитує індекс і виводить елемент масиву на екран; public void Summ() – метод, в якому знаходиться сума елементів масиву, розташованих до останнього додатного; public void MaxElement() – метод, який обчислює максимальний елемент масиву; public void SortArray() – метод, в якому елементи, що перебувають в інтервалі [q, w], видаляються. Текст програми using System; using System.Collections.Generic; using System.Text; namespace Lab3 { class Array { int Length; int size1; int size2; double[] a; bool ErrFlag; int aIndex; public void Readm() { Console.WriteLine("Введiть межi масиву: "); Console.Write("Перша межа:"); size1 = Convert.ToInt32(Console.ReadLine()); Console.Write("Друга межа:"); size2 = Convert.ToInt32(Console.ReadLine()); Length = size2 - size1 + 1; } public void ReadArray() { a = new double[Length]; int x = size1; Console.WriteLine("Введiть массив: "); for (int i = 0; i < Length; i++) { Console.Write("a[" + x + "]="); a[i] = Convert.ToDouble(Console.ReadLine()); x++; } foreach (double z in a) Console.Write("\t" + z); Console.Write("\n"); } public double this[int index] { get { if (ok(index)) { ErrFlag = false; return a[index - size1]; } else { ErrFlag = true; return 0; } } set { if (ok(index)) { a[index] = value; ErrFlag = false; } else ErrFlag = true; } } private bool ok(int index) { if (index >= size1 & index <= size2) return true; else return false; } public void MaxElement() { double max = a[0]; for (int i = 0; i < Length; i++) { if (max <= a[i]) { max = a[i]; } } Console.WriteLine("Максимальний елемент масиву:" + max); } public void Summ() { double sum = 0; for (int i = a.Length - 1; i > 0; i--) if (a[i] > 0) { for (int j = 0; j < i; j++) sum += a[j]; Console.WriteLine("Cума елементiв:" + sum); break; } } public double q, w; public void SortArray() { Console.Write("Введiть q: "); q = Convert.ToDouble(Console.ReadLine()); Console.Write("Введiть w: "); w = Convert.ToDouble(Console.ReadLine()); int end = a.Length - 1; for (int i = 0; i <= end; i++) if ((Math.Abs(a[i]) >= q) && (Math.Abs(a[i]) <= w)) { for (int j = i; j < end; j++) a[j] = a[j + 1]; a[end] = 0; end--; i--; } foreach (double element in a) Console.Write("{0} ", element); Console.Write("\n"); } public void ElementOutput() { double x; Console.Write("Введiть номер елемента: "); aIndex = Convert.ToInt32(Console.ReadLine()); x = this[aIndex]; if (this.ErrFlag) Console.WriteLine("Вихiд за межi масиву: "); else Console.WriteLine("a[" + aIndex + "]=" + x); } } class Program { static void Main(string[] args) { Array a = new Array(); a.Readm(); a.ReadArray(); a.MaxElement(); a.Summ(); a.ElementOutput(); a.SortArray(); Console.ReadLine(); } } } 5. Результати роботи програми / / /
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!