Заданы логический вектор a={a1,a2,...,An,} и вещественный вектор x={X1,X2,...,Xn}. - Pascal
Формулировка задачи:
Заданы логический вектор a={a1,a2,...,An,} и вещественный вектор x={X1,X2,...,Xn}. Преобразовать вектор х по правилу: если ai имеет значение TRUE, то Xi возвести в куб и поделить на 10, в противном случае изменить знак Xj на противоположный.
Через 2 дня экзамен, срочно нужно получить допуск...
Решение задачи: «Заданы логический вектор a={a1,a2,...,An,} и вещественный вектор x={X1,X2,...,Xn}.»
textual
Листинг программы
uses crt; const n=12;{по размерам экрана, чтобы все вошло} var a:array[1..n] of boolean;{логический} x:array[1..n] of real;{вещественный} i,c:byte; begin clrscr; randomize; writeln('Логический вектор A:'); for i:=1 to n do begin c:=random(2);{0 или 1} a[i]:=(c=1);{если 1-true} write(a[i]:6); end; writeln; writeln; writeln('Вещественный вектор X:'); for i:=1 to n do begin x[i]:=10*random-4;{от -4 до 6} write(x[i]:6:2); end; writeln; writeln; writeln('Преобразованный вещественный вектор X:'); for i:=1 to n do begin if a[i] then x[i]:=x[i]*x[i]*x[i]/10 else x[i]:=-1*x[i]; write(x[i]:6:2); end; readln end.
Объяснение кода листинга программы
- Объявление переменных:
- a: логический массив размером n;
- x: вещественный массив размером n;
- i, c: булевые переменные для цикла.
- Инициализация генератора случайных чисел.
- Вывод логического вектора a на экран. Для этого используется цикл for, который проходит по всем элементам массива a. Внутри цикла генерируется случайное число c от 0 до 1, которое затем преобразуется в логическое значение (true, если c=1; false в противном случае). Затем значение a[i] присваивается полученное логическое значение. С помощью функции write выводится значение a[i] на экран.
- Вывод вещественного вектора x на экран. Для этого также используется цикл for, который проходит по всем элементам массива x. Внутри цикла генерируется случайное число от -4 до 6 и присваивается значению x[i]. Затем с помощью функции write выводится значение x[i] на экран.
- Вывод преобразованного вещественного вектора X на экран. Для этого используется цикл for, который проходит по всем элементам массива x. Внутри цикла проверяется значение a[i]. Если оно равно true, то значение x[i] умножается на x[i], а затем результат делится на 10. Если a[i] равно false, то значение x[i] умножается на -1. Затем полученное значение выводится на экран с помощью функции write.
- Завершение работы программы и ожидание ввода пользователя с помощью функции readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д