PROGRAM LRS (INPUT, OUTPUT);
LABEL 10;
CONST N=20; M=10;
VAR I, J, NR,MR,K,KMAX: INTEGER;
A, B: ARRAY [1. . N, 1. .M] OF REAL;
BEGIN
WRITELN(' ВВЕДИТЕ ЗНАЧЕНИЕ NR, MR') ;
READ(NR, MR) ;
WRITELN (‘ ВВЕДИТЕ ЗНАЧЕНИЯ МАССИВА А' ) ;
FOR I:=l TO NR DO
FOR J:=l TO MR DO
READ(A[I, J]) ;
KMAX:=0;
FOR I:=1 TO NR DO
BEGIN
K:=0;
FOR J:=1 TO MR DO
IF A[I, J]>=0 THEN
BEGIN
K:=K+1;
B[I, J]:=A[I,J];
END
ELSE
BEGIN
B[I, J]:=-1;
GOTO 10
END;
10:
IF K>KMAX THEN KMAX:=K;
END;
FOR I:=1 TO NR DO
FOR J:=1 TO KMAX DO
IF B[I, J]>0 THEN WRITE (B[I, J])
ELSE WRITELN;
END.
а)
б)
Рисунок 5. Блок-схема программы.
Контрольные вопросы
1.Указать основные правила организации вложенных циклов,
2.Указать способы выхода из внутреннего цикла.
3.Сколько раз выполняются операторы К=0 и К=К +1 в программе примера?
4.Как организовать вывод матрицы в общепринятом виде?
5.Как организовать вывод нижней треугольной матрицы в общепринятом виде?
6.Как организовать ввод матрицы размером N X М элементов?
литература
1. Немлюгин С.А. TURBO PASCAL .- СПб.: Питер. 2002.-496 с.: ил.
2. -Вирт Н. Язык программирования ПАСКАЛЬ. Алгоритмы и организация решения экономических задач.- М.: Статистика, 1992.- Вып.З.- с.38-66.
3. Иенсен К., Вирт Н. Паскаль. Руководство для пользователя и описание языка: Пер с англ.- М.: Финансы и статистика, 1992.- 150с.
4. Вирт Н. Систематическое программирование. Введение: Пер. с англ.- М.: Мир, 1977.- 183 с.
5. Вирт Н. Алгоритмы + структуры данных = программы: Пер. с англ.- М.: Мир, 1985.- 406 с.
6. Грогоно П. Программирование на языке Паскаль: Пер. с англ.- М.: Мир, 1982.- 382 с.
7. Уилсон И.Р., Эддиман А.М. Практическое введение в ПАСКАЛЬ: Пер. с англ./Под ред. Л.Д.Райкова.- М.: Радио и связь, 1983.- 144 с.