Описать функцию, дающую число перемен знака в вещественном векторе длины 20 - Turbo Pascal
Формулировка задачи:
Здравствуйте!
Помогите написать программу на Паскале:
Описать функцию, дающую число перемен знака в вещественном векторе длины 20.
Решение задачи: «Описать функцию, дающую число перемен знака в вещественном векторе длины 20»
textual
Листинг программы
- program pr;
- const
- Csize = 20;
- type
- arr = array [1..Csize] of real;
- var
- i, c: integer;
- a: arr;
- function shif(x: arr): integer;
- var
- cout, j: integer;
- begin
- cout := 0;
- for j := 1 to Csize - 1 do
- if ((a[j] > 0) and (a[j + 1] < 0)) or ((a[j] < 0) and (a[j + 1] > 0)) then
- begin
- cout := cout + 1;
- end;
- shif := cout;
- end;
- begin
- for i := 1 to Csize do
- begin
- a[i] := random(21) - 10;
- write(a[i]:3);
- end;
- c := shif(a);
- writeln;
- writeln('Число перемен знака в векторе: ', c);
- end.
Объяснение кода листинга программы
- Создается программа pr.
- Задаются константы Csize и тип данных arr.
- Создается переменная i и инициализируется значением 1.
- Создается переменная c и инициализируется значением 0.
- Создается переменная a и инициализируется значением array [1..Csize] of real; - это массив из 20 чисел типа real.
- Определяется функция shif, которая принимает аргумент x типа arr (массив из 20 чисел типа real).
- Инициализируются переменные cout и j значением 0 и 1 соответственно.
- В цикле for j := 1 до Csize - 1 выполняется следующая логика:
- Проверяется условие: если (a[j] > 0) и (a[j + 1] < 0) или (a[j] < 0) и (a[j + 1] > 0), то увеличивается значение переменной cout.
- После выполнения условия, переменная cout увеличивается на 1.
- Значение переменной cout возвращается из функции shif.
- В основной части программы выполняется цикл for i := 1 до Csize.
- Внутри цикла переменная a[i] инициализируется случайным числом от -10 до 10.
- Выводится значение a[i] с помощью функции write.
- Переменная c инициализируется значением функции shif(a).
- Выводится значение переменной c с помощью функции write.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д