Выдает ошибку: pas(19) : Встречено '.', а ожидалось ';', helpp. Program Boon; uses crt;...

0 голосов
109 просмотров

Выдает ошибку: pas(19) : Встречено '.', а ожидалось ';', helpp.


Program Boon;
uses crt;
var k: integer;
i: integer;
c: ARRAY[1..100] of real;
function ODD:integer;
Begin;
writeln('Массив имеет вид');
for i:=1 to 15 do
Begin;
c[i]:=random(150)/(random(51-1));
writeln(c[i]:5:2);
End;
k:=0;
for i:=1 to 15 do
if Odd(c[i]) and c[i]>0 then
k:=k+1;
writeln('Количество непарных отрицательных чисел',k);
End.


Информатика (15 баллов) | 109 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Тут есть несколько ошибок:
1. Отсутствует ключевое слово begin в основной программе. Насколько я понял, оно должно стоять перед k:=0.

2. Внутри функции ODD не объявлена локальная переменная i, которая используется в цикле.

3. В основной программе вы вызываете функцию ODD и передаете ей аргумент с[i], хотя в описании функции аргумент не обозначен.

4. В функции ODD происходит обработка глобального массива C, что делать нельзя.

5. Функция должна возвращать какое-то значение. В описании вы указали integer, а в основной программе в строке if Odd(c[i])... вы подразумеваете, что оно должно быть булевым, т.е. или True или False.

Исправьте, и может быть (если ошибок больше нет) программа заработает.

(5.6k баллов)