Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчёт ОАиП вар.20.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
704.51 Кб
Скачать

2.2 Инструменты разработки

Инструментами разработки будут являться:

  • среда программирования Turbo Pascal;

  • среда визуального программирования Delphi;

  • операционная система семейства Windows.

Язык программирования Turbo Pascal представляет собой интегрированную интерактивную среду (Interactive   Development  Environment-IDE). Интерактивность подразумевает наличие диалогового режима работы, т.е. обмена  данных между человеком и машиной в темпе, соизмеримом с темпом обработки данных  человеком. Интегрированность среды означает, что она объединяет в себе средства различного назначения, например, в IDE Turbo Pascal 7.0 входят: текстовый редактор, компилятор, компоновщик (редактор связей), запускающая программа, отладчик, справочная подсистема. И это  позволяет, не выходя из среды, проводить полный цикл операций редактирование, компиляция, запуск, просмотр результатов работы и отладка. Под интерфейсом в программировании обычно понимают способ взаимодействия программы с окружающей средой, в частном случае - с пользователем. ИнтерфейссредыTP7.0реализуетсяспомощьютрехсоставляющих:строка меню в верхней части экрана, оперативная область и строка  состояния в нижней части экрана. Строка меню в верхнейчастиэкранасостоит  из  списка  предлагаемыхальтернатив:File(работасфайлами),Edit(редактированиетекста),  Search(поиск), Run (запуск),  Compile (компиляция),  Debug (отладка), Tools  (инструменты), Options (настройки), Window (работа с окнами), Help (справка). Под окном понимают прямоугольную область экрана, которую можно перемещать, масштабировать, перекрывать, выводить без  перекрытия, открывать, закрывать и изменять ее размер. В среде TP существует четыре типа окон: окна редактирования, окна диалога, информационные окна, окна меню. Для входа в среду необходимо вызвать файл turbo.exe или bp.exe из папки BIN. Текст программы набирается в окне редактирования. Для входа в меню необходимо нажать клавишу F10, для возврата из меню в окно редактирования - клавишу Esc.

Основное меню среды TurboPascal7.0содержит следующие пункты:

- File(работа с файлом);

- Edit(редактирование программного кода);

- Search(обеспечение контекстного поиска и замены);

- Run(выполнение программного кода);

- Compile(компиляция программного кода);

- Debug(отладчик);

- Tools(инструментальные средства среды программирования TurboPascal);

- Options(задание параметров);

- Windows(работа с окнами);

- Help(справка).

Паскаль — это язык процедурного программирования. Чтобы расширить возможности языка Паскаль с целью программирования сложных объектов, была предложена среда программирования Delphi. Delphi - это визуальный компилятор, который работает в среде Windows на базе языка Pascal, а если точнее, то на базе языка Object Pascal. С появлением Delphi отпала необходимость программировать стандартные элементы управления Windows, такие как строка редактирования, кнопки и диалоговые окна: все это уже есть в виде готовых шаблонов компонентов. Если для описания удобного интерфейса пользователя на языке Паскаль требуется много времени, то в Delphi — сравнительно мало, так как многие элементы интерфейса уже представлены в виде готовых к использованию компонентов: достаточно только перетащить их с помощью мыши на форму программы. Delphi наряду с процедурным программированием поддерживает и объектно-ориентированное программирование, основные концепции которого — инкапсуляция, полиморфизм и наследование. Инкапсуляция — это механизм, который объединяет данные и программу, манипулирующую этими данными, а также защищает и то, и другое от внешнего вмешательства или неправильного использования. Полиморфизм — это свойство, которое позволяет один и тот же метод использовать для решения двух или более похожих, но технически разных задач. После запуска среды программирования Delphi на экране отображаются четыре окна: окно главного меню с панелями инструментов (стандартная, вывод определенного окна на экран, отладка, визуальных компонентов); окно инспектора объектов (Object Inspector), редактор кода и окно формы.

В главном меню представлены следующие меню:

File—командыдляпроведенияоперацийсфайламипроекта; Edit — команды для редактирования кода программы в окне редактора кода;Search — команды для контекстного поиска в тексте программы и автоматической замены одного текста другим;View — команды для вывода на экран (на передний план) какого-либо из окон среды программирования, а также файла или формы;Project — команды для присоединения готового модуля к проекту или отсоединения модуля от проекта;Run — средство запуска программы и ее отладки;Component — команды для включения в палитру компонентов новых компонентов и создания собственных новых компонентов;Database — средство для доступа к базам данных;Tools — средства для настраивания среды программирования, а также вызова вспомогательных программ, таких как Database;Desktop — команды для создания файлов данных;Image Editor —средства для создания собственных рисунков;Help — справочник по Delphi, вспомогательным программам, а также основным функцям Windows API (Application Programs Interface — интерфейс прикладных программ).Функции и процедуры описываются точно так же, как и в языке Паскаль.

В августе 1995 года вышла в свет Windows 95, но её выход не привел к вытеснению MS - DOS , хотя почти все функции MS - DOS были перенесены в Windows . Как Windows 95, так и новая версия MS - DOS 7.0 содержали большинство особенностей монолитной операционной системы, включая виртуальную память и управление процессами. Однако ОС Windows 95 не была полностью 32-разрядной программой. Она содержала большие куски 16-разрядного ассемблерного кода (а также немного 32-разрядного) и продолжала использовать файловую систему MS - DOS , практически со всеми её ограничениями. Единственное значительное изменение файловой системы заключалось в добавлении длинных имен файлов к именам из 8+3 символа, разрешенным в MS - DOS .Даже в выпуске Windows 98 в июне 1998 года MS - DOS все ещё присутствовала (теперь она называлась версией 7.1) и состояла из 16-разрядного кода. Хотя теперь ещё больше функций было переведено из MS - DOS -части системы в часть Windows , а поддержка больших дисковых разделов стала стандартом, по своему строению ОС Windows 98 не сильно отличалась от Windows 95. Основное отличие заключалось в интерфейсе пользователя, в большей степени интегрировавшем в себе Интернет и рабочий стол пользователя. В 2000 году корпорация Microsoft выпустила слегка измененную версию системы Windows 98, названную Windows Me ( Windows Millennium Edition — Windows , выпуск тысячелетия). Хотя в данной версии были исправлены некоторые ошибки, а также добавлены новые функции, под внешней оболочкой скрывалась все та же Windows 98. Новые функции включали в себя улучшенные возможности организации и совместного использования изображений, музыки и фильмов, серьезнее поддерживали работу с сетью на дому и многопользовательские игры, а также содержали больше функций, относящихся к Интернету, таких как поддержка мгновенных сообщений и широкополосных соединений (кабельных модемов и ADSL ).

Операционная система Microsoft Windows XP ( от англ . eXPerience — опыт ), известная также под кодовым наименованием Microsoft Codename Whistler, является новой ОС семейства Windows, созданной на базе технологии NT. Первоначально в планы корпорации Microsoft входила разработка двух независимых операционных систем нового поколения. Windows XP объединяет в себе достоинства уже знакомых пользователям операционных систем предыдущих поколений: удобство, простоту в инсталляции и эксплуатации ОС семейства Windows 98 и Windows ME, а также надежность и многофункциональность Windows 2000. В настоящее время Windows XP для настольных ПК и рабочих станций выпускается в трех модификациях: Home Edition для домашних персональных компьютеров, Professional Edition — для офисных ПК и, наконец, Microsoft Windows XP 64bit Edition — это версия Windows XP Professional для персональных компьютеров.

Программирование на языке Паскаль в среде Турбо Паскаль

2.3.1 Структурное программирование

  1. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу, Составить словесное (математическое) описание и блок-схему следующей задаче: найти периметр трапеции с вершинами в точках A(x1,0), B(x2,0), C(x2,y3), D(x1,y4). При неправильном вводе значений, вывести на экран сообщение об ошибке и предложением повторно ввести правильные данные. Результат отобразить на экране.

Даны числа а, в, с и d вводимые с клавиатуры. Необходимо найти периметр трапеции р

Блок-схема алгоритма задачи приведена в Приложении Б на рисунке Б.1.

Текст программы приведён в Приложении А в листинге А.1.

Для тестирования программы использовались данные, приведённые в таблице 1. Полученные результаты приведены там же.

Таблица 1– Результаты выполнения линейного алгоритма

Входные данные

Выходные данные

а

в

с

m

2

3

7

5

Результат решения задачи представлен на рисунке 1.

Рисунок 1 – Результат работы программы в Turbo Pascal

2.3.2 Пошаговая детализация

  1. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу, Составить словесное (математическое) описание и блок-схему следующей задаче: найти периметр трапеции с вершинами в точках A(x1,0), B(x2,0), C(x2,y3), D(x1,y4). При неправильном вводе значений, вывести на экран сообщение об ошибке и предложением повторно ввести правильные данные. Результат отобразить на экране.

Даны числа а, в, с и d вводимые с клавиатуры. Необходимо найти периметр трапеции р

Блок-схема алгоритма задачи приведена в Приложении Б на рисунке Б.2.

Текст программы приведён в Приложении А в листинге А.2.

Для тестирования программы использовались данные, приведённые в таблице 2. Полученные результаты приведены там же.

Таблица 2– Результаты выполнения линейного алгоритма

Входные данные

Выходные данные

а

в

с

m

2

3

7

5

Результат решения задачи представлен на рисунке 2.

Рисунок 2 – Результат работы программы в Turbo Pascal

2.3.3 Массивы

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

Блок-схема алгоритма задачи приведена в Приложении Б на рисунке Б.3.

Текст программы приведён в Приложении А в листинге А.3.

Для тестирования программы использовались данные, приведённые в таблице 3. Полученные результаты приведены там же.

Таблица 3– Результаты выполнения линейного алгоритма

Входные данные

Выходные данные

Инициализируются случайно

k

7

Результат решения задачи представлен на рисунке 3.

Рисунок 3 – Результат работы программы в Turbo Pascal

2.3.4 Строки

  1. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу, дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить длину самого короткого (длинного) слова.

Блок-схема алгоритма задачи приведена в Приложении Б на рисунке Б.4.

Текст программы приведён в Приложении А в листинге А.4.

Для тестирования программы использовались данные, приведённые в таблице 1. Полученные результаты приведены там же.

Таблица 4– Результаты выполнения линейного алгоритма

Входные данные

Выходные данные

S1

S2

S2

S1

abc

dif

wzy

difwzy

Результат решения задачи представлен на рисунке 4.

Рисунок 4 – Результат работы программы в Turbo Pascal

2.3.5 Записи

  1. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу, которая обеспечивает ввод данных, вывод данных, поиск по цене товара и количеству товара К. Каждая запись содержит информацию: количество товара (тип integer); наименование товара (тип string); цена (тип real).

Блок-схема алгоритма задачи приведена в Приложении Б на рисунке Б.5.

Текст программы приведён в Приложении А в листинге А.5.

Для тестирования программы использовались данные, приведённые в таблице 5. Полученные результаты приведены там же.

Таблица 5– Результаты выполнения линейного алгоритма

Входные данные

Выходные данные

Familia

Data rozhdenia

gruppa

Poisk po familii

Poisk po gody rozhdenia

Poisk po famlii

Poisk po gody

Metelitsa

1993

T093

Metelitsa

1994

Metelitsa

1993

T093

Narkevich

1994

T093

Narkevich

1994

T093

Shamak

1993

T093

Результат решения задачи представлен на рисунке 5.

Рисунок 5 – Результат работы программы в Turbo Pascal

2.3.6 Оформление и подключение модуля

  1. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу, удалите из заданного массива A(N) элементы кратные шести. Выполнить вывод на печать полученного массива.. 

Блок-схема алгоритма задачи приведена в Приложении Б на рисунке Б.6.

Текст программы приведён в Приложении А в листинге А.6.

Для тестирования программы использовались данные, приведённые в таблице 1. Полученные результаты приведены там же.

Таблица 6– Результаты выполнения линейного алгоритма

Входные данные

Выходные данные

Размер массива

Исходный массив

Массив без нулей

5

3 0 1 1 1

3 1 1 1

Результат решения задачи представлен на рисунке 6.

Рисунок 6 – Результат работы программы в Turbo Pascal

2.3.7 Рекурсия

  1. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу, рекурсивную подпрограмму вычисления n-ого члена последовательности по рекуррентной формуле аi =i* аi-1 + аi-2 , где а1 = а2 = 1, i=3,4,5, …

Необходимо найти вычисления n-ого члена последовательности рекуррентной формуле

аi =i* аi-1 + аi-2 ; (3)

где а1 = а2 = 1, i=3,4,5, …

Блок-схема алгоритма задачи приведена в Приложении Б на рисунке Б.7.

Текст программы приведён в Приложении А в листинге А.7.

Для тестирования программы использовались данные, приведённые в таблице 7. Полученные результаты приведены там же.

Таблица 7– Результаты выполнения линейного алгоритма

Входные данные

Выходные данные

n

n

1-я последовательность

2-я последовательность

Случайная последовательность

3

4

622 672 588

818 924 443 832

622 672 818 924 443 832 588

Результат решения задачи представлен на рисунке 7,8,9.

Рисунок 7 – Результат работы программы в Turbo Pascal

Рисунок 8 – Результат работы программы в Turbo Pascal

Рисунок 9 – Результат работы программы в Turbo Pascal

2.3.8 Косвенная рекурсия

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

 

Блок-схема алгоритма задачи приведена в Приложении Б на рисунке Б.8.

Текст программы приведён в Приложении А в листинге А.8.

Для тестирования программы использовались данные, приведённые в таблице 1. Полученные результаты приведены там же.

Таблица 8– Результаты выполнения линейного алгоритма

Входные данные

Выходные данные

i

y

5

1,7562384876

Результат решения задачи представлен на рисунке 10.

Рисунок 10 – Результат работы программы в Turbo Pascal

2.3.9 Бинарный поиск

  1. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу. В заданном массиве К(N) найти индексы элементов, которые кратны минимальному значению элемента массива

Текст программы приведён в Приложении А в листинге А.9.

Для тестирования программы использовались данные, приведённые в таблице 9. Полученные результаты приведены там же.

Таблица 9– Результаты выполнения линейного алгоритма

Входные данные

Выходные данные

массив

Число 6 встречается под номером

6 7 4 5 8 9 3 2 4

1

Результат решения задачи представлен на рисунке 11.

Рисунок 11 – Результат работы программы в Turbo Pascal

2.3.10 Сортировка включением

  1. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу. Задан массив AX (N). Добавить массив С(К). Выполнить сортировку включением. В полученном массиве найти индексы элементов, которые кратны минимальному значению элемента массива.

Текст программы приведён в Приложении А в листинге А.10.

Для тестирования программы использовались данные, приведённые в таблице 10. Полученные результаты приведены там же.

Таблица 10– Результаты выполнения линейного алгоритма

Входные данные

Выходные данные

массив

Число >5

3 4 7 7

7

Результат решения задачи представлен на рисунке 12.

Рисунок 12 – Результат работы программы в Turbo Pascal

2.3.11 Обменные сортировки

  1. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу. Задан массив AX (N). Добавить массив С(К). Выполнить обменную сортировку. В полученном массиве найти индексы элементов, которые кратны минимальному значению элемента массива.

Текст программы приведён в Приложении А в листинге А.11.

Для тестирования программы использовались данные, приведённые в таблице 11. Полученные результаты приведены там же.

Таблица 11– Результаты выполнения линейного алгоритма

Входные данные

Выходные данные

массив

Число >5

3-й массив состоящий из 1-го и 3-го массива

3 4 7 7

5 6 4 5

7

массив

Результат решения задачи представлен на рисунке 13.

Рисунок 13 – Результат работы программы в Turbo Pascal

2.3.12 Сортировка разделением

  1. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу. Задан массив A(N). Добавить массив С(К). Выполнить сортировку разделением. В полученном массиве вычислите среднее геометрическое и среднее арифметическое значения для положительных элементов.

Текст программы приведён в Приложении А в листинге А.11.

Для тестирования программы использовались данные, приведённые в таблице 12. Полученные результаты приведены там же.

Таблица 12– Результаты выполнения линейного алгоритма

Входные данные

Выходные данные

Массив

Переделанный 1-й массив

Переделанный 2-й массив

Инициализация случайным образом

47 3 86 20 27 67 31 16 37 42 8 0

7 84 36 29 91 5

Результат решения задачи представлен на рисунке 14.

Рисунок 14 – Результат работы программы в Turbo Pascal

2.3.13 Обработка динамических массивов

  1. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу. Заполнить массив У(10) случайными значениями. Организовать вывод на экран. Присвоить указателю адрес начала размещения массива в памяти. Напечатать значения первой половины элементов массива. Присвоить указателю адрес 2-го элемента, напечатать его значение, используя текущий базовый адрес сегмента и смещение с преобразованием в значение типа указатель. Заменить его содержимое на утроенное его значение. Напечатать его новое значение

Текст программы приведён в Приложении А в листинге А.13.

Для тестирования программы использовались данные, приведённые в таблице 13. Полученные результаты приведены там же.

Таблица 13– Результаты выполнения линейного алгоритма

Входные данные

Выходные данные

Размер массива

Нечетные элементы

6-й элемент массива

Уменьшенные в двое элементы

Полученный массив

Инициализация случайным образом

-23 31

40

20

-23 11 -20 22 31 20

Результат решения задачи представлен на рисунке 15,.

Рисунок 15 – Результат работы программы в Turbo Pascal

2.3.14 Организация списков

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

Текст программы приведён в Приложении А в листинге А.14.

Для тестирования программы использовались данные, приведённые в таблице 14. Полученные результаты приведены там же.

Таблица 14– Результаты выполнения линейного алгоритма

Входные данные

Выходные данные

Марка, , телевизора

диагональ экрана

цена товара

Просмотр всего списка

Список после удаления 1-й записи

Список после удаления 1-й записи

LG

17

300000

См.рис2

См.рис3

См.рис4

LG

15

500000

Результат решения задачи представлен на рисунке 17,18,19,20.

Рисунок 17 – Результат работы программы в Turbo Pascal

Рисунок 18 – Результат работы программы в Turbo Pascal

Рисунок 19 – Результат работы программы в Turbo Pascal

Рисунок 20– Результат работы программы в Turbo Pascal

2.3.15 Модуль GRAPH

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

Текст программы приведён в Приложении А в листинге А.15.

Результат решения задачи представлен на рисунке 21.

Рисунок 21 – Результат работы программы в Turbo Pascal

2.3.16 Объектно-ориентированное программирование

  1. Опишите тип объектов – линия с параметрами: координаты вершин, стороны, цвет. Пусть методами будут А) порождение линии; Б) изменение ее цвета; В) изменение ее размера. Опишите массив из 50 объектов, используя его в программе, порождающей 50 разноцветных линий со случайным расположением, “пульсирующих”. Добавьте объект типа закрашенный линия, дочерний для типа линия. Объекты типа закрашенная линия должны “стихийно” то увеличиваться, то уменьшаться.

Текст программы приведён в Приложении А в листинге А.16.

Для тестирования программы использовались данные, приведённые в таблице 15. Полученные результаты приведены там же.

Результат решения задачи представлен на рисунке 22.

Рисунок 22 – Результат работы программы в Turbo Pascal

Заключение

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

Данное задание было отлажено и реализовано с использованием среды программирования Turbo Pascal и среды визуального программирования Delphi.

В процессе разработки программы использовался в большом объёме материал по программированию.

Цели по решению задач, поставленные во время прохождения учебной практики, достигнуты. Работа программы проверена на тестовом примере.