Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчёт ОАиП вар. 15.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
896.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. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу, у треугольника заданы длины сторон а, в и с. Найти длины медиан.

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

  (1)

 

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

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

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

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

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

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

а

в

с

m

2

3

7

5

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

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

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

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

(2)

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

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

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

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

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

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

а

в

с

m

2

3

7

5

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

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

2.3.3 Массивы

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

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

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

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

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

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

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

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

k

7

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

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

2.3.4 Строки

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

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

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

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

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

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

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

S1

S2

S2

S1

abc

dif

wzy

difwzy

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

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

2.3.5 Записи

  1. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу, которая обеспечивает ввод данных, поиск по году рождения и фамилии, вывод данных. Запись содержит данные: фамилия (тип string), год рождения (тип integer), группа (тип integer), средний балл (тип 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-ого члена последовательности.

вычисления n-ого члена последовательности рекуррентной формуле xi=(i+3)(xi-1-1)+(i+4)xi-2; где x1=x2=x3=1; i = 4,5,…

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

xi=(i+3)(xi-1-1)+(i+4)xi-2; (3)

где x1=x2=x3=1; i = 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. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу, используя рекурсивный метод.

Вычислить значение выражения, по формуле

у= (4)

 

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

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

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

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

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

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

i

y

5

1,7562384876

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

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

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

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

у= (5)

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

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

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

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

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

массив

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

6 7 4 5 8 9 3 2 4

1

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

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

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

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

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

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

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

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

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

массив

Число >5

3 4 7 7

7

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

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

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

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

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

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

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

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

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

массив

Число >5

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

3 4 7 7

5 6 4 5

7

массив

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

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

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

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

Текст программы приведён в Приложении А в листинге А.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) случайными значениями. Организовать вывод на экран. Присвоить указателю адрес начала размещения массива в памяти. Напечатать значения нечетных элементов массива. Присвоить указателю адрес 6-го элемента, напечатать его значение, используя текущий базовый адрес сегмента и смещение с преобразованием в значение типа указатель. Заменить его содержимое на значение 5-го элемента, уменьшенное в два раза. Напечатать его новое значение.

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

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

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

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

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

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

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

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

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

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

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

-23 31

40

20

-23 11 -20 22 31 20

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

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

Рисунок 16 – Результат работы программы в 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. Для закрепления полученных навыков программирования в среде Турбо Паскаль необходимо решить задачу. Написать программу, которая выводит на экран оцифрованную координатную сетку.

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

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