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

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

Задачи для самостоятельного решения:

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

2. Дан текстовый файл. Проанализировав в программе содержимое файла, выберите из него имена и занесите в очередь. Выведите содержимое очереди на экран и посчитайте количество элементов образованной очереди. Решение в программе оформляйте через подпрограммы.

3. Проверьте на равенство две очереди. Решение в программе оформляйте через подпрограммы.

4. Найдите среди трех (4, 5) очередей две одинаковые. Решение в программе оформляйте через подпрограммы.

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

6. Создайте файл символьного типа. Организовывая очереди по N элементов, cоздайте файл слов по N символов в каждом. Решение в программе оформляйте через подпрограммы.

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

8. Используя очередь, проверьте, какие строки текстового файла являются симметричными. Решение в программе оформляйте через подпрограммы.

9. Используя очередь, проверьте на равенство два текстовых файла. Решение в программе оформляйте через подпрограммы.

10. Создайте две очереди. Проверьте, является ли одна из очередей частью другой. Решение в программе оформляйте через подпрограммы.

Занятие 5. Кольцо. Формирование кольца. Основные операции над кольцом.

Koльцо - это вид связанного списка, в котором указатель последнего элемента ссылается на первый элемент.

Рассмотрите его графическое представление.

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

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

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

Type

TypeCircle = ^K;

K = record

Data : integer;

Next : TypeCircle;

End;

Var

Circle1 : TypeCircle;

Формирование кольца

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

Procedure FofmK(Var u : TypeCircle);

Var

x, y : TypeCircle;

i, N : integer;

Begin

write('Введите количество звеньев кольца: ');

readln(N);

for i := 1 to N do

begin

new(x); {выделяем память для хранения нового элемента кольца}

write('Введите данные в звено: ');

readln(i);

x^.Data := i; {заносим информацию в поле данных}

if u=nil {если кольцо еще не создано}

then

u := x {то указатель первого элемента ставим на новый элемент}

else

y^.Next := x; {присоединяем новый элемент к последнему элементу}

y := x; {переносим указатель у на последний элемент}

end;

x^.Next := u; {преобразуем получившийся список в кольцо}

End;

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

Задание. Составьте программу, содержащую две процедуры: процедуру занесения элемента в кольцо и процедуру извлечения элемента из кольца по какому-либо условию. (Можно воспользоваться предыдущим текстом программы.)

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