Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Турбо Паскаль (паскалер).doc
Скачиваний:
19
Добавлен:
03.05.2019
Размер:
2.65 Mб
Скачать

Занятие 2. Самостоятельное решение задач

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

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

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

4. Создать текстовые файлы, содержащие один текстовую, а другой числовую информацию (количество слов и чисел должно быть одинаковым). Используя стек, создать другой текстовый файл, в котором числа и слова чередовались и были бы записаны в обратном порядке.

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

6. Создать текстовые файлы, содержащие один текстовую, а другой числовую информацию (количество слов и чисел может быть неодинаковым). Используя стек, создать другой текстовый файл, в котором числа и слова чередовались и были бы записаны в обратном порядке ("лишние" числа или слова были бы записаны в конец файла).

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

8. В файле находится текст программы на Паскале. Используя стек, проверить правильность вложений операторных скобок (begin - end) в этой программе.

9. В файле записан текст, сбалансированный по круглым скобкам. Требуется для каждой пары соответствующих открывающей и закрывающей скобок напечатать номера их позиций в тексте, упорядочив пары номеров по возрастанию номеров позиций закрывающих скобок. Напимер, для текста a+(45-f(x)*(b-c)) на до напечатать 8 10, 12 16, 3 17.

10. В текстовом файле без ошибок записано логическое выражение следующего вида:

<лог.выр>::=true | false | <лог.выр> and <лог.выр> | <лог.выр> or <лог.выр>

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

Занятие 3. Очереди. Основные операции над очередью.

Очередь – линейный список, элементы в который добавляются только в конец, а исключаются из начала.

Изобразим очередь графически:

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

Итак, очередь – это вид связанного списка, в котором извлечение элементов происходит с начала списка, а добавление новых элементов – с конца.

Очередь является динамической структурой – с течением времени изменяется и ее длина, и набор составляющих ее элементов.

Опишем очередь на языке программирования:

Type

EXO = ^O;

O = record

Data : integer;

Next : EXO;

end;

Над очередью определены две операции: занесение элемента в очередь и извлечение элемента из очереди.

В очереди, в силу ее определения, доступны две позиции: ее конец, куда заносятся новые элементы, и ее начало, откуда извлекаются элементы. Поэтому для работы с очередью необходимо описать две переменные:

Var

BeginO, EndO : EXO;

где BeginO – соответствует началу очереди и будет использоваться для вывода элемента из очереди, EndO – соответствует концу очереди и будет использоваться для добавления новых элементов в очередь.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]