Описать функцию, дающую число перемен знака в вещественном векторе длины 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.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д