Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 06.10.2020
Сообщений: 4

Не компилируется программа, ошибка illegal expression, syntax error

06.10.2020, 22:02. Показов 1827. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, в чем проблема

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
program Primifthenelsecaseof;
{$APPTYPE CONSOLE}
uses
 SysUtils, Math;
var
  y1, y2, y3, x: Real;
  V1, V2, V3: integer;
 
Label l, k;
 
begin
  Writeln ('Введите х: ');
  readln(x);
  writeln;
 
  // if then programm
  if (x <- 3)                then begin  y1: = 0;         V1: = 1;   end;
  if (x =< -2) and (x > -2)  then begin  y1: = (x + 3);   V1: = 2;   end;
  if (x =< -1) and (x >= -2) then begin  y1: = (-1 - x);  V1: = 3;   end;
  if (x =< 2) and (x >= 1)   then begin  y1: = (1 - x);   V1: = 4;   end;
  if (x =< 3) and (x > 2)    then begin  y1: = (-3 + x);  V1: = 5;   end;
  if (x > 3)                 then begin  y1: = 0;         V1: = 6;   end;
  if (x > -1) and (x < 1)  then begin writeln('Функция не определена.'); goto k;  //в конец
  end;
 
  // case of programm
  if (x <- 3)                then V2: = 1;
  if (x =< -2) and (x > -2)  then V2: = 2;
  if (x =< -1) and (x >= -2) then V2: = 3;
  if (x =< 2) and (x >= 1)   then V2: = 4;
  if (x =< 3) and (x > 2)    then V2: = 5;
  if (x > 3)                 then V2: = 6;
  if (x > -1) and (x < 1)  then begin writeln('Функция не определена.'); goto k;  //в конец
  end;
  case V2 of
  1:   y2 = 0;
  2:   y2: = (x + 3);
  3:   y2: = (-1 - x);
  4:   y2: = (1 - x);
  5:   y2: = (-3 + x);
  6:   y2: = 0;
  end;
  writeln;
 
  // if then else programm
  if ( x<-3 )                          then begin y3: = 0;       V3: = 1; end;
  else begin if (x =< -2) and (x > -2) then begin y3: = (x + 3); V3: = 2; end; end;
  if (x =< -1) and (x >= -2)           then begin y3: = (-1 - x);V3: = 3; end;
  else begin if (x =< 2) and (x >= 1)  then begin y3: = (1 - x); V3: = 4; end; end;
  if (x =< 3) and (x > 2)              then begin y3: = (-3 + x);V3: = 5; end;
  else begin if (x > 3)                then begin y3: = 0;       V3: = 6; end; end;
  if (x > -1) and (x < 1)            then begin
    writeln ('Функция не определена.'); goto k;  //в конец
    end;
  end;
 
 
  writeln('if короткий');
  writeln ('y1 = ', y1:3:1, 'V1 = ', V1:1);
  writeln;
  writeln ('case of');
  writeln ('y2 = ', y2:6:2, 'V2 = ', V2:2);
  writeln;
  writeln ('if полный');
  writeln('y3 = ', y3:3:1, 'V3 = ', V3:2);
  k: readln;
  writeln;
 
end.
СообщенияКомпиляция проекта, цель: Primifthenesecaseof.exe: код завершения 1, ошибок 2
Primifthenesecaseof.pas(17,44) Error: Illegal expression
Primifthenesecaseof.pas(17,44) Fatal: Syntax error, ";" expected but ":" found
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.10.2020, 22:02
Ответы с готовыми решениями:

Ошибка: Syntax error, unrecognized expression
Здравствуйте. Столкнулся с проблемой. Есть такой код: for (var j = 0; j &lt; 6; j=j+6) { var aaa = &quot;'.every_new_&quot; + j +...

Error 1 error C2450: switch expression of type 'char [80]' is illegal
проблемы с Case, хочу чтобы работало с чаром char yn; cin&gt;&gt;yn; switch(yn); case'y':{cout&lt;&lt;&quot;GOOD&quot;&lt;&lt;endl;} ...

Error: Illegal expression
Выдает ошибку в в последней строке из двух copyTimeBoxMaxY := AOfLabelInATimeBoxMaxY; copyTimeBoxMaxY.nalichie = true; при...

2
0 / 0 / 0
Регистрация: 06.10.2020
Сообщений: 4
06.10.2020, 23:30  [ТС]
Исправленная программа, ошибку выдаёт в 17 строке ту же самую


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 program Choice;
// Разветвление графика
 
uses
SysUtils, Math;
var x, y1, y2, y3 : real;
v1, v2, v3, v : integer;
label l;
 
begin
Write('Введите переменную: x = ');
Readln(x);
Writeln;
 
// if короткий
if (x<-3) then begin y1:= 0; v1:= 1; goto l; end;
if (x <=-2) and (x >= -3) then begin y1: = (x + 3); v1:= 2; goto l; end;
if (x <= -1) and (x >= -2) then begin y1: = (-1 - x); v1:= 3; goto l; end;
if (x <= 2) and (x >= 1) then begin y1: = (1 - x); v1:= 4; goto l; end;
if (x <= 3) and (x > 2) then begin y1: = (-3 + x); v1:= 5; goto l; end;
if (x > 3)  then begin y1: = 0; v1:= 6; end;
 
l: Writeln('if короткий:');
Writeln('y1 = ', y1:5:2, ' ':3, 'v1 = ', v1:1);
Writeln;
 
// if then else programm
if ( x<-3 )                          then begin y2: = 0;       V2: = 1; end;
else begin if (x =< -2) and (x > -2) then begin y2: = (x + 3); V2: = 2; end; end;
if (x =< -1) and (x >= -2)           then begin y2: = (-1 - x);V2: = 3; end;
else begin if (x =< 2) and (x >= 1)  then begin y2: = (1 - x); V2: = 4; end; end;
if (x =< 3) and (x > 2)              then begin y2: = (-3 + x);V2: = 5; end;
else begin if (x > 3)                then begin y2: = 0;       V2: = 6; end; end;
if (x > -1) and (x < 1)            then begin
  writeln ('Функция не определена.');
  end;
end;
 
 
Writeln('if полный:');
Writeln('y2 = ', y2:5:2, ' ':3, 'v2 = ', v2:1);
Writeln;
 
// case v of
Write('Введите номер ветки: v №');
Readln(v);
Writeln;
case v of
1: begin y3:= 0; v3:= 1; end;
2: begin y3:= (x + 3); v3:= 2; end;
3: begin y3:= (-1 - x); v3:= 3; end;
4: begin y3:= (1 - x);v3:= 4; end;
5: begin y3:= (-3 + x); v3:= 5; end;
6: begin y3:= 0; v3:= 6; end
else
Writeln('v не существует');
end;
Writeln('case of:'); Writeln('y3 = ', y3:5:2, ' ':3, 'v3 = ', v3:1); Writeln;
 
Readln;
end.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
07.10.2020, 04:54
Лучший ответ Сообщение было отмечено Megan как решение

Решение

Нельзя растягивать оператор!
„:=“ — это совсем не то-же самое, что „:          =“

И если у вас в первом условии (x<-3), то зачем во втором and (x >= -3) ? Оно же уже и так отсеяно!
Аналогично в третьем and (x >= -2) и т.д.

А во второй части программы — ересь какая-то с условиями:
— таких условий не бывает: x =< -2, x =< -1, x =< 3
— даже если исправите, то это что-за интервал (x =< -2) and (x > -2)

Попробуйте писать переменную так, как это делаем в математике: -3 < x ≤ -2
Следовательно и в коде (-3 < x) and (x <= -2)
Всё сразу видно и понятно!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.10.2020, 04:54
Помогаю со студенческими работами здесь

Ошибка Syntax error in query expression 'Sat Sec 30 02:26:55 UTC+0300 1899' код внутри
Вот такой код смысл в том что запоминается значения предедущей запси нужные переменные например timein ( значение DATA()+TIME()) потом...

Error: Illegal expression в строке с procedure
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,...

Expression syntax error
Возникает ошибка: class goods{ char gtype; //item name char brand; //item producer int price; ...

Error: expression syntax error, NASM
Здравствуйте! Пишу программу, которая получает на вход количество элементов целочисленного массива (0&lt;N&lt;10000), затем N чисел через...

Expression Syntax Error на Turbo C 3.0
Доброго времени суток, форумчане! Пишу только потому, что уже 3 часа ломаю голову над этой ошибкой. Спросил всех одногрупников, никто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru