Иллюстрированный самоучитель по Turbo Pascal для начинающих

Решения (задачи 165-188)

Задача 165

{ Бинарный поиск в упорядоченном массиве }
label
bye;
const
НВ=10;
var
а:array[1..10] of integer; { массив целых }
obr:integer; { образец для поиска }
ok: boolean; { TRUE – массив упорядочен }
sred,verh,niz:integer; { номера среднего, верхнего
и нижнего эл-тов массива}
found:boolean;{ признак совпадения с образцом }
n:integer; { счетчик сравнений с образцом } i:integer;
begin
{ ввод массива }
writeln('*** Бинарный поиск в упорядоченном массиве ***');
write('Введите массив (в одной строке ',НВ);
writeln (' целых чисел) и нажмите Enter'); write(' › '); for i: = l to HB-1 do
read(a[i]); readln(a[HB]);
{ проверим, является ли массив упорядоченным ('Средний рост: ',sred:6:1,' см');
writeln ГУ ',m,'-x учеников рост превышает ', 'средний.');
end
else writeln('Нет данных для обработки.');
readln; end.

Задача 167

{ Вычисление суммы элементов массива (по столбцам) const
ROW=3; { кол-во строк } COL=5; { кол-во столбцов } var
a: array[1..ROW,1..COL] of integer; { массив }
s: array[1..COL] of integer; { сумма элементов } i,j: integer; begin
writeln('Введите массив.');
writeln('После ввода элементов каждой строки,',
COL,' целых чисел, нажимайте Enter'); for i: = l to ROW do { ROW строк } begin
write(' › ');
for j: = l to COL-1 do
read(a[i,j]); readln(a[i,COL]); end;
writeln('Введенный массив'); for i: = l to ROW do begin
for j: = 1 to COL-1 do
write(a[i,j]:4); writeln(a[i,COL]:4); end; { обработка }
for j: = 1 to COL do { для каждого столбца }
for i: = l to ROW do { суммируем эл-ты одного столбца }
writeln('---------
for i: = l to COL do
write(s[i]:4); writeln;
readln;
end.

Задача 170

{ вычисление определителя матрицы второго порядка } var
a: array[1..2.1..2] of real; det: real; { определитель (детерминант) }
i,j: integer; { индексы массива } begin
writeln('Введите матрицу второго порядка.');
writeln('После ввода элементов строки нажимайте Enter'); for i: = l to 2 do begin
write(' › '); read(a[i,1]); readln(a[i,2]); end; det: = a[l,l]*a[2.2] – a[l,2]*a[2.1];
writeln('Определитель матрицы '); for i: = l to 2 do begin
for j: = 1 to 2 do
write(a[i,j]:6:2); writeln; end;
writeln('равен ',det:6:2);
readln; end.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.