Предмет: Информатика, автор: ВераОо

Помогите найти ошибку в программе(она в комментариях)


ВераОо: Var x,y,n:integer; begin
write('Введите х при 0<=x<=15,x=');
read(x);
while (0<=x)and(x<=15) do
begin
y:=sqr(x)+x+17;
readln(y);
end;
n:=1;
repeat
n:=n+1
until y mod n = 0;
if n<y then writeln('сост')
else writeln('прост')
end.
Аноним: Неужели трудно попробовать скомпилировать программу, и посмотреть ошибку?..
ВераОо: Ошибку не выдает в окне вывода
Аноним: Вижу... Другие ошибки никто, кроме Вас, не найдёт. Вы ж не написали, что должна делать программа...
Колдер: Рад узнать что ктото ещё программирует га паскаль!
Аноним: У Вас программа либо никогда не войдёт в цикл, либо не выйдет из него... Чего Вы хотели добиться?

Ответы

Автор ответа: Аноним
1
Var x,y,d,k:integer;
Begin
For x:= 0 to 15 do
    Begin
    y:=x*x+x+17;
    Write('f(',x,') = ',y);
    k:=0;
    d:=y div 2;
    While d > 1 do
       Begin
       if y mod d = 0 then k:=k+1;
       d:=d-1
       End;
    if k = 0 then WriteLn(' - простое')
    else WriteLn(' - составное')
    End;
End.

Колдер: У вас нехватает ; в строках: 12, 15
Аноним: Перед любым "end" ставить точку с запятой не обязательно.
Аноним: Скачайте уже себе компилятор Паскаля - сможете, хотя бы, проверять программы...
Колдер: Ну уж извини, но компилятор пишет, что нехватает ;
Аноним: Смешно=)))
Интересные вопросы
Предмет: Биология, автор: Champush
Предмет: Информатика, автор: p5wf389f