Преобразование массива по заданным условиям - Pascal
Формулировка задачи:
в одномерном массиве проверить встречается ли меньше 10,если да то отрицательные элементы заменить их квадратами ,если не встречается то все элементы массива увеличить на 0,1
Решение задачи: «Преобразование массива по заданным условиям»
textual
Листинг программы
const n = 10; var a: array [1..n] of real; i: byte; less_ten: boolean; begin randomize; less_ten := false; for i := 1 to n do begin a[i] := random(31) - 15; write(a[i], ' '); if a[i] < 10 then less_ten := not less_ten; end; writeln; if less_ten then begin for i := 1 to n do if a[i] < 0 then a[i] := a[i] * a[i]; end else for i := 1 to n do a[i] := a[i] + 0.1; for i := 1 to n do write(a[i], ' '); end.
Объяснение кода листинга программы
- Объявляется константа n равная 10 и переменная a типа массив из 10 элементов типа real.
- Инициализируется переменная i типа byte равная 1.
- Инициализируется переменная less_ten типа boolean равная false.
- Запускается цикл for от 1 до n, выполняющий следующие действия: а) a[i] присваивается случайное число от -15 до 15 (random(31) - 15). б) a[i] выводится на экран через пробел. в) если a[i] меньше 10, то less_ten становится true.
- После завершения цикла выводится символ новой строки (writeln).
- Если less_ten равно true, то выполняется цикл for от 1 до n, выполняющий следующие действия: а) если a[i] меньше 0, то a[i] умножается на само себя.
- Если less_ten равно false, то выполняется цикл for от 1 до n, выполняющий следующие действия: а) a[i] увеличивается на 0.1.
- Выводится символ новой строки (writeln).
- Цикл for от 1 до n выводит значения a[i] через пробел.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д