Рудник_Э-11_Лабораторная_работа_9
.docxУчреждение образования
Гомельский государственный технический университет имени П.О. Сухого
Кафедра «Информатика»
Лабораторная работа № 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. Научился формировать новые массивы из заданных массивов в соответствии с некоторым условием.