Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Рудник_Э-11_Лабораторная_работа_9

.docx
Скачиваний:
9
Добавлен:
15.04.2015
Размер:
148.1 Кб
Скачать

Учреждение образования

Гомельский государственный технический университет имени П.О. Сухого

Кафедра «Информатика»

Лабораторная работа № 9

по дисциплине: “Информатика”

Обработка одномерных массивов

Дата сдачи отчета Выполнил студент группы Э-11

Рудник Роман

Допуск к защите

Принял преподаватель

Дата защиты Богданова Н.С.

Цель работы: Получить навыки разработки и реализации типовых алгоритмов обработки одномерных массивов на языке Delphi. Научиться формировать новые массивы из заданных массивов в соответствии с некоторым условием.

Условие задачи:

В задаче заданы два массива чисел произвольной длины. Требуется сформировать новый массив по алгоритму, указанному в задании. Программа должна:

  • вводить размерности и элементы исходных массивов;

  • выполнять действия в соответствии с условием задачи;

  • выводить: исходные массивы, сформированный массив, если он был сформирован. В противном случае – соответствующее сообщение.

Исходные данные для отладки программы выбрать самостоятельно. Для ввода и вывода массива использовать визуальный компонент StringGrid.

Вариант 19

Задача:

Сформировать массив из элементов, больших 1, первого массива и элементов второго массива, принадлежащих промежутку (0;1).

Таблица используемых переменных:

Имя переменной в задаче

Имя переменной в программе

Тип переменной

Комментарий

-

a, b

Real

Заданные массивы, исходные данные

-

i

Byte

Номера элементов в массивах x, y, вспомогательный промежуточный результат

-

k

Byte

Номер элемента в массиве z, вспомогательный промежуточный результат

-

n

Byte

Количество элементов в массиве a, исходные данные

-

m

Byte

Количество элементов в массиве b, исходные данные

-

z

Real

Новый массив, результат

Графическая схема алгоритма:

Тесты:

Массив A 0,1,2,3 n= 4

Массив B 0,5;0,6;2;3 m=4

Полученный массив С 2;3;0,5;0,6

Массив A 0,0,0 n=3

Массив B 0,0,0 m=3

Полученный массив С массив не сформирован

“В массивах нет элементов удовлетворяющих условию”

Массив A 1,2,3,4 n=4

Массив B 0,0,0 m=3

Полученный массив С 2,3,4

Распечатка текста процедуры

procedure TForm1.Button1Click(Sender: TObject);

var

a,b,z:array [1..100] of real;

i,k,n,m:byte;

begin

n:=StrToInt(edit1.text);

for i:=1 to n do

a[i]:=StrTofloat(stringGrid1.cells[i-1,0]);

StringGrid1.colcount:=n;

m:=StrToint(Edit2.text);

For i:=1 to m do

b[i]:=StrTofloat(StringGrid2.cells[i-1,0]);

StringGrid1.colcount:=m;

k:=0;

for i:=1 to n do

if a[i]>1

then

begin

k:=k+1;

z[k]:=a[i];

end;

for i:=1 to m do

if (b[i]<1) and (b[i]>0)

then

begin

k:=k+1;

z[k]:=b[i];

end;

If k=0

then ShowMessage('В массивах нет элементов удовлетворяющих условию')

else

With StringGrid3 do

begin

ColCount:=k;

Visible:=True;

For k:=1 to k do

Cells[k-1,0]:=FloatToStr(z[k]);

end;

end;

Распечатка формы с результатами работы

Вывод: Получил навыки разработки и реализации типовых алгоритмов обработки одномерных массивов на языке Delphi. Научился формировать новые массивы из заданных массивов в соответствии с некоторым условием.