Главная

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

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

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

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

ТОР 5 статей:

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

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

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

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

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

КАТЕГОРИИ:






Глава 5. Алгоритмы, реализуемые с помощью вложенных циклов типа ПОКА




Схема вложенных циклов типа пока:

Пример 5.1. Определить, имеется ли в заданном целочисленном массиве A(N) хотя

Бы одна пара совпадающих по значению чисел.

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

Номер теста Проверяемый случай Данные Результат
N Массив А Otvet
  Имеется Не имеется   (1,3,2,3) (1,2,3) "Есть совпадающие числа" "Нет совпадающих чисел"

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

алг Равенство(арг цел N, арг цел таб A[1:N], рез лит Otvet)

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

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

нц пока (i<=N–1) и (Flag="Нет") | цикл по первому числу из пары

j:=i+1

нц пока (j<=N) и (Flag="Нет") | цикл по второму числу из пары

если A[i]=A[j] | проверка равенства чисел

то Flag:="Да"

иначе j:=j+1

Все

Кц

i:=i+1

Кц

если Flag="Да"

то Otvet:=" Есть совпадающие числа "

иначе Otvet:=" Нет совпадающих чисел "

Все

Кон

Turbo Pascal

Program Equal;

Uses Crt;

Type Mas = Array [1..20] of Integer;

Var A: Mas;

i, j, N: Integer;

Flag: Boolean;

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

Procedure InputOutput; {Описание процедуры ввода-вывода данных}

Begin ClrScr;

Write('N = '); ReadLn(N); Блок-схема (фрагмент)

For i:= 1 to N do

begin

Write('A[', i, '] = ');

ReadLn(A[i]);

end;

WriteLn; WriteLn('Массив А');

For i:= 1 to N do Write(A[i]: 4);

WriteLn; WriteLn;

End;

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

Procedure Search(Var A:Mas; Var Flag:Boolean); {Описание процедуры}

Begin {поиска решения}

i:=1; Flag:= FALSE;

While (i<=N-1) and not Flag do {цикл по первому числу из пары}

begin

j:=i+1;

While (j<=N) and not Flag do {цикл по второму числу из пары}

If A[i]=A[j] then Flag:=TRUE else j:=j+1;

i:=i+1;

end;

End;

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

BEGIN

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

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

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

If Flag then WriteLn('Есть совпадающие числа.')

else WriteLn('Нет совпадающих чисел.');

ReadLn;

END.






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

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