informatica_lr_04 (Вариант 6 - ЛР №4 - Одномерные массивы)
Описание файла
Файл "informatica_lr_04" внутри архива находится в папке "Одномерные массивы, Вариант 6". Документ из архива "Вариант 6 - ЛР №4 - Одномерные массивы", который расположен в категории "". Всё это находится в предмете "информационные технологии" из 2 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "информационные технологии" в общих файлах.
Онлайн просмотр документа "informatica_lr_04"
Текст из документа "informatica_lr_04"
МИРЭА
Лабораторная работа № 4
Тема:
“Одномерные массивы”
Вариант 6
Кафедра РПУ
Выполнил ст.
гр. ВРУ-3-02
Проверил
Давлечин Д.И.
2003
Цель: Получить навыки работы с данными структурированного типа массива при обработке одномерных массивов.
Постановка задачи: Составить программу по обработке одномерного массива.
В целочисленном массиве А из N элементов (0<N<100; 0<A[i]<1000) определить минимальный и максимальный элементы. Вывести на экран в порядке возрастания все целые числа из полученного интервала, которые не входят в данный массив.
Чтобы упростить задачу были применены процедуры. Процедуры BOX и WIN отвечают за построение информационного окна и никак не сказываются на работе программы.
Так как вводить тысячу элементов довольно сложно, программа предлагает выбрать один из способов. Первый – генерация массива с помощью генератора случайных чисел, вторая – ввод элементов массива вручную. За это отвечают соответственно процедуры GenMas и GenVvd.
Спецификация. В программе используется процедура CRT с функциями CLRSCR (очистка экрана) и TEXTCOLOR (задание цвета), а так же три собственные, которые описаны выше.
Переменные:
X; Y – указывают положение курсора в процедуре BOX.
I; OO – операторы цикла со счетчиком.
N – указывает размер массива.
LL – указывает количество элементов в массиве в процедуре GenMas.
K; O – определяют порядковые номера наименьшего и наибольшего элементов в цикле соответственно.
MIN; MAX – значение наименьшего и наибольшего элементов.
PP – определяет запуск процедур GenMas и GenVvd.
TT – вспомогательная переменная для сравнения чисел в массиве и их отсеивания.
Диалог программы:
Начало программы
[ 1] сгенерировать массив [2] ввести массив
Введите размер массива
Введите максимальный Введите элементы
элемент массива массива.
Текст программы:
Program LABA_4_6;
uses crt;
Var
I, K, N, O, MIN, MAX, oo, tt, LL, pp : INTEGER;
MAS : ARRAY[1..100] OF INTEGER;
Procedure BOX;
var
x,y : integer;
begin
TextColor(0);
x :=5;y :=3;
GotoXY(x,y);
write(#177);
for x := 6 to 76 do
begin
GotoXY(x,y);
Write(#177);
end;
for y := 4 to 21 do
begin
GotoXY(x,y);
Write(#177);
end;
for x := 75 downto 5 do
begin
GotoXY(x,y);
Write(#177);
end;
for y :=20 downto 4 do
begin
GotoXY(x,y);
Write(#177);
end;
end;
Procedure Win;
begin
TextBackGround(195);
ClrScr;
Box;
Window(6,4,75,20);
TextBackGround(7);
ClrScr;
{TextColor(12);}
end;
Procedure GenMas;
Begin
clrscr;
Randomize;
Write('Vvedite razmer massiva, ne bolee 100', ' ');
Readln(N);
Write('Vvedite maximal''noe znachenie elementov massiva ne bolee 1000', ' ');
ReadLn(LL);
LL := LL + 1;
FOR I:= 1 TO N DO
BEGIN
MAS[I] := Random(LL);
WRITE(MAS[I]:5);
end;
WriteLn;
writeLn( '***************************************************************' );
ReadLn;
END;
Procedure GenVvd;
BEGIN
Write('Vvedite razmer massiva, ne bolee 100, N = ');
Readln(n);
Writeln('Vvedite elementy massiva, velichina kazhdogo ne bolee 1000');
For I:= 1 to N do
Read(MAS[I]);
WriteLn;
writeLn( '**************************************************************' );
ReadLn;
END;
BEGIN
BOX;
WIN;
pp:=0;
textcolor(1);
Write('[1] ');
Textcolor(0);
WriteLn('Sgenerirovat'' massiv');
textcolor(1);
Write('[2] ');
Textcolor(0);
WriteLn('Vvesti massiv');
Textcolor(1);
Writeln('[ ]');
GotoXY(2,3);
Readln (pp);
TextColor(0);
If pp = 1 then
GenMas
else
if pp = 2 then
GenVvd;
MIN := 1000;
MAX := 0;
For I := 1 to N do
BEGIN
If MAS[I] < MIN then
begin
MIN := MAS[I];
K := I;
end;
If MAS[I] >= MAX then
begin
MAX := MAS[I];
O := I;
end;
END;
WRITELN('Minimal''nyj element ' ,K, ', ego znahcenie ',MIN);
WRITELN('Maximal''hyj element ' ,O, ', ego znahcenie ',MAX);
WriteLn( '******************************************************************' );
For I:= MIN to MAX do
Begin
For oo:= 1 to N do
If MAS[oo] <> I then
begin
tt := tt + 1;
If tt = N then
Write(I:5);
end;
tt:= 0;
end;
readln;
END.
Результат работы программы:
Работа программы соответствует заданию.