Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
З В І Т
до лабораторної роботи №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. Результати роботи програми
/
/
/
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!