Паскаль ошибка встречен конец файла а ожидался оператор

Это Вы издеваетесь, или как? В Паскале у Вас тем — хоть пруд пруди, а Вы Паскаль и С++ цинично скрещиваете.

Паскаль — это не Си, операторные скобки в Паскале «begin..end». А вот «{..}» — это как раз в С++ и в С такие операторные скобки, а в Паскале это всего лишь многострочный комментарий.

В паскале нет постфиксной функции ++ (унарной операции постдекремента), вместо ++ можно использовать процедуру inc(s1), либо простое сложение с единицей s1 := s1 + 1, либо операцию модификации s1 += 1, либо функцию s1 := succ(s1).

Приоритет операции сравнения в паскале самый низкий, поэтому условный оператор в строке 13 ошибочный.

Сакральный смысл чистки экрана внутри цикла от меня ускользает.

Плюс ещё мелкие ошибки по причине того, что кому-то неохота читать что-либо про паскаль.

Андрей1926, это точно Вы задали этот вопрос? Или всё же это был некий не слишком обученный академик, несанкционированно воспользовавшийся Вашим аккаунтом?

Вот исправленная программа:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var
  m1, s1, s2: integer;
 
begin
  s2 := 1;
  repeat
    s2 := s2 + 1;
    if (s2 > 9) then
      begin
        s2 := 0;
        s1 := s1 + 1
      end;
    if(s1 = 5) and (s2 = 10) then
      begin
        m1 := m1 + 1;
        writeln(m1 + s1 + s2)
      end;
  until m1 = 10
end.

Только программа эта зацикливается и ничего не печатает, поскольку в программе при s2=10 это самое s2 сбрасывается в 0 в 10 строке, поэтому условный оператор в 13 строке не выполняется никогда, поэтому инкремента m1 не происходит, и ничего не печатается, и не создаётся условия выхода из цикла repeat..until m1 = 10, поскольку глобальная переменная m1 инициализирована нулём.

Задание напишите. Или хотя бы напишите, что Вы хотите от несчастной программы.

Ошибка в pascal (Встречен конец файла, а ожидался оператор) Помогите, что нужно дописать чтобы ошибка исчезла?

Функция : function sqrt1 (a, b, c : real) : real ; begin if (2 * a + b — c) < ; 0 then writeln (‘ complex number ‘) — проверка на комплексные числа else sqrt1 : = sqrt(2 * a + b — c) ; end ;

Если вам необходимо получить ответ на вопрос Ошибка в pascal (Встречен конец файла, а ожидался оператор) Помогите, что нужно дописать чтобы ошибка исчезла?, относящийся
к уровню подготовки учащихся 5 — 9 классов, вы открыли нужную страницу.
В категории Информатика вы также найдете ответы на похожие вопросы по
интересующей теме, с помощью автоматического «умного» поиска. Если после
ознакомления со всеми вариантами ответа у вас остались сомнения, или
полученная информация не полностью освещает тематику, создайте свой вопрос с
помощью кнопки, которая находится вверху страницы, или обсудите вопрос с
посетителями этой страницы.

Это Вы издеваетесь, или как? В Паскале у Вас тем — хоть пруд пруди, а Вы Паскаль и С++ цинично скрещиваете.

Паскаль — это не Си, операторные скобки в Паскале «begin..end». А вот «{..}» — это как раз в С++ и в С такие операторные скобки, а в Паскале это всего лишь многострочный комментарий.

В паскале нет постфиксной функции ++ (унарной операции постдекремента), вместо ++ можно использовать процедуру inc(s1), либо простое сложение с единицей s1 := s1 + 1, либо операцию модификации s1 += 1, либо функцию s1 := succ(s1).

Приоритет операции сравнения в паскале самый низкий, поэтому условный оператор в строке 13 ошибочный.

Сакральный смысл чистки экрана внутри цикла от меня ускользает.

Плюс ещё мелкие ошибки по причине того, что кому-то неохота читать что-либо про паскаль.

Андрей1926, это точно Вы задали этот вопрос? Или всё же это был некий не слишком обученный академик, несанкционированно воспользовавшийся Вашим аккаунтом?

Вот исправленная программа:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var
  m1, s1, s2: integer;
 
begin
  s2 := 1;
  repeat
    s2 := s2 + 1;
    if (s2 > 9) then
      begin
        s2 := 0;
        s1 := s1 + 1
      end;
    if(s1 = 5) and (s2 = 10) then
      begin
        m1 := m1 + 1;
        writeln(m1 + s1 + s2)
      end;
  until m1 = 10
end.

Только программа эта зацикливается и ничего не печатает, поскольку в программе при s2=10 это самое s2 сбрасывается в 0 в 10 строке, поэтому условный оператор в 13 строке не выполняется никогда, поэтому инкремента m1 не происходит, и ничего не печатается, и не создаётся условия выхода из цикла repeat..until m1 = 10, поскольку глобальная переменная m1 инициализирована нулём.

Задание напишите. Или хотя бы напишите, что Вы хотите от несчастной программы.



  • 0




Помогите пожалуйста
Ошибка в Pascal (встречен конец файла, а ожидался оператор)
program qq;
var a,b,c,max:integer;
begin
writeln(‘Введите три целых числа и найдите наибольшее из них’);
read(a,b,c);
if a>b then begin
max:a;
end;
begin
if c>a then begin
max:c;
writeln(‘Наибольшее число’,max);
end.

  • Комментариев (0)



  • 0


После max ты поставил «:» (max:a; max:c;) а надо «:=» (max:=a; max:=c;)

  • Комментариев (0)

Ошибка в pascal (Встречен конец файла, а ожидался оператор) Помогите, что нужно дописать чтобы ошибка исчезла?

Функция : function sqrt1 (a, b, c : real) : real ; begin if (2 * a + b — c) < ; 0 then writeln (‘ complex number ‘) — проверка на комплексные числа else sqrt1 : = sqrt(2 * a + b — c) ; end ;

Если вам необходимо получить ответ на вопрос Ошибка в pascal (Встречен конец файла, а ожидался оператор) Помогите, что нужно дописать чтобы ошибка исчезла?, относящийся
к уровню подготовки учащихся 5 — 9 классов, вы открыли нужную страницу.
В категории Информатика вы также найдете ответы на похожие вопросы по
интересующей теме, с помощью автоматического «умного» поиска. Если после
ознакомления со всеми вариантами ответа у вас остались сомнения, или
полученная информация не полностью освещает тематику, создайте свой вопрос с
помощью кнопки, которая находится вверху страницы, или обсудите вопрос с
посетителями этой страницы.

Формулировка задачи:

Установила среду pascalabc.net
Почитала http://www.pascal.helpov.net/index/o…al_programming и
http://www.pascal.helpov.net/index/pascal_modules_programming

Набрала примерчик,

запустила
дает Program16.pas(5) : Встречен конец файла, а ожидалось begin
поставила точку после end
Program16.pas(4) : Встречено ‘.’, а ожидалось ‘;’
помогите, чтоб это заработало, turbo pascal я знаю.
зарание спасибо.

Код к задаче: «Встречен конец файла, а ожидалось begin»

textual

program oop;
 
Type
  tPredoc = object Name : string ; {поле данных объекта}
  Procedure Declaration ; {объявление методов объекта}
  Procedure MyName ;
end;
 
Procedure tPredoc.Declaration;{реализация метода объекта}
begin
  writeln('I am the ancestor.');
end;
 
Procedure tPredoc.MyName ; {реализация метода объекта}
begin
   writeln('I am - ', Name);
end;
var
   v1: tPredoc ; {объявление экземпляра объекта}
 
begin
  v1.Name := 'Bill Gates';
  v1.Declaration;
  v1.MyName;
  readln;
end.

Полезно ли:

9   голосов , оценка 3.667 из 5

Program myFirstProgram;

begin
  writeln ('привет !');
and.

Sublihim's user avatar

Sublihim

2,2891 золотой знак14 серебряных знаков23 бронзовых знака

задан 5 фев 2018 в 13:10

иван's user avatar

3

Добрый день, Иван. В Pascal конструкция begin/end является составным оператором. Также begin и end являются операторными скобками, то есть операторы внутри этой конструкции рассматриваются как единый оператор.

Подробнее можно ознакомиться здесь Начальные сведения о программах на языке Pascal и здесь Конструкция begin…end. Компилятор ожидает end после begin, однако не нашёл его.

ответ дан 5 фев 2018 в 14:16

Hlib Derbenov's user avatar

КОМПЬЮТЕР ВЫДАЕТ ОШИБКУ:ВСТРЕЧЕН КОНЕЦ ФАЙЛА, А ОЖИДАЛСЯ ОПЕРАТОР. ПОМОГИТЕ ИСПРАВИТЬ….


289 просмотров

КОМПЬЮТЕР ВЫДАЕТ ОШИБКУ:ВСТРЕЧЕН КОНЕЦ ФАЙЛА, А ОЖИДАЛСЯ ОПЕРАТОР. ПОМОГИТЕ ИСПРАВИТЬ. САМО ЗАДАНИЕ ГЛАСИЛО ТАК:(С клавиатуры вводятся два целых положительных числа. Найти их наибольший общий делитель.)

_________________________________________________________

Function NODfinder (m,n:integer):integer;

var

n1,m1:integer;

begin

if m < n then begin

n1 := m;

m1 := n;

end

else

begin

n1 := n;

m1 := m;

end;

var

m,n,p,n1,m1,result:integer;

begin

writeln (‘Введите два числа’);

readln(m,n);

while n1 > 0 do

begin

p := m1 mod n1;

m1 := n1;

n1 := p;

Result := m1;

writeln(result);

end;

end.







вопрос

по Информатика


от



15 Апр, 18


Дан 1 ответ

Var m,b,ost,c,result:integer;

////Mbegin

ost:=1;

writeln (‘Введите два числа’);

readln(b,m);

while ost<>0 do

      begin

      if m>b then

         begin

         c:=m;

         m:=b;

         b:=c;

         end;

      ost:= b mod m;

      result:=m;

      b:=ost;

      end;

writeln(‘НОД: ‘,m);

end.






ответ

от
WhitePineapple_zn


15 Апр, 18



333 просмотров

КОМПЬЮТЕР ВЫДАЕТ ОШИБКУ:ВСТРЕЧЕН КОНЕЦ ФАЙЛА, А ОЖИДАЛСЯ ОПЕРАТОР. ПОМОГИТЕ ИСПРАВИТЬ. САМО ЗАДАНИЕ ГЛАСИЛО ТАК:(С клавиатуры вводятся два целых положительных числа. Найти их наибольший общий делитель.)

_________________________________________________________

Function NODfinder (m,n:integer):integer;

var

n1,m1:integer;

begin

if m < n then begin

n1 := m;

m1 := n;

end

else

begin

n1 := n;

m1 := m;

end;

var

m,n,p,n1,m1,result:integer;

begin

writeln (‘Введите два числа’);

readln(m,n);

while n1 > 0 do

begin

p := m1 mod n1;

m1 := n1;

n1 := p;

Result := m1;

writeln(result);

end;

end.









Информатика





15 Апр, 18


|

333 просмотров





  • 0




Помогите пожалуйста
Ошибка в Pascal (встречен конец файла, а ожидался оператор)
program qq;
var a,b,c,max:integer;
begin
writeln(‘Введите три целых числа и найдите наибольшее из них’);
read(a,b,c);
if a>b then begin
max:a;
end;
begin
if c>a then begin
max:c;
writeln(‘Наибольшее число’,max);
end.

  • Комментариев (0)



  • 0


После max ты поставил «:» (max:a; max:c;) а надо «:=» (max:=a; max:=c;)

  • Комментариев (0)

  • Паскаль ошибка времени выполнения значение maxvalue должно быть больше нуля имя параметра maxvalue
  • Паскаль ошибка runtime error
  • Паскаль выдает ошибку неизвестное имя
  • Паскаль абс ошибка ожидался идентификатор
  • Паскаль абс ошибка времени выполнения