Переписать программу с процедурами и функциями - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. program dd;
  2. var
  3. a:array[1..1000] of integer;
  4. q,n,k,i,r:integer;
  5. begin
  6. read(r,n);
  7. if r=0 then
  8. begin
  9. for i:=1 to n do
  10. read(a[i]);
  11. end
  12. else
  13. if r=1 then
  14. begin
  15. for i:=1 to n do
  16. begin
  17. a[i]:=random(500)-500;
  18. writeln(a[i],' ');
  19. end;
  20. end;
  21. for i:=1 to n-2 do
  22. begin
  23. if ((a[i]>0) and (a[i+1]>0) and (a[i+2]>0)) or
  24. ((a[i]<0) and (a[i+1]<0) and (a[i+2]<0))
  25. then
  26. begin
  27. q:=1;
  28. break;
  29. end
  30. else
  31. begin
  32. q:=0;
  33. break;
  34. end;
  35. end;
  36. if q=1 then writeln('yes') else writeln('no');
  37. readln;
  38. readln;
  39. end.

Решение задачи: «Переписать программу с процедурами и функциями»

textual
Листинг программы
  1. var
  2.   a: array[1..1000] of integer;
  3.   q, n, k, i, r: integer;
  4.  
  5. begin
  6.   read(r, n);
  7.  
  8.   if r = 0 then
  9.   begin
  10.       for i := 1 to n do
  11.       read(a[i]);
  12.   end
  13.   else
  14.   if r = 1 then
  15.  
  16.   begin
  17.     for i := 1 to n do
  18.     begin
  19.       a[i] := random(500) - 500;
  20.       writeln(a[i], ' ');
  21.     end;
  22.   end;
  23.   for i := 1 to n - 2 do
  24.   begin
  25.     if ((a[i] > 0) and (a[i + 1] > 0) and (a[i + 2] > 0)) or
  26.     ((a[i] < 0) and (a[i + 1] < 0) and (a[i + 2] < 0))
  27.     then
  28.     begin
  29.       q := 1;
  30.       break;
  31.     end
  32.     else
  33.     begin
  34.       q := 0;
  35.       break;
  36.     end;
  37.   end;
  38.   if q = 1 then writeln('yes') else writeln('no');
  39.   end.

Объяснение кода листинга программы

  1. Ввод начального значения переменной r и числа n
  2. Если r равно 0, то считывание n элементов в массив a
  3. Если r равно 1, то заполнение массива a случайными числами от -500 до 500 и их вывод
  4. Если r не равно 0 и r не равно 1, то итерационный цикл по массиву a от 1 до n-2
  5. Проверка условия для определения наличия требуемого паттерна в массиве a
  6. Если условие выполняется, то присвоение переменной q значения 1 и выход из цикла
  7. Если условие не выполняется, то присвоение переменной q значения 0 и выход из цикла
  8. Вывод значения переменной q в консоль
  9. Если q равно 1, то вывод строки yes
  10. Если q равно 0, то вывод строки no

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы