
- •1.Этапы решения задач с использованием комп.
- •2.Способы описания алгоритмов
- •3.Понятие алгоритм,Типы алгоритмов
- •4. Блок схемы алгоритмов. Гост.
- •6.Алгоритм ветвления(пример)
- •7.Алгоритм цикла с предусловием (пример)
- •8.Алгоритм цикла с постусловием(пример)
- •9.Алгоритм цикла с параметром(пример)
- •10.Алгоритм итерационного цикла(пример)
- •11.Сложные(вложенный )циклы (пример)
- •12.Алгоритм ввода и вывода одномерного массива чисел(пример)
- •13.Алгоритм нахождения суммы и произведения чисел одномерного массива
- •14.Алгоритм нахождения max значения в одномерном массиве(пример)
- •15.Алгоритм нахождения min значения в одномерном массиве(пример)
- •16.Алгоритм нахождения количества отрицательных элементов в одномерном массиве(пример)
- •17.Алгоритм сортировки элементов одномерного массива(пример)
- •18.Алгоритм ввода и вывода элементов двумерного массива(пример)
- •19.Алгоритм нахождения сумм значений матриц по строкам и столбцам(пример)
- •20.Алгоритм нахождения max значения в двумерном массиве(пример)
- •21.Алгоритм нахождения суммы элементов матрицы на главной диагонали(пример)
- •22.Алгоритм нахождения суммы элементов матрицы на побочной диагонали(пример)
- •23.Язык Паскаль.Типы данных.Встроенные функции
- •24.Арифметические выражения в языке Паскаль.Приоритеты операций(пример записи ариф. Выражения)
- •25. Логические операции.Операции отношений.Приоритеты операций(пример записи логического выражения)
- •26.Оператор присваивания в языке Паскаль(пример)
- •27.Оператор ввода в языке Паскаль (read,readln)
- •28.Условный оператор if(полная и сокращенная форма записи)
- •29.Оператор выбора case (общая форма записи)
- •30.Оператор цикла с предусловием (while………)
- •31.Оператор цикла с постусловием (repeat……..)
- •32.Оператор цикла с параметром(for…….)
- •33.Операторы вывода информации (write,writeln….)
- •34.Составные операторы в языке Паскаль
- •35.Линейные программы (пример)
- •36.Разветвляющиеся программы с использованием оператора if(пример)
- •37.Разветвляющиеся программы с использованием оператора case(пример)
- •38.Циклические программы,содержащие циклы с предусловием (пример)
- •39.Циклические программы,содержащие циклы с постусловием(пример)
- •40.Циклические программы,содержашие циклы с параметром(пример)
- •41.Программа ввода и вывода значений одномерного массива(пример)
- •42. Программа ввода и вывода значений двумерного массива(пример)
- •1.Этапы решения задач с использованием комп.
- •2.Способы описания алгоритмов
- •3.Понятие алгоритм,Типы алгоритмов
14.Алгоритм нахождения max значения в одномерном массиве(пример)
Program primer6;
var
max:real;
i,imax:integer;
z:array[1..10] of real;
begin
writeln(‘введите значение эл-тов массиваz (10 эл-тов)’)
for i:=1 to 10 do readln(z[i]);
max:=z[1];
for i=2 to 10 do if z[i]>max then
begin
max:=z[i];
imax:=i end;
writeln(‘индекс максимального эл-та=’, imax:2)
writeln(‘значение максимального элемента=’, max:5:2)
end.
max:=a[1]; { Поиск }
for i:=2 to 10 do { максимального элемента }
if a[i]>max then max:=a[i];
15.Алгоритм нахождения min значения в одномерном массиве(пример)
Program primer6;
var
min:real;
i,imin:integer;
z:array[1..10] of real;
begin
writeln(‘введите значение эл-тов массиваz (10 эл-тов)’)
for i:=1 to 10 do readln(z[i]);
min:=z[1];
for i=2 to 10 do if z[i]>min then
begin
min:=z[i];
imin:=i end;
writeln(‘индекс минимального эл-та=’, imin:2)
writeln(‘значение минимального элемента=’, min:5:2)
end.
min:=a[1]; { Поиск }
for i:=2 to 10 do { минимального элемента }
if a[i]<min then min:=a[i];
16.Алгоритм нахождения количества отрицательных элементов в одномерном массиве(пример)
17.Алгоритм сортировки элементов одномерного массива(пример)
Один из наиболее распространенных процессов обработки данных —сортировка массива.
Сортировка — это размещение объектов в определенномпорядке. Числа могут размещаться по убыванию или по возрастанию.Известно несколько алгоритмов сортировки.Рассмотрим только
один из них— метод сортировки обменом.Итак, рассмотрим задачу о размещении чисел из таблицы:50 | 40 | 10 | 20 |…| 30 | 7 |в порядке неубывания.Сортировку обменом называют еще методом пузырька. Суть метода состоит в том, что последовательно сравниваются пары соседних элементов массива. Если первый элемент пары оказался больше второго, то они меняются местами и на второе место (как пузырек) «всплывает» больший из двух элементов:
40 | 50 | 10 | 20 |…| 30 | 7 |
Затем выбирается пара, состоящая из 2-го и 3-его элементов массива,сравнение и перестановка повторяются, и на 3-е место всплывает больший элемент из трех. Сравнение с перестановкой повторяются, пока не будет достигнут конец массива, в результате чего caмый большой элемент массива «всплывает» и занимает крайнее правое место:
40 | 10 | 20 | 30 |…| 7 | 50 |19
Такой проход от начала кконцу массива составляет один шагпроцесса сортировки. В результате
вьполнения прохода самый большой элемент оказался самым правым элементом массива.
Следующим шагом алгоритмаявляется проход от первого до (n-1)-го элемента. Его результатом
будет размещение наибольшего изоставшихся элементов на предпо-следнем месте и т. д.До сих пор речь шла о расположении чисел в порядке их неубывания. А как сделать, чтобы сортировка обеспечивала убываниеили не возрастание? Нужно вместо условия А [ j ] > A [j+1] записать
прямо противоположное ему условие A[j] < A[j+1].Заметим, что возможность появления двух одинаковых чисел не создает каких-либо проблем. В момент сравнения двух одинаковых элементов оба остаются на прежних местах, но затем, постепенно перемещаясь по ряду, они
займут свои окончательные положения, оставаясь в соседних позицияхю.
program sort;
const n=7;
a:array[1..n] of real=(50,40,10,20,30,5,7);
var i,j,k:integer; r:real;
begin
for i:=1 to n-1 do {на каждом шаге пузырек "плывет" от
1-ой позиции в (n-i+1)-ю позицию}
for j:=1 to n-i do
if a[j]>a[j+l] then {Сравниваются пары элементов}
begin
r:=a[j+1]; {обмен}
a[j+1]:=a[j];
a[j]:=r;
end;
{Вывод результата сортировки}
for k:=1 to n do Write(a[k]:9:4,'|'); end.