Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Пример 5.2. Дана целочисленная матрица A(N, N). Определить, имеются ли среди её




Элементов, лежащих ниже главной диагонали, отрицательные числа.

Система тестов

Номер теста Проверяемый Случай Данные Результат
N Массив А Otvet
  Имеются   1 -1 2 1 2 3 1 0 1 -1 2 -1 -2 1 0 1 ''Есть отрицательные числа''
  Не имеются   1 -1 2 1 0 1 2 1 1 "Нет отрицательных чисел"

Алгоритмический язык

алг Ниже диагонали (арг цел N, арг цел таб A[1:N, 1:N], рез лит Otvet)

нач цел i, j, лит Flag

Flag:="Нет"; i:=2

нц пока (i< =N) и (Flag="Нет") | цикл по строкам

j:=1

нц пока (j<i) и (Flag="Нет") | цикл по элементам строки

если A[i, j]<0 | условие прерывания циклов

то Flag:="Да"

иначе j:=j+1 | продвижение по строке

Все

Кц

i:=i+1 | переход на новую строку

Кц

если Flag="Да"

то Otvet:= "Есть отрицательные ниже диагонали"

иначе Otvet:= "Нет отрицательных ниже диагонали"

Все

Кон

Turbo Pascal

Program UnderDiagonal;

Uses Crt;

Type Mas = Array [1..10, 1..10] of Integer;

Var A: Mas;

N, i, j: Integer;

Flag: Boolean;

{-----------------------------------}

Procedure InputOutput(Var A: Mas); {описание процедуры } Блок-схема (фрагмент)

Begin {ввода-вывода данных}

ClrScr;

Write('Количество строк и столбцов - '); ReadLn(N);

For i:= 1 to N do

For j:= 1 to N do

begin Write('A[', i, ', ', j, ']=? ');

ReadLn(A[i, j]);

end; WriteLn;

WriteLn('Матрица:');

For i:= 1 to N do

begin

For j:= 1 to N do Write(A[i, j]: 5);

WriteLn;

end; WriteLn;

End; { of InputOutput }

{------------------------------------}

Procedure Solution(Var A: Mas); {описание процедуры поиска решения}

Begin

i:= 2; Flag:= FALSE;

While (i<=N) and not Flag do

begin

j:=1;

While (j<i) and not Flag do

If (A[i, j]<0)

then Flag:=TRUE

else j:=j+1;

i:=i+1;

end;

End; { of Solution }

{--------------------------------------------}

Procedure OutResult;

Begin

WriteLn('О т в е т:');

Write('Среди элементов, лежащих ниже главной диагонали, ');

If Flag then WriteLn('есть отрицательные.');

else WriteLn('нет отрицательных.');

ReadLn;

End; {of OutResult }

{--------------------------------------------}

BEGIN

InputOutput(A); {вызов процедуры ввода-вывода данных }

Solution(A); {вызов процедуры поиска решения задачи}

OutResult; {вызов процедуры вывода результата }

END.

Пример 5.3. Выяснить, есть ли в баскетбольных командах "Спартак" и "Зенит"






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных