
- •Пояснительная записка
- •Программирование на алгоритмическом языке pascal
- •«Ознакомление с работой в интегрированной среде Borland Pascal»
- •Задание 1
- •Ход работы:
- •Загрузите систему Borland Pascal.
- •После входа в систему появляется рабочий экран (рис. 2).
- •Изучите пункты главного меню.
- •Задание 2
- •Методические указания к лабораторным занятиям для учащихся.
- •Лабораторная работа №1
- •Вопросы для самоподготовки:
- •Краткие теоретические сведения
- •Задание 1
- •Ход выполнения работы.
- •Задание 2
- •Лабораторная работа №2
- •Краткие теоретические сведения
- •Правила работы с условным оператором.
- •Вопросы для самоподготовки:
- •Задание 1
- •Задание 2.
- •Задание 3
- •Правила организации цикла с параметром.
- •Вопросы для самоподготовки:
- •Задание 1
- •Задание 2
- •Решение:
- •Задачи для самостоятельного решения.
- •Лабораторная работа №4. Тема: «Разработка, отладка и испытание простых циклических алгоритмов и программ с неизвестным числом повторений».
- •Краткие теоретические сведения
- •Вопросы для самоподготовки:
- •Задание 1
- •Решение:
- •Задание 2
- •Домашнее задание
- •Вопросы для самоподготовки:
- •Определим необходимые формулы:
- •Составим графическую схему алгоритма.
- •Составим таблицу соответствия переменных.
- •В соответствии с пунктами 2 и 3 составьте программу.
- •Задание 2
- •Задание 3
- •Решение:
- •Составим графическую схему алгоритма:
- •Составим таблицу соответствия переменных
- •Составим программу на языке Pascal.
- •Задание 4
- •Лабораторная работа №6. Тема: «Разработка, отладка и испытание циклических алгоритмов и программ с известным числом повторений с внутренними ветвлениями».
- •Задание
- •Задание 2
- •Решение:
- •Задание 3
- •Решение:
- •Задание 4 (задачи повышенной сложности)
- •Решение:
- •Задания для самостоятельного решения. Напишите программы с использованием процедур.
- •Дана последовательность слов. Напечатайте все слова, предварительно преобразовав каждое из них по следующему правилу:
- •Задание 5
- •Решение:
- •Задание 8 (повышенной сложности)
- •Решение:
- •Задание для самостоятельного решения:
- •(Повышенной сложности)
- •Лабораторная работа №8. Тема: «Разработка алгоритмов и программ методом пошаговой детализации. Обработка двумерных массивов. Организация ввода-вывода с помощью текстовых файлов».
- •Вопросы для самоподготовки:
- •Краткие теоретические сведения
- •Задание 1
- •Задание 2
- •Решение:
- •Составим графическую схему алгоритма.
- •Составляем таблицу соответствия переменных.
- •Составляем программу на языке программирования Pascal.
- •Задание 3
- •Задание 4
- •Лабораторная работа №9. Тема: «Разработка алгоритмов и программ решения различных задач с использованием библиотечных модулей пользователя».
- •Краткие теоретические сведения
- •Задание
- •Задача для самостоятельного решения.
- •Лабораторная работа №10. Тема: «Разработка алгоритмов и программ обработки строк. Использование множеств для решения задач».
- •Вопросы для самоподготовки:
- •Задание 6
- •Решение:
- •Задачи для самостоятельного решения:
- •Лабораторная работа №11. Тема: «Разработка алгоритмов и программ с использованием методов внутренней сортировки».
- •Задание
- •Решение:
- •Для каждой команды в одной строке введите через пробел
- •Задание для самостоятельного решения:
- •Лабораторная работа №12. Тема: «Разработка рекурсивных алгоритмов и программ».
- •Краткие теоретические сведения
- •Задание.
- •Лабораторная работа №13. Тема: «Разработка алгоритмов и программ с использованием процедур и функций модулей crt и dos».
- •Краткие теоретические сведения
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание.
- •Краткие теоретические сведения
- •Решение:
- •Задание 2
- •Андреев
- •Задание для самостоятельного решения.
- •Лабораторная работа №16. Тема: «Разработка алгоритмов и программ с использованием динамических структур данных».
- •Краткие теоретические сведения
- •Задание
- •Задание для самостоятельного решения
- •Задача о «Ханойских башнях».
- •Решение:
- •Задания для самостоятельного решения.
- •Задание для самостоятельного решения:
- •Задания для самостоятельного решения:
- •Лабораторная работа №22. Тема: «Разработка программ обработки созданных файлов».
- •Постановка задачи
- •Содержание отчета
- •Варианты задания:
- •Лабораторная работа №23. Тема: «Разработка программ с использованием прерываний bios и dos, процедурных типов».
- •Краткие теоретические сведения
- •Константы
- •Задание
- •Задание для самостоятельного решения.
- •Лабораторная работа №25. Тема: «Разработка простейших программ с использованием компонентов страницы Standart».
- •Вопросы для самоподготовки:
- •Задание 1
- •Лабораторная работа №26. Тема: «Разработка программ обработки массивов с использованием компонентов страницы Standart».
- •Задание
- •Procedure tForm1.Button2Click (Sender: tObject); {обработка массива}
- •Лабораторная работа №32. Тема: «Разработка программ создания и использования мультимедийных возможностей».
- •Задание
- •Лабораторная работа №34. Тема: «Создание и использование справочной системы».
- •Краткие теоретические сведения
- •Задание
- •Ход работы:
- •Лабораторная работа №35. Тема: «Создание установочного диска».
- •Задание
Лабораторная работа №32. Тема: «Разработка программ создания и использования мультимедийных возможностей».
Цель работы: получение навыков составления программ с использованием мультимедийных возможностей.
Задание
Создайте приложение мультипликацию, в котором на фоне снежных гор летит самолет. Рисунки фона и самолета можно сделать самостоятельно, (рис. 28).
рис. 28
Создайте форму, для свойства Caption которой задайте значение «Полет самолета». Поместите на форму компонент Timer из палитры System и компонент Image из палитры Additional. Задайте для свойства Image1.Align значение alClient. Сохраните файл под именем airplane, файл модуля – под именем main в папке «Летящий самолет».
Добавьте в раздел переменных модуля описание переменных:
Back, bitmap, Buf: Tbitmap; {фон, картинка, буфер}
BackRct, bitmapRct, BufRct: Trect; {область фона, картинки, буфера}
x, y: integer; {координаты левого верхнего угла картинки}
W, H: integer; {размеры картинки (ширина, высота)}
Для запуска анимации создайте обработчик события OnActivate, наступающего, когда форма получает или теряет фокус, например, при щелчке по ней мышью. Чтобы создать обработчик события, выберите в окне Инспектора объектов объект Form1 и на странице Events произведите двойной щелчок на пустом поле списка в событии OnActivate. После этого в окне Редактора кода будет сгенерирована заготовка процедуры обработчика события procedure TForm1.FormActivate (Sender. TObject);
Отредактируйте текст этой процедуры следующим образом:
Procedure TForm1.FormActivate (Sender: TObject);
Begin
Back:=TBitmap.Create; {фон}
Bitmap:= TBitmap.Create; {картинка}
Buf:= TBitmap.Create; {буфер}
{загрузить и вывести фон из файла Backgraund.bmp}
Back.LoadFromFile (‘Backgraund.bmp’);
Form1.Image1Canvas.Draw (0, 0, Back);
{загрузить изображение самолета, который будет двигаться}
bitmap.LoadFromFile (‘aplane.bmp’);
bitmap. Transparent:=True;
bitmap. TransParentColor:=bitmap. Canvas. Pixels[1, 1];
{создать буфер для сохранения копии области фона, на которую накладывается картинка}
W:=bitmap. Width;
H:=bitmap. Height;
Buf. Width:=W;
Buf. Height:=H;
Buf.Palette:=Back.Palette; {обеспечить соответствие палитр}
Buf. Canvas. CopyMode:=cmScrCopy;
BufRct:=Bounds (0, 0, W, H);
x:=-W;
y:=20;
BackRct:=Bounds (x, y, W, H); {обеспечить сохраняемую область фона}
Buf. Canvas. CopyRect (BufRct, Back. Canvas, BackRct); {сохранить ее}
end;
Для получения эффекта мультипликации создайте процедуру обработчика события OnTimer, для чего выберите в окне Инспектора объектов объект Timer1 и на странице Events произведите двойной щелчок на пустом поле списка в событии Timer1Timer. Отредактируйте тело процедуры обработчика события следующим образом:
Procedure TForm1. Timer1Timer (Sender: TObject);
Begin
Form1. Image1. Canvas. Draw (x, y, Buf); {восстановление фона (из буфера) -удалить рисунок}
x:=x+2; {смещение самолета по х}
if x>Form1. Image1. Width then x:=-W; {если самолет «вылетел» за пределы рисунка фона}
BackRct:=Bounds (x, y, W, H); {определить сохраняемую область фона}
Buf. Canvas. CopyRect (BufRct, Back. Canvas, BackRct); {сохранить ее копию}
Form1. Image1. Canvas. Draw (x, y, bitmap); {вывести рисунок самолета в новой позиции}
end;
Для освобождения памяти от переменных, в которых хранились значения фона, рисунка самолета и буфера с фрагментом фона, создайте процедуру обработчика события закрытия окна приложения. Для этого выберите в окне Инспектора объектов объект Form1 и на странице Events произвести двойной щелчок на пустом поле списка в событии OnClose. Вставьте в тело процедуры обработчика события вызов метода Free для освобождения памяти, динамически выделенной под объекты Back, bitmap и Buf.
Procedure TForm1. FormClose (Sender: TObject; var Action: TCloseAction);
Begin
Back. Free; {освободить память}
bitmap. Free;
Buf. Free;
End;
Сохраните текст приложения, откомпилируйте его и поверьте его работу. Убедитесь, что в окне приложения на фоне выбранного рисунка осуществляется перемещение изображения самолета, как показано ниже на рисунке 29.
рис. 29
Задание для самостоятельного решения.
Создайте приложение мультипликацию, в котором на фоне луга пасется корова. Рисунки фона и коровы можно сделать самостоятельно.
Лабораторная работа №33.
Тема: «Создание и обработка таблиц базы данных».
Цель работы: получение навыков составления программ с использованием графических примитивов, иллюстраций;
научиться создавать и использовать справочную систему.
ЗАДАНИЕ
Напишите программу, в которой можно хранить информацию о датах рождения своих близких и знакомых.
Откроем новый проект и сохраним его в папку DataBase. Выберем в главном меню пункты ToolsDatabase Desktop. Появится рабочий стол (Desktop) для проектирования структуры базы данных (Database). В меню File этого рабочего стола выберем подпункты New (Новый) Table (Таблица). В возникшем диалоговом окне будет предложено выбрать тип используемой базы данных. Примем предлагаемый по умолчанию тип Paradox 7, щелкнув на кнопке ОК. откроется новое диалоговое окно, с помощью которого определим поля записи базы данных. В столбце Field Name (Имя Поля) напишем имя первого поля записи, которое у нас называется Name. Далее в столбце Type (Тип) щелкнем правой клавишей мыши – откроется список стандартных типов данных, которыми можно в данном случае воспользоваться. Выберем тип Alpha – он соответствует типу string в языке Pascal. В столбце Type возникает буква А. Далее в столбце Size (Размер) наберем число 30 . на последнюю колонку с именем Key (Ключ) внимание пока не обращаем. Нажав клавишу со стрелкой вниз перемещаемся к следующей строке таблицы. В столбце Field Name набираем строку имя поля DD для хранения числа месяца. В столбце Type для этого поля зададим тип Number (Число) – в строке пропишется буква N. В расположенном справа поле Minimum Value (Минимальная величина) укажем число 1, а в поле Maximum Value (Максимальная величина) – число 31. Это допустимый диапазон, в котором могут находится значения данного поля. В следующей строке таблицы указываем имя поля ММ типа N с возможным диапазоном значений Minimum Value: 1, Maximum Value: 12. Аналогично заполняем последнюю строку таблицы, указав в ней имя поля YY типа N для хранения цифры года. (см. рисунок ниже).
Щелкнув мышью по кнопке Save As… (Сохранить как …), откроем диалоговое окно для сохранения файла базы данных. Сохраним его в папку Data Base под именем Birth Day.db, (рис. 30).
рис. 30
Инструменты Database Form Wizard.
Выберем в главном меню пункты DatabaseForm Wizard (мастер конструирования формы для работы с базой данных). Этот мастер поможет нам создать проект для работы с файлом базы данных Birth Day.db. В первом открывшемся диалоговом окне нужно согласиться с установками, предлагаемые мастером по умолчанию, щелкнув по кнопке Next. В следующем диалоговом окне предлагается выбрать файл базы данных. В списке Directories (Папки) найдем и откроем папку с именем Data Base. После этого в списке Table Name (Имя Таблицы) появится ярлычок файла Birth Day.db. щелкнув на нем мышью, выберем его и тем самым активизируем кнопку Next для следующей операции мастера. Щелкнув на ней, переходим к третьему диалоговому окну. Здесь нужно щелкнуть на кнопке >> для пересылки в создаваемую мастером таблицу всех полей файла Birth Day.db. Еще раз щелкнем на кнопке Next, перейдем к четвертому диалоговому окну. Соглашаемся с установками мастера и щелкаем на Next для перехода к последнему диалоговому окну. Опять соглашаемся с установками мастера, щелкнув на кнопке Finish (Завершить).
Мастер создает полностью готовый проект. Остается только нажать клавишу F9 для его запуска. Результат работы мастера – интерфейс исполняющейся программы для работы с базой данных. (рис. 31).
рис. 31
В верхней части формы располагается панель управления базой данных.