Лабораторная
работа №3 (часть 1 “Работа с одномерными
массивами”) Стр.
Часть 1 “Работа с одномерными массивами” Пример выполнения задания
1). Задание
В массиве найти максимальный элемент и его местоположение.
2). Граф-схема алгоритма.
Даны 2 способа графического представления алгоритма (см. рис.3.1).
3). Программа
Вариант 1.
PROGRAM Ex1;
{Массив X заполняется путем ввода данных с клавиатуры из предопределенного файла Input; используемые переменные: Xmax – значение максимального элемента, Nmax – индекс максимального элемента}
Uses Crt;
Const N=10;
Type Mas=array[1..N] of real;
Var X:Mas;
i, Nmax: integer;
Xmax:real;
BEGIN
{Заполнение массива}
For i:=1 to N do
begin
Write(‘Вводите элемент ’,‘X[’,i,‘]=’);
Readln(X[i]);
end;
Write();
{Поиск максимального элемента}
Xmax:=X[1];
Nmax:=1;
For i:=2 to N do
If X[i]>Xmax then
begin
Xmax:=X[i];
Nmax:=I
end;
{Вывод результатов}
ClrScr;
Writeln(‘Исходный массив:’);
For i:=1 to N do
Write (X[i]:6:2);
Writeln;
Writeln(‘Максимальный элемент массива=’, Xmax);
Writeln(‘Индекс максимального элемента массива=’, Nmax)
END.
Вариант 2.
PROGRAM Ex2;
{Массив X заполняется с использованием генератора равномерно-распределенных чисел; используемые переменные: Xmax – значение максимального элемента, Nmax – индекс максимального элемента}
Uses Crt;
Const N=10;
Type Mas=array[1..N] of real;
Var X:Mas;
i, Nmax: integer;
Xmax:real;
BEGIN
{Заполнение массива}
Randomize;
For i:=1 to N do
X[i]:=Random(1000)/100 – 5;
{Поиск максимального элемента}
Xmax:=X[1];
Nmax:=1;
For i:=2 to N do
If X[i]>Xmax then
begin
Xmax:=X[i];
Nmax:=I
end;
{Вывод результатов}
ClrScr;
Writeln(‘Исходный массив:’);
For i:=1 to N do
Write (X[i]:6:2);
Writeln;
Writeln(‘Максимальный элемент массива=’, Xmax);
Writeln(‘Индекс максимального элемента массива=’, Nmax)
END.
Вариант 3.
PROGRAM Ex3;
{Массив X заполняется с использованием типизированной константы-массив; используемые переменные: Nmax – индекс максимального элемента}
Uses Crt;
Const N=10;
Соnst X:array[1..N] of real = (3.5, 5.5, 3.5, 64.39, 4.5, 7.34, 6.45, 7.67, 4.67, 12.34);
Var i, Nmax: integer;
BEGIN
{Поиск максимального элемента}
Nmax:=1;
For i:=2 to N do
If X[i]>X[Nmax] then Nmax:=i;
{Вывод результатов}
ClrScr;
Writeln(‘Исходный массив:’);
For i:=1 to N do
Write (X[i]:6:2);
Writeln;
Writeln(‘Максимальный элемент массива =’, X[Nmax]);
Writeln(‘Индекс максимального элемента массива =’, Nmax)
END.