Что не так с кодом? - Pascal ABC (12785)
Формулировка задачи:
Вот условие:
Даны натуральные числа n, b0,b1,…,bn.Вычислить: f(b0)+f(b1)+…+f(bn), где
f(x)=x^2,если х кратно 3
f(x)=х,если х при делении на 3 дает остаток 1
f(x)=[х/3] в остальных случаях
Вот код:
ошибка:[9,9] program.pas: Ordinal type expected
Листинг программы
- const n=3;
- var
- b:array[1..n] of real;
- f,s,i:real;
- begin
- writeln('vvod elementov');
- for i:=1 to n do
- readln(b[i]);
- s:=0;
- for i:=1 to n do
- begin
- if b[i] mod 3=0 then f:=sqr(b[i])
- else if b[i] mod 3=1 then f:=b[i]
- else f:=b[i]/3;
- s:=s+f;
- end;
- writeln('cyma',s:2:2);
- end.
Решение задачи: «Что не так с кодом?»
textual
Листинг программы
- case b[i] mod 3 of
- 0: f:=...
- 1: f:=...
- else
- f:=...
- end;
Объяснение кода листинга программы
- В коде используется оператор
mod
для определения остатка от деления переменнойb[i]
на число 3. - В зависимости от результата деления, в переменную
f
присваивается одно из двух значений. - Если результат деления равен 0, то в переменную
f
присваивается значение ... - Если результат деления равен 1, то в переменную
f
присваивается значение ... - В противном случае, когда результат деления не равен 0 или 1, в переменную
f
присваивается значение ...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д