Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
3 / 3 / 0
Регистрация: 13.03.2010
Сообщений: 78
1

Проверка правильности скобочных конструкций (блок-схема)

28.05.2010, 22:56. Показов 664. Ответов 1
Метки нет (Все метки)

дан текстовый файл, содержащий программу на некотором языке, в котором один оператор занимает строго одну строку. Проверить ее на правильность скобочных конструкций.

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 Example;
(******************************************************
* Задача: дан текстовый файл, содержащий программу на *
* некотором языке, в котором один оператор занимает   *
* строго одну строку. Проверить ее на правильность    *
* скобочных конструкций.                              *
******************************************************)
 
var
  Prg : text; {обрабатываемый файл}
  FileName : string;
  Opened, Closed : byte; {количество левых и правых скобок}
  StrNum: word; {номер строки}
  ch : char;
  ErrCode: integer;
 
begin
  writeln('Программа решает следующую задачу:');
  writeln('Дан текстовый файл, содержащий программу на ');
  writeln('некотором языке, в котором один оператор занимает');
  writeln('строго одну строку. Проверить ее на правильность');
  writeln('скобочных конструкций.');
  writeln;
 
  repeat
    write('Введите имя проверяемого файла ');
    readln(FileName);
    Assign(Prg, FileName);
    {$I-}
    Reset(Prg);
    {$I+}
    ErrCode:= IOResult;
    if ErrCode<>0 then 
      writeln('Ошибка: невозможно открыть файл. Повторите ввод.');
  until ErrCode=0;
 
  writeln('Проверяется файл "',FileName,'" :');
  StrNum:=1;
  while not EOF(Prg) do begin
    Opened:=0;
    Closed:=0;
    {считаем левые и правые скобки}
    while not EOLN(Prg) do begin
      read(Prg, ch);
      if ch='(' then 
        Opened:=Opened+1
      else if ch=')' then 
        Closed:=Closed+1;
    end;
    {проверяем их соответствие}
    if Opened>Closed then
      writeln('В [',StrNum,'] строке не хватает ',Opened-Closed,
              ' закрывающих скобок')
    else if Closed>Opened then
      writeln('В [',StrNum,'] строке не хватает ',Closed-Opened,
              ' открывающих скобок');
    readln(Prg); {переходим на следующую строку}
    StrNum:=StrNum+1;
  end;
  Close(Prg);
end.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2010, 22:56
Ответы с готовыми решениями:

Блок-схема, проверка делимости на 2
Помогите написать код на паскаль, который проверяет делится ли число на 2, нельзя использовать ,...

Проверка правильности ввода
нужна процедура, проверяющая правильность ввода арифметического выражения. помогите плиз

Проверка правильности ввода чисел
а положительное ,кратное 3, b положительное ,больше 3 ,но не меньше 30 Нужно написать программу...

Проверка правильности расстановки скобок
Преподаватель поставила сегодня в тупик вопросом. Как с помощью оператора выбора Case проверить...

1
112 / 109 / 33
Регистрация: 21.12.2009
Сообщений: 321
28.05.2010, 23:02 2
Все готовое лежит в архиве)))
1
Вложения
Тип файла: rar Program1.pas_.rar (124.5 Кб, 33 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2010, 23:02

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

Проверка правильности ввода числа
Всем доброго времени суток. Подскажите пожалуйста как осуществить: Нужно выполнить проверку на...

Проверка правильности расстановки скобок
В арифметическом выражении, записанном в одну строку, есть круглые, квадратные и фигурные скобки....

Проверка правильности конструкции оператора if - Then
Программа должна проверять правильно ли пользователь ввел конструкцию условного оператора if ....

проверка правильности бд
Всем доброго времени суток! Народ помогите мне, посмотрите правильно ли я создала базу данных. Нам...


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

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

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