инфа_4лаб
.doc
МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра биотехнических систем
отчет
по лабораторной работе 4
по дисциплине «Информатика»
Тема: Создание программы «Работа с массивом»
Студентка гр. 9502 |
|
Позняк В. Ю. |
Преподаватель |
|
Бельтюков М. В. |
Санкт-Петербург
2019
Цель работы.
Необходимо сгенерировать матрицу случайных чисел размерностью 5 на 5 и в соответствии с имеющимся шаблоном сформировать итоговый массив по следующему правилу: если в шаблоне позиция зачернена, то в этой позиции в итоговую матрицу записывается число из той же позиции из исходной матрицы, иначе записывается 0.
Блок-схема программы.
Начало
A
A
A
Randomize;
Цикл
I I:=1
{Пронумеруем
строки и столбцы двух массивов} SGIshod.Cells[0,I]
:= IntToStr(I);
SGIshod.Cells[I,0]
:= IntToStr(I);
SGItog.Cells[0,I]
:= IntToStr(I);
SGItog.Cells[I,0]
:= IntToStr(I);
Действие
Цикл
I I:=5
Цикл
I I:=1
A
К
стр.
3
А
А
Из
стр.
2
Цикл
J J:=1
MSh[I,J] := 0;
MIt[I,J] := 0;
{Обнуляем
итоговый массив и массив шаблона}
A
Цикл
J J:=5
Цикл
I I:=5
Цикл
m m:=1
J := 2+m;
Цикл
I I:=1
{Заполняем
массив
шаблона}
MSh[I,J] := 1;
К
стр.
4
В
В
Из
стр.
3
Цикл
I I:=m
Цикл
m m:=3
A
К
стр.
3
Цикл
I I:=1
К
стр.
3
Цикл
J J:=1
{Заполняем
итоговый массив и отображаем его}
MIs[I,J]
:= Random(9)+1; SGIshod.Cells[I,J]
:= IntToStr(MIs[I,J]);
Действие
Цикл
J J:=5
Цикл
I I:=5
Цикл
I
I:=1
К
стр.
5
C
C
Из
стр.
4
Цикл
J J:=1
MSh[I,J] = 1
Да
MIt[I,J] := MIs[I,J];
Нет
{Заполняем по
шаблону итоговый массив и отображаем
его} SGItog.Cells[I,J]
:= IntToStr(MIt[I,J]);
Действие
Цикл
J J:=5
Цикл
I
I:=5
k := 0;
Цикл
I I:=1
Цикл
J J:=1
К
стр.
6
D
D
Из
стр.
5
Inc(k);
Mas[k] := MIs[J,I];
{Преобразование
двумерного массива в одномерный}
Цикл
J
J:=5
Цикл
I
I:=5
LSort.Caption :='';
Цикл
I I:=1
{Вывод
неотсортированного массива} LSort.Caption
:= LSort.Caption+ IntToStr(Mas[I])+'
';
Действие
Цикл
I I:=25
Цикл
m m:=1
К
стр.
7
E
E
Из
стр.
6
Цикл
I I:=1
mas[i] > mas[i+1]
Нет
Да
t := mas[i]; mas[i]
:= mas[i+1]; mas[i+1] := t;
{Сортировка
массива}
Цикл
I
I:=25-m
Цикл
m
m:=25-1
ESort.Caption :='';
Цикл
I I:=1
К
стр.
8
F
F
Из
стр.
7
{Вывод отсортированного
массива} ESort.Caption
:= ESort.Caption+ IntToStr(Mas[I])+'
';
Действие
Цикл
I
I:=25
Конец
Выводы.
При создании демонстрационной программы были получены навыки работы со следующими командами: Randomize, Random и визуальными компонентами: элемент фигура StringGrid;