Перевод кода C# в Паскаль - Turbo Pascal
Формулировка задачи:
Здравствуйте! Помогите, пожалуйста, перевести этот код в Паскаль.
Листинг программы
- double[] array = new double[20];
- Console.WriteLine("Введите массив");
- for (int a = 0; a<20;a++)
- {
- array[a] = Convert.ToDouble(Console.ReadLine());
- }
- int countOfChanges = 0;
- string currentSign;
- if (array[0] >= 0)
- {
- currentSign = "+";
- }
- else
- {
- currentSign = "+";
- }
- for (int b = 1; b<=19;b++)
- {
- if (array[b] < 0 && currentSign == "+")
- {
- countOfChanges +=1;
- currentSign = "-";
- }
- else if (array[b] >= 0 && currentSign == "-")
- {
- countOfChanges +=1;
- currentSign = "+";
- }
- }
- Console.WriteLine("Введенный массив");
- for(int c = 0; c < 20; c++);
- {
- Console.Write(array[c] + " ");
- }
- Console.WriteLine();
- Console.WriteLine("Количество смен знака = " + countOfChanges);
- Console.ReadKey();
- }
Решение задачи: «Перевод кода C# в Паскаль»
textual
Листинг программы
- var
- a:array[0..19] of real;
- i,j,k:integer;
- function Z(t:real):integer;
- begin
- if t<0 then Z:=-1 else Z:=1;
- end;
- begin
- writeln('Enter Array:');
- for i:=0 to 19 do read(a[i]);
- j:=0;k:=0;
- for i:=1 to 19 do
- if Z(a[i])<>Z(a[k]) then begin
- j:=j+1;
- k:=i;
- end;
- writeln('original array:');
- for i:=0 to 19 do writeln(a[i]:0:4);
- writeln('Number of sign changes:',j);
- readln;
- end.
Объяснение кода листинга программы
- Создаётся переменная
a
типаarray[0..19] of real
, которая представляет собой массив из 20 элементов типаreal
. - Создаются три переменные
i
,j
иk
типаinteger
, которые будут использоваться для отслеживания индексов элементов массива. - Определяется функция
Z(t:real)
, которая принимает один аргумент типаreal
и возвращает одно значение типаinteger
. Внутри функции происходит проверка: если значение аргумента меньше нуля, то возвращается -1, в противном случае возвращается 1. - Выводится сообщение
Enter Array:
. - С помощью цикла
for
считываются значения массиваa[i]
от 0 до 19. - Инициализируются переменные
j
иk
равными 0. - Запускается цикл
for
, который проходит по всем элементам массиваa
от 1 до 19. - Внутри цикла происходит проверка: если значение
Z(a[i])
не равно значениюZ(a[k])
, то увеличивается значение переменнойj
на 1, а значение переменнойk
устанавливается равным текущему значениюi
. - После завершения цикла выводится сообщение
original array:
. - С помощью цикла
for
выводятся значения массиваa[i]
от 0 до 19, представляемые в виде десятичных чисел с префиксом0:0:4
. - Выводится сообщение
Number of sign changes:
, которое означаетКоличество изменений знака:
. - Запускается цикл
readln
, который ожидает ввода пользователя и считывает его. - Цикл
for
завершается, и программа заканчивается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д