Ошибка в паскале ожидался конец файла

Pascal
1
2
3
4
5
6
if A <= -100 AND A<= 100 then 
  WRITELN('Введите число от -100 до 100');
  end;
if B <= -100 AND B <= 100 then 
  WRITELN('Введите число от -100 до 100');
  end;

Эту часть кода перепишите вот так:

Pascal
1
2
3
4
if (a<-100) or (a>100) then 
  writeln('Введите число от -100 до 100');
if (b<-100) or (b> 100) then 
  writeln('Введите число от -100 до 100');

Нет необходимости ставить end; после if, т.к нет операторных скобок begin end. Они ставятся только тогда, когда в теле if необходимо записать больше 1 оператора типа

Pascal
1
2
3
4
5
6
7
if условие then
  begin
    оператор_1;
    оператор_2;
    ...
    оператор_N;
  end;

Также оператор and использован неправильно, т.к это значит, что выполняются оба условия сразу, а оператор or — хотя бы одно из них. И если у вас больше одного условия сразу, то заключаем их в скобки.

Ошибка в 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


исчезла? uses GraphABC; procedure Zv (x,y: integer; cl:integer); var i,k: integer; begin k:=0; for i: integer := 1 to 10 do Print(i); Println; // Здесь переменная i не доступна! for var i := 10 downto 1 do // описание с автоопределением типа Print(i); end; begin setpencolor(cl); setpenwidth(4); setbrushcolor(cl); circle(x+k div 2+k div 4,y+k div 2+k div 4,k div 2); circle(x+k div 2+k div 4,y-k div 2-k div 4,k div 2); circle(x-k div 2-k div 4,y+k div 2+k div 4,k div 2); circle(x-k div 2-k div 4,y-k div 2-k div 4,k div 2); setbrushcolor(clyellow); circle(x,y,k div 2); setbrushcolor(cl); circle(x-k,y,k div 2); circle(x+k,y,k div 2); circle(x,y-k,k div 2); circle(x,y+k,k div 2); k:=k+3; end. begin setwindowsize(360,320); setpencolor(clblack); setbrushcolor(clblack); ellipse(100,270,250,300); setpencolor(clskyblue); setbrushcolor(clskyblue); rectangle(150,150,200,250); circle(175,250,50); setpencolor(clgreen); setbrushcolor(clgreen); circle(100,150,20); circle(150,100,20); circle(220,40,20); circle(260,100,20); circle(120,50,20); circle(210,170,20); Zv (100,100,clred); Zv (170,50,clmaroon); Zv (210,80,clred); Zv (230,130,clFuchsia); Zv (160,150,clPurple); end.

В коде, который вы предоставили, есть несколько ошибок и непонятных моментов. Вот исправленная версия вашего кода:

pascal

uses GraphABC; procedure Zv(x, y: integer; cl: integer); var i, k: integer; begin k := 0; for i := 1 to 10 do begin Print(i); Println; end; for i := 10 downto 1 do Print(i); setpencolor(cl); setpenwidth(4); setbrushcolor(cl); circle(x + k div 2 + k div 4, y + k div 2 + k div 4, k div 2); circle(x + k div 2 + k div 4, y - k div 2 - k div 4, k div 2); circle(x - k div 2 - k div 4, y + k div 2 + k div 4, k div 2); circle(x - k div 2 - k div 4, y - k div 2 - k div 4, k div 2); setbrushcolor(clyellow); circle(x, y, k div 2); setbrushcolor(cl); circle(x - k, y, k div 2); circle(x + k, y, k div 2); circle(x, y - k, k div 2); circle(x, y + k, k div 2); end; begin setwindowsize(360, 320); setpencolor(clblack); setbrushcolor(clblack); ellipse(100, 270, 250, 300); setpencolor(clskyblue); setbrushcolor(clskyblue); rectangle(150, 150, 200, 250); circle(175, 250, 50); setpencolor(clgreen); setbrushcolor(clgreen); circle(100, 150, 20); circle(150, 100, 20); circle(220, 40, 20); circle(260, 100, 20); circle(120, 50, 20); circle(210, 170, 20); Zv(100, 100, clred); Zv(170, 50, clmaroon); Zv(210, 80, clred); Zv(230, 130, clFuchsia); Zv(160, 150, clPurple); end.

Внесенные изменения:

  1. Добавлена открывающая и закрывающая парные инструкции begin и end в процедуре Zv.
  2. Удалена ненужная строка k := k + 3;, так как значение k не используется в коде после этой строки.
  3. Удалены все незнакомые и неопределенные переменные, такие как cl, clred, clmaroon, clFuchsia и clPurple. Если вы хотите использовать пользовательские цвета, вам нужно будет определить их значения самостоятельно или использовать стандартные цвета, такие как clRed, clMaroon, `


332 просмотров

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

_________________________________________________________

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


|

332 просмотров



Понравилась статья? Поделить с друзьями:
  • Ошибка в паскале ожидалось имя переменной
  • Ошибка в паскале нельзя преобразовать тип real к integer
  • Ошибка в паскале неизвестное имя
  • Ошибка в паскале неверное количество параметров процедуры
  • Ошибка в паскале неверное выражение