Перевод кода C# в Паскаль - Turbo Pascal

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

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

Здравствуйте! Помогите, пожалуйста, перевести этот код в Паскаль.
Листинг программы
  1. double[] array = new double[20];
  2. Console.WriteLine("Введите массив");
  3. for (int a = 0; a<20;a++)
  4. {
  5. array[a] = Convert.ToDouble(Console.ReadLine());
  6. }
  7. int countOfChanges = 0;
  8. string currentSign;
  9. if (array[0] >= 0)
  10. {
  11. currentSign = "+";
  12. }
  13. else
  14. {
  15. currentSign = "+";
  16. }
  17. for (int b = 1; b<=19;b++)
  18. {
  19. if (array[b] < 0 && currentSign == "+")
  20. {
  21. countOfChanges +=1;
  22. currentSign = "-";
  23. }
  24. else if (array[b] >= 0 && currentSign == "-")
  25. {
  26. countOfChanges +=1;
  27. currentSign = "+";
  28. }
  29. }
  30. Console.WriteLine("Введенный массив");
  31. for(int c = 0; c < 20; c++);
  32. {
  33. Console.Write(array[c] + " ");
  34. }
  35. Console.WriteLine();
  36. Console.WriteLine("Количество смен знака = " + countOfChanges);
  37. Console.ReadKey();
  38. }

Решение задачи: «Перевод кода C# в Паскаль»

textual
Листинг программы
  1. var
  2.   a:array[0..19] of real;
  3.   i,j,k:integer;
  4. function Z(t:real):integer;
  5. begin
  6.   if t<0 then Z:=-1 else Z:=1;
  7. end;
  8. begin
  9.   writeln('Enter Array:');
  10.   for i:=0 to 19 do read(a[i]);
  11.   j:=0;k:=0;
  12.   for i:=1 to 19 do
  13.     if Z(a[i])<>Z(a[k]) then begin
  14.       j:=j+1;
  15.       k:=i;
  16.     end;
  17.   writeln('original array:');
  18.   for i:=0 to 19 do writeln(a[i]:0:4);
  19.   writeln('Number of sign changes:',j);
  20.   readln;
  21. end.

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

  1. Создаётся переменная a типа array[0..19] of real, которая представляет собой массив из 20 элементов типа real.
  2. Создаются три переменные i, j и k типа integer, которые будут использоваться для отслеживания индексов элементов массива.
  3. Определяется функция Z(t:real), которая принимает один аргумент типа real и возвращает одно значение типа integer. Внутри функции происходит проверка: если значение аргумента меньше нуля, то возвращается -1, в противном случае возвращается 1.
  4. Выводится сообщение Enter Array:.
  5. С помощью цикла for считываются значения массива a[i] от 0 до 19.
  6. Инициализируются переменные j и k равными 0.
  7. Запускается цикл for, который проходит по всем элементам массива a от 1 до 19.
  8. Внутри цикла происходит проверка: если значение Z(a[i]) не равно значению Z(a[k]), то увеличивается значение переменной j на 1, а значение переменной k устанавливается равным текущему значению i.
  9. После завершения цикла выводится сообщение original array:.
  10. С помощью цикла for выводятся значения массива a[i] от 0 до 19, представляемые в виде десятичных чисел с префиксом 0:0:4.
  11. Выводится сообщение Number of sign changes:, которое означает Количество изменений знака:.
  12. Запускается цикл readln, который ожидает ввода пользователя и считывает его.
  13. Цикл for завершается, и программа заканчивается.

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


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

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

10   голосов , оценка 4.2 из 5

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

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

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