Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Максимова алгоритмизация.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.17 Mб
Скачать

1 Способ

Program Problem12;

uses WinCrt;

const

n = 20;

type

t = array[1..n] of integer;

var

a : t;

max : integer;

{----------------------------------------------------------------------------------------}

Procedure create(n : integer; var a : t);

var

i : integer;

begin

randomize;

writeln('Заданный массив целых чисел');

for i := 1 to n do

begin

a[i] := random(201) - 101;

write(a[i], ' ')

end;

writeln

end;

{----------------------------------------------------------------------------------------}

Procedure maximum(n : integer; a : t; var max : integer);

var

i : integer;

begin

max := a[1];

for i := 2 to n do if max < a[i] then max := a[i]

end;

{----------------------------------------------------------------------------------------}

begin

create(n, a);

maximum(n, a, max);

writeln('Наибольший элемент массива ', max)

end.

2 Способ

Program Problem12a; {Рекурсия}

uses WinCrt;

const

n = 20;

type

t = array[1..n] of integer;

var

a : t;

max : integer;

{----------------------------------------------------------------------------------------}

Procedure create(n : integer; var a : t);

var

i : integer;

begin

randomize;

writeln('Заданный массив целых чисел');

for i := 1 to n do

begin

a[i] := random(201) - 101;

write(a[i], ' ')

end;

writeln

end;

{----------------------------------------------------------------------------------------}

Procedure maximum(n : integer; var max : integer);

label 1;

begin

if n = 0 then goto 1

else if a[n] > max then max := a[n];

maximum(n - 1, max);

1: end;

{----------------------------------------------------------------------------------------}

begin

create(n, a);

maximum(n, max);

writeln('Наибольший элемент массива ', max)

end.

Задача 13. Процедура упорядочивания массива выбором.

Решение

Procedure choice(n : integer);

var

i, j, k, p : integer;

begin

for i := 1 to n do

begin

k := i;

for j := i + 1 to n do if x[j] < x[k] then k := j;

p := x[i]; x[i] := x[k]; x[k] := p

end;

writeln('Упорядоченный массив');

for i := 1 to n do write(x[i], ' '); writeln

end;

Задача 14. Вычислить значение многочлена используя формулу Горнера. Коэффициенты полинома удобно представить массивом (2; 0; -1; 4; 0; 0; -5; 6; 1). Порядок полинома n равен 8.

Решение