Програми з використанням масивів та індексаторів

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
ЗІ
Кафедра:
Захист інформації

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

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Технологія програмування та створення програмних продуктів

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ З В І Т до лабораторної роботи №7 з курсу: «Технології програмування» на тему: «Програми з використанням масивів та індексаторів» Варіант № 8 Львів – 2013 Мета роботи – вивчити синтаксис опису і використання у програмах змінних типу масивів та властивостей. Навчитися складати та відлагоджувати програми з використанням індексаторів при роботі з масивами. 1. Завдання Скласти блок-схеми алгоритмів та програму мовою С# для роботи з одномірним масивом цілих чисел (вектором). Забезпечити наступні можливості: задання довільних цілих границь індексів при створенні об'єкта; звертання до окремого елемента масиву з контролем виходу за межі масиву; розрахунок за алгоритмом, згідно з завданням, отриманим від викладача за табл. 1; вивід на екран елемента масиву по заданому індексі й усього масиву. Програма повинна демонструвати всі розроблені елементи класу. Табл. 1 Завдання  В одномірному масиві, що складається з п дійсних елементів, обчислити: суму елементів масиву з непарними номерами; суму елементів масиву, розташованих між першим й останнім від’ємними елементами. Стиснути масив, видаливши з нього всі елементи, модуль яких не перевищує одиницю. Елементи, що звільнилися в кінці масиву, заповнити нулями.  2. Блок-схема алгоритму програми Field()  ScanArray()  ok(int index)  ArrayNumber()  ArrayTransformation()  ElementOutput()  Main(string[] args)  SummVidemni()  3. Список ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення Console.ReadLine() – зчитування стрічки з консолі; Convert.ToDouble() –конвертування текстової змінної в число типу Double; Console.WriteLine()– метод виведення на екран; class Program – клас, в якому оголошена головна функція static void Main(string[] args); class Size – клас, в якому оголошений метод Field(); public void Field() – метод, в якому знаходять межі масиву та довжина; size1, size2 – межі масиву; Length – довжина масиву; b – масив з даними дійсного типу; private bool ok(int index) – метод для перевірки індексу масиву; public void ScanIndex() – метод для зчитування індексу для виведення; public void ElementOutput() – метод, який виводить елемент масиву; public void LargeArrayNumber() – метод, в якому обчислюють кількість елементів та виводять її; public void MaximumProduct() – метод, в якому обчислюють добуток елементів та виводять його; public void ArrayTransformation() – метод, в якому здійснюється перетворення масиву; 4. Текст програми using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ArrayWork { class Array { int Length; int size1; int size2; double[] a; bool ErrFlag; int aIndex; double[] b; double bSum = 0; double bSumm = 0.0; int cIndex1; int cIndex2; public void Field() { Console.WriteLine("Введiть межi масиву: "); Console.Write("Перша межа:"); size1 = Convert.ToInt32(Console.ReadLine()); Console.Write("Друга межа:"); size2 = Convert.ToInt32(Console.ReadLine()); Length = size2 - size1 + 1; } public void ScanArray() { 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"); } 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 ArrayNumber() { for (int i = 0; i < Length; i++) { if ((i - size1) % 2 != 0) bSum += a[i]; } Console.WriteLine("Сума елементiв з непарними номерами: " + bSum); } public void SummVidemni() { int z = 0; for (int i = 0; i < Length; i++) { if (a[i] < 0.0 && z == 0) { cIndex1 = i; z++; } else if (a[i] < 0.0) cIndex2 = i; } for (int i = cIndex1 + 1; i < cIndex2; i++) bSumm += a[i]; Console.WriteLine("Cума елементiв мiж першим та останнiм вд'ємним елементом: " + bSumm); } public void ArrayTransformation() { b = new double[Length]; for (int i = 0; i < Length; i++) b[i] = a[i]; for (int i = 0; i < Length; i++) if (Math.Abs(b[i]) < 1.0) { for (int j = i; j < Length - 1; j++) { b[j] = b[j + 1]; } b[Length - 1] = 0.0; } foreach (double z in b) Console.Write("\t" + z); Console.Write("\n"); } public void ElementOutput() { double x; Console.Write("Введiть номер елемента для виведення: "); aIndex = Convert.ToInt32(Console.ReadLine()); x = this[aIndex]; if (this.ErrFlag) Console.WriteLine("Ви вказали не правильний номер елемента"); else Console.WriteLine("a[" + aIndex + "]=" + x); } } class Program { static void Main(string[] args) { Array a = new Array(); a.Field(); a.ScanArray(); a.ArrayNumber(); a.SummVidemni(); a.ArrayTransformation(); a.ElementOutput(); Console.ReadLine(); } } } 5. Результати роботи програми  6. Висновки На даній лабораторній роботі я вивчив синтаксис опису і використання у програмах змінних типу масивів та властивостей. Навчитися складати, використовувати та відлагоджувати програми з використанням індексаторів при роботі з масивами. Ознайомився з основними командами для роботи з масивом даних. Також навчився складати алгоритми для розв’язування заданих завдань і алгоритми для роботи з масивами.
Антиботан аватар за замовчуванням

13.01.2014 15:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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