Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
1 / 1 / 0
Регистрация: 05.09.2014
Сообщений: 57
1

Ошибка в последней строке "Ожидался символ точка с запятой" ГДЕ?

05.09.2014, 15:44. Просмотров 3806. Ответов 4
Метки нет (Все метки)


Помогите!!!
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program Ess;
var
n,c: integer;
begin
writeln('Введите возраст в цифрах: ');
readln(n);
if n>=100 then
writeln('Возраст должен быть меньше 100 лет')
else
  begin
  c:=n mod 10;
  case c of
  1: if (n>20) or (n=1) then
  writeln('год');
  2,3,4: if (n>20) or (n=2) or (n=3) or (n=4) then
  writeln('года');
  5,6,7,8,9,0: if (n>20) or (n in [5..20]) then
  writeln('лет');
  end;
end. (<= ВОТ ЗДЕСЬ ОШИБКА)
В чем ошибка?!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2014, 15:44
Ответы с готовыми решениями:

Ошибка: ожидался символ "точка с запятой"
1-В: Составить программу, которая определяет, является ли последовательность элементов главной...

Ожидался символ "точка с запятой"
Program prog1; type CWindow=object x,y: integer; {êîîðäèíàòû îêíà} lenx,leny: integer;...

Ошибка Ожидался символ "точка"
Найдите пожалуйста ошибку const max=7; var a:array of integer; c,j,i,q,n,m:integer; ...

Ошибка: ожидался символ "точка с запятой"
uses crt; const QSize = 8; { Размер очереди (сколько в неё можно положить элементов) } var Q :...

4
Модератор
62866 / 46910 / 32330
Регистрация: 18.05.2008
Сообщений: 113,680
05.09.2014, 15:48 2
Лучший ответ Сообщение было отмечено ildwine как решение

Решение

2 begin + 1 case, а end; только 2.
Напиши еще 1 end; перед end.
0
2508 / 1129 / 582
Регистрация: 07.06.2014
Сообщений: 3,281
05.09.2014, 15:48 3
Лучший ответ Сообщение было отмечено ildwine как решение

Решение

case должен завершаться end;
ну и каждый begin должен иметь свой end
0
1 / 1 / 0
Регистрация: 05.09.2014
Сообщений: 57
05.09.2014, 15:49  [ТС] 4
Спасибо
0
2508 / 1129 / 582
Регистрация: 07.06.2014
Сообщений: 3,281
05.09.2014, 15:54 5
Лучший ответ Сообщение было отмечено ildwine как решение

Решение

natascha, но ваш алгоритм далеко не безупречен.
Поэтому позвольте Вам такой вариант предложить:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var n, c: integer;
begin
  Writeln('Введите ваш возраст');
  Readln(n);
  if n <= 0 then WriteLn('Вам 0 лет')
  else begin
    c := n mod 100;
    if (c >= 10) and (c <= 20) then WriteLn('Вам ', n, ' лет')
    else
      case (n mod 10) of
        1: WriteLn('Вам ', n, ' год');
        2..4: WriteLn('Вам ', n, ' года');
        5..9, 0: WriteLn('Вам ', n, ' лет')
      end;
  end
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2014, 15:54

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Удалить в строке пробелы и ";" (точка с запятой) после ":" (двоеточия)
Всем привет! Есть некая строка, необходимо в этой строке удалить все пробелы и точки с запятой,...

Ошибка "требуется точка с запятой" - что это значит?
#include&quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; #define qs(x,b,y) y =...

Вывести список(наименование) учётных записей, где отсутствует символ точка "."
Необходимо вывести наименование учётных записей в active directory, где отсутствует символ точка....

Если в строке имеется сочетание символов "la", то заменить каждый символ, встречающийся после первого вхождения этого сочетания, на символ "!"
Дана строка из символов. Если в строке имеется сочетание символов &quot;la&quot;, то заменить каждый символ,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.