Вопрос задан 23.06.2023 в 21:23. Предмет Информатика. Спрашивает Сингелейцева Екатерина.

ПАСКАЛЬ. Выдает ошибку в 10 строке "Ожидался порядковый тип". Как исправить? ...program

SOCHET;var a, b, c, n, i, j, l: real;var factorial, factorial1, factorial2: longint;begin writeln ('Введите число, из которого высчитывается число сочетаний');readln (a);writeln ('Введите число, по которому высчитывается число сочетаний');readln (b);factorial := 1;for i:=2 to a dofactorial := factorial * i;a:=factorial;factorial1 := 1;for j:=2 to b dofactorial1 := factorial1 * j;b:= factorial1;factorial2 := 1;for l:=2 to (a-b) dofactorial2 := factorial2 * l;c:=factorial2;n:=a/b*c;writeln ('Число сочетаний равно ', n);end.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Мухарский Антон.

Ответ:

В циклах не должно быть переменных с плавающей запятой (Типом real)

Меняй их на целое (integer;)

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Ошибка в коде возникает из-за того, что вы переопределили переменные a, b, и c внутри циклов, и они больше не являются типом real, который вы объявили в начале программы. Это вызывает ошибку "Ожидался порядковый тип".

Чтобы исправить эту ошибку, вам нужно использовать другие переменные для вычисления факториалов и числа сочетаний, а затем присваивать результаты этим переменным. Вот исправленный код:

pascal
program SOCHET; var a, b, n, i, j, l: real; var factorial_a, factorial_b, factorial_ab: longint; begin writeln('Введите число, из которого высчитывается число сочетаний'); readln(a); writeln('Введите число, по которому высчитывается число сочетаний'); readln(b); factorial_a := 1; for i := 2 to Trunc(a) do factorial_a := factorial_a * i; factorial_b := 1; for j := 2 to Trunc(b) do factorial_b := factorial_b * j; factorial_ab := 1; for l := 2 to Trunc(a - b) do factorial_ab := factorial_ab * l; n := factorial_a / (factorial_b * factorial_ab); writeln('Число сочетаний равно ', n); end.

В этом коде используются дополнительные переменные factorial_a, factorial_b и factorial_ab для хранения результатов вычислений факториалов, и переменные a, b и n остаются типом real, как было объявлено в начале программы.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос