Материал: Алгоритмический язык Turbo Pascal 7.0. Юршин Е.Д., Рог А.И

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Задача 6.

Составить программу, с помощью которой необходимо элементы главной диагонали оформить в виде одномерного массива и этот массив вывести на печать.

Program_tub;

Var a:array[1..5, 1..5]_of_integer; b:array[1..5]_of_integer;

Begin

i:=1_to_5_do j:=1_to_5_do_begin

writeln (´введите a[´, i:2, ´, ´, j:2, ´] ´); readln (a[i, j]);

end; for_i:=1_to_5_do for_j:=1_to_5_do

if_i=j then b[i]:=а[i, j]); for_i:=1_to_5_do writeln (b[i]);

End.

Задача 7.

Составить программу на обработку двумерной матрицы 5 5 по следующему алгоритму: вместо отрицательных элементов матрицы вставить нули, результат обработки вывести на экран дисплея в виде квадратной матрицы.

Program_matr;

Var a:array[1..5, 1..5]_of_integer; i, j:integer;

Begin

for_i:=1_to_5_do for_j:=1_to_5_do_begin

written (´введите a[´, i:2, ´, ´, j:2, ´] ´); readln (a[i, j]);

end;

S:=0 for_i:=1_to_5_do for_j:=1_to_5_do

if_а[i, j]<0_then_a[i, j]:=0; for_i:=1_to_5_do_begin for_:=1_to_5_do write (a[i, j]:3); Writeln;

End;

End.

Задача 8.

Составить программу для суммирования всех положительных элементов матрицы 5 5. Pogram_matr;

Var i,j:integer;

a:array[1..5,1..5]_of_integer; Begin

For_i:=1_to_5_do

For_j:=1_to_5_do Read(a[i,j]); For_i:=1_to_5_do For_j:=1_to_5_do If_a[i,j]<0_then_s:=s+a[i,j]; Write(s);

End.

Задача 9.

Составить программу для суммирования всех элементов матрицы, расположенных над главной диагональю матрицы.

Pogram_matr; Var s,i,j:integer;

a:array[1..5,1..5]_of_integer; Begin

For_i:=1_to_5_do

For_j:=1_to_5_do Read(a[i,j]); For_i:=1_to_5_do For_j:=1_to_5_do

If_i > j _then_s:=s+a[i,j]; Write(s);

End.

Задача 10.

Составить программу для обработки двумерного массива на предмет определения максимальной величины элемента массива.

Program_matr;

i, j, max:integer; a:array[1..5, 1..5]_of_integer;

Begin

for_i:=1_to_5_do for_j:=1_to_5_do read a[i, j]; max:=a[1, 1]; for_i:=1_to_5_do

for_j:=1_to_5_do

if_а[i, j]>max_then_max:=a[i, j]; Writeln(max);

End.

Задача 11.

Программная обработка символьных данных.

Выше (4.2.1.) было отмечено, что символьные данные можно сравнивать. Такое сравнение может быть осуществлено с помощью соответствующих операторов, используя в них символы сравнения:

<,<=,>,>=,=.

Для того, чтобы осуществлять сравнения данных типа Char, необходимо знать, что компьютер «знает», что

‗0‘<‘1‘<‘2‘<‘3‘….. <‘9‘

т.е. сравнение такое, как и у обычных цифр.

В то же время следует знать, что компьютер «знает» следующее соотношение:

‗a‘<‘b‘<‘<‘<…… <‘z‘.

т.е. сравнение символов осуществляет в зависимости от порядкового номера соответствующего символа в алфавите.

То же касается и заглавных букв латинского алфавита.

Заметим, что сравнивать, можно и символы из русского алфавита (как заглавных, так и прописных).

Учитывая изложенное можно привести программу, которая выводит на экран дисплея символы латинского алфавита от a до z.

Program alfavit; Var

Simv:Char; Begin

For_simv

:=‘a‘_to_‗z‘_do

Write(simv);

End.

ОПЕРАТОР ЦИКЛА WHILE-DO

Данный оператор называют оператором цикла с предусловием (с предпроверкой условия) и используется тогда, когда количество циклов заранее неизвестно, а задано некоторое условие его окончания (продолжения).

В общем виде такой оператор можно представить:

WHILE (условие) do (оператор)

Здесь:

WHILE (пока); DO (выполнить);

Условие – логическое, выражение (равенство или неравенство: больше, меньше или равно) после слова do должен стоять только один оператор, если по алгоритму их должно быть несколько, то их необходимо заключить в операторные скобки BEGIN - END.

Выполняя данный оператор ЭВМ проверяет условие после WHILE и если условие выполняется, то и выполняется оператор после do (группа операторов), если условие не выполняется, то и не выполняется оператор после слова do и цикл прекращается

Источник: https://studfile.net/preview/16565609/