ПРОГРАМИ З ВИКОРИСТАННЯМ МАСИВІВ ТА ІНДЕКСАТОРІВ

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА З В І Т до лабораторної роботи №3 з курсу: «Алгоритмічні мови та програмування» на тему: «ПРОГРАМИ З ВИКОРИСТАННЯМ МАСИВІВ ТА ІНДЕКСАТОРІВ» Варіант № 6 Львів-2011 Мета роботи – вивчити синтаксис опису і використання у програмах змінних типу масивів та властивостей. Навчитися складати та відлагоджувати програми з використанням індексаторів при роботі з масивами. ЗАВДАННЯ Вивчити синтаксис опису і використання у програмах змінних типу масивів та властивостей, а також індексаторів мови С#. Скласти блок-схеми алгоритмів та програму мовою С# для роботи з одномірним масивом цілих чисел (вектором). Забезпечити наступні можливості: задання довільних цілих границь індексів при створенні об'єкта; звертання до окремого елемента масиву з контролем виходу за межі масиву; розрахунок за алгоритмом, згідно з завданням, отриманим від викладача за табл. 2; вивід на екран елемента масиву по заданому індексі й усього масиву. Програма повинна демонструвати всі розроблені елементи класу. 6 В одномірному масиві, що складається з п дійсних елементів, обчислити: мінімальний елемент масиву; суму елементів масиву, розташованих між першим й останнім позитивними елементами. Перетворити масив таким чином, щоб спочатку розташовувалися всі елементи рівні нулю, а потім - всі інші.   БЛОК-СХЕМИ Клас Array Метод Field Метод ScanArray Метод min Так Ні Метод Suma так ні так Метод ArrayTransformation \ Метод ElementOutput Так Ні class Program Метод Main СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ФУНКЦІЙ, ВИКОРИСТАНИХ У БЛОК-СХЕМІ АЛГОРИТМУ І ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ a,b,h – змінні дійсного типу, які є аргументами виразу; x,y – змінна дійсного типу, якій надається значення результату обчислення виразу; static void Main(string[]args) – головна функція; Console.ReadLine() - зчитування стрічки з консоля; Convert.Parse() - конвертування текстової змінної в число типу Double; Console.WriteLine() – метод виведення на екран; ТЕКСТПРОГРАМИ using System; using System.Collections.Generic; using System.Text; namespace ArrayWork { class Array { int Length; int size1; int size2; double[] a; bool ErrFlag; int aIndex; 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"); } 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 MinElemet() { double min = a[0]; for (int i = 0; i < Length; i++) { if (min >= a[i]) { min = a[i]; } } Console.WriteLine("Мiнiмальний елемент масиву:" + min); } public void Summ() { int cIndex1 = 0; int cIndex2 = 0; double bSumm = 0; 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в:" + bSumm); } public void ArrayTransformation() { double[] b = new double[Length]; int aIndex = 0; for (int i = 0; i < Length; i++) if (a[i] == 0.0) { b[aIndex] = a[i]; aIndex++; } for (int i = 0; i < Length; i++) if (a[i] != 0.0) { b[aIndex] = a[i]; aIndex++; } foreach (double x in b) Console.Write("\t" + x); 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.MinElemet(); a.Summ(); a.ArrayTransformation(); a.ElementOutput(); Console.ReadLine(); } } } РЕЗУЛЬТАТ РОБОТИ ПРОГРАМИ Введiть межi масиву: Перша межа:-5 Друга межа:5 Введiть массив: a[-5]=-4,9 a[-4]=-3,6 a[-3]=-2,4 a[-2]=-1,5 a[-1]=0 a[0]=1,5 a[1]=2,6 a[2]=3,7 a[3]=4,5 a[4]=4,7 a[5]=4,9 -4,9 -3,6 -2,4 -1,5 0 1,5 2,6 3,7 4,5 4,7 4,9 Мiнiмальний елемент масиву:-4,9 Cума елементiв:15,5 0 -4,9 -3,6 -2,4 -1,5 1,5 2,6 3,7 4,5 4,7 4,9 Введiть номер елемента для виведення: 5 a[5]=4,9
Антиботан аватар за замовчуванням

16.03.2013 15:03-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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