Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OTVYeT.doc
Скачиваний:
27
Добавлен:
20.04.2019
Размер:
1.17 Mб
Скачать

62. Стандартные задачи (нахождение суммы, произведения, min,max). Сортировка одномерных массивов. Рассмотреть несколько способов.

1) Рассмотрим первую стандартную программу – нахождение суммы элементов массива.

Program summa;

Type t=array [1..50] of real;

Var x: t;

i, n: integer; s: real;

Begin

writeln (‘Введите количество элементов массива’);

readln ( n );

for i:=1 to n do begin

writeln (‘Введите ‘, i ,’элемент массива X’);

readln (x [ i ]);

end;

s:=0;

for i:=1 to n do begin

s:=s + x [ i ];

end;

writeln (‘Вывод массива’);

for i:=1 to n do begin

write (x [ i ]:8:2);

end;

writeln (‘ сумма элементов равна ’, s:8:2);

readln

End.

Составим блок – схему к этой программе

2) Рассмотрим вторую стандартную задачу – нахождение произведения элементов массива.

Program proizvedenie;

Type t=array [1..50] of real;

Var x: t;

i, n: integer; p: real;

Begin

writeln (‘Введите количество элементов массива’);

readln ( n );

for i:=1 to n do begin

writeln (‘Введите ‘, i ,’элемент массива X’);

readln (x [ i ]);

end;

p:=1;

for i:=1 to n do begin

p:=p * x [ i ];

end;

writeln (‘Вывод массива’);

for i:=1 to n do begin

write (x [ i ]:8:2);

end;

writeln (‘произведение элементов равно ’, p:8:2);

readln

End.

Составим блок-схему к этой задаче

  1. Рассмотрим третью стандартную задачу – нахождение наибольшего (наименьшего) элемента массива.

Program maxsimum;

Type t=array [1..50] of real;

Var x: t;

i, n: integer; max: real;

Begin

writeln (‘Введите количество элементов массива’);

readln ( n );

for i:=1 to n do begin

writeln (‘Введите ‘, i ,’элемент массива X’);

readln (x [ i ]);

end;

max:=x [ 1];

for i:=1 to n do begin

if x [ i ] >= max then max := x [ i ] ;

end;

writeln (‘Вывод массива’);

for i:=1 to n do begin

write (x [ i ]:8:2);

end;

writeln (‘ наибольший элемент массива ’, max:8:2);

readln

End.

Составим блок-схему к этой задаче.

Сортировка одномерных массивов

Сортировка – одна из наиболее распространенных операций обработки массивов данных. Сортировкой называется распределение элементов множества по группам в соответствии с определенными правилами.

Задача. Создадим программу, которая выводит на экран несортированный массив чисел, затем выполняет его сортировку по возрастанию и выводит на экран отсортированный массив.

1 Способ. Линейная сортировка.

Идея линейной сортировки по возрастанию заключается в том, чтобы последовательно просматривая весь массив, найти наименьший элемент и поместить его на первую позицию, обменяв его с элементом который ранее занимал первую позицию.

Решение. Введем в раздел описания следующие переменные I – для указания позиции первого элемента в рассматриваемой части массива; K – для указания позиции очередного сравниваемого с ним элемента; С – для временного хранения значения при обмене. Полный текст программы сортировки по возрастанию. (Вложенные циклы – если телом цикла является циклическая структура, то такие циклы называются вложенными).

Program poriadok;

Type t=array [1..50] of real;

Var x: t;

i, n, k: integer; c: real;

Begin

writeln (‘Введите количество элементов массива’);

readln ( n );

for i:=1 to n do begin

writeln (‘Введите ‘, i ,’элемент массива X’);

readln (x [ i ]); end;

for i:=1 to n-1 do

for k:=i+1 to n do

if x[ i ] > x[ k ] then begin

c:= x[ i ];

x[ i ]:= x[ k ];

x[ k ]:= c;

end;

writeln (‘Вывод нового массива’);

for i:=1 to n do begin

write (x [ i ]:8:2); end;

readln

End.

Составим блок-схему к задаче.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]