Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая2003.doc
Скачиваний:
2
Добавлен:
16.09.2019
Размер:
526.85 Кб
Скачать

Приднестровский государственный университет им. Т. Г. Шевченко

Рыбницкий филиал

Кафедра физики, математики, информатики

Курсовая работа

по дисциплине «Информатика и программирование»

на тему:

«Обработка текстовых файлов в среде Turbo Pascal»

Выполнил:

студент II курса, 230 группы

специальность «Информатика с доп. специальностью Английский язык»

Проверил:

ст. преподаватель

Шестопал О.В.

Рыбница, 2012

Содержание

Введение 2

1. Основные теоретические сведения 4

1.1.Формулировка задачи 4

1.2. Типы данных и структур, используемых в программе 5

1.3. Описание структурных элементов программы 6

2. Описание программного продукта 8

2.1.Словесный алгоритм 8

2.2.Блок-схема: 8

11

11

2.3. Тестирование программы 14

Заключение 16

Список литературы 17

Приложение 18

Введение

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

Целью курсовой работы является создание программного продукта, реализующего алгоритм поиска последовательности прибытия контейнеров на склад.

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

Для выполнения курсовой работы были получены следующие задачи:

  • углубленное изучение структур данных, поддерживаемых средствами Турбо Паскаль;

  • изучение алгоритма перебора с возвратом;

  • написать программу, которая реализует работ алгоритмом перебора с возвратом;

  • усвоить работу с текстовыми файлами;

  • приобрести навыки использования рекурсивных функций;

1. Основные теоретические сведения

1.1.Формулировка задачи

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

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

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

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

Положим, что контейнеры 3,4,9,2,5,1 прибыли на склад именно в таком порядке. Тогда размещение контейнеров на складе будет следующим: 145 29 3 Между менеджером и рабочим происходит следующий диалог: Менеджер: Контейнер 5 прибыл раньше контейнера 4? Рабочий: Нет, это невозможно. Менеджер: О! Так ты можешь восстановить последовательность прибытия контейнеров по их расположению!

Рабочий: Вообще-то нет. Например, последовательность поступления контейнеров, которые сейчас находятся на складе, могла быть 3,2,1,4,9,5, либо 3,2,1,9,4,5, либо еще какая-нибудь из оставшихся 14 вариантов. Менеджер не хочет выглядеть глупым перед рабочим. Помогите ему и напишите программу, которая по заданному расположению контейнеров вычисляет все возможные последовательности поступления контейнеров.

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