Главная страница
Навигация по странице:

  • Lazarus – объектно-ориентированная среда

  • Форма. Инспектор объектов. Окно кода про

  • Задание 1

  • Задание 4.

  • События. Реакция на события. Окно кода программы

  • Запуск и сохранение программы

  • Задание 11.

  • Задание 15.

  • Задания для самостоятельного выполнения

  • Лабораторная работа №2 Программирование задач линейной структуры

  • Имя переменной := выражение;

  • лабораторные работы лазарус. лабораторные работы на Лазарусе. Лабораторная работа 1 Основные понятия среды Lazarus


    Скачать 1.42 Mb.
    НазваниеЛабораторная работа 1 Основные понятия среды Lazarus
    Анкорлабораторные работы лазарус
    Дата05.04.2023
    Размер1.42 Mb.
    Формат файлаpdf
    Имя файлалабораторные работы на Лазарусе.pdf
    ТипЛабораторная работа
    #1039153
    страница1 из 5
      1   2   3   4   5

    1
    Лабораторная работа №1
    Основные понятия среды Lazarus
    Среда программирования Lazarus состоит из нескольких отдельно распо- ложенных окон.
    Окна могут перемещаться по экрану, частично или полностью перекры- вая друг друга. После запуска Lazarus перед вами появятся основные окна (рис.
    1):
    1. Главное окно (Project1).
    2. Окно формы (Form1).
    3. Окно Инспектора Объектов (Object Inspector).
    4. Окно кода программы или окно редактора кода (Unit1.pas).
    Рис. 1.
    Первоначально окно кода перекрыто окном формы, для переключения между которыми осуществляется клавишей F12.
    Lazarus – объектно-ориентированная среда
    Объектно-ориентированное программирование – это методика разработки программ, в основе которой лежит понятие объекта.
    Объект – это совокупность свойств (параметров) определенных сущно- стей и методов их обработки (программных средств).
    Описание объекта рассмотрим на примере объекта автомобиль.

    2
    Каждый объект имеет:
    Свойства – характеристики объекта (автомобиль характеризуется мар- кой, цветом, салоном, местонахождением руля, коробкой передач и т.д.).
    Методы – действия объекта, что объект может делать (для автомобиля действиями являются движение вперед, назад, торможение, остановка, поворот и др.).
    События – изменения в окружающей объект обстановке (события, кото- рые влияют на объект автомобиль: сигнал светофора, знаки милиционера и др.).
    Реакция на события – описания действий, которые необходимо совер- шить при данном событии.
    Все объекты реализованы в Lazarus в виде палитры визуальных компо- нентов (рис. 2).
    Рис. 2.
    Компоненты сгруппированы в отдельные страницы, каждая из которых снабжена закладкой. Если щелкнуть мышью на одну из закладок, то можно пе- рейти на соответствующую ей страницу. При подведении курсора мыши к ком- поненте (или нажатие правой кнопки мыши на компоненте) появляется под- сказка – название компоненты.
    Форма. Инспектор объектов. Окно кода про-
    граммы
    Форма – окно будущей программы (рис.
    3)
    . Окно формы представляет собой проект ок- на Windows: имеет заголовок, кнопку вызова системного меню, кнопку максимизации, мини- мизации и закрытия окна, рамку окна. На форме размещаются компоненты, тем самым, формируя заготовку (макет) окна батываемого приложения.
    Рис. 3.

    3
    Окно Инспектора Объектов содержит страни- цы: Свойства (Properties) и События (Events), каждая из которых разделена на две части.
    Страница Свойства служит для указания свойств объекта. На этой странице указаны все свой- ства активного (выделенного) объекта. В левой части страницы находится название свойства, а в правой – его значение. «+» слева от названия свойства указы- вает на то, что свойство состоит из нескольких значе- ний. Значениями свойств могут быть слова, числа, значения из раскрывающегося списка. Нажав на «▼» справа от поля значения свойства, можно получить раскрывающийся список значений. При нажатии на
    «...» вызывается специальное диалоговое окно.
    Если значением свойства является число или текст, то после его набора необходимо нажать Enter, иначе оно может быть не зафиксировано. При нажа- тии на Esc ввод отменяется.
    Страница События используется для задания реакции на событие. Стра- ница также состоит из двух частей. В первой – название события, а во второй – название процедур, обрабатывающих данное событие. Если в правой части ни- чего не написано, то программа на данное событие не реагирует. Название про- цедуры состоит из двух частей: названия объекта + название события.
    Для создания новой реакции на событие необходимо дважды щелкнуть в правой половине напротив нужного события. В этом месте появится название новой процедуры, а на экране автоматически от- крывается окно редактора кода.
    Окно кода программы предназначено для создания и редактирования текста программы
    (рис. 5). Этот текст составляется по определен- ным правилам.
    Для написания программы необходимо:
    Рис. 4.
    Рис. 5.

    4 1. Разместить необходимые компоненты на форме.
    2. Задать свойства выбранных компонент.
    3. Определить событие.
    4. Задать реакцию на событие.
    Для размещения компонент на форме необходимо щелкнуть мышью на компоненте, после щелкнуть на форме.
    Краткая характеристика некоторых компонентов
    У всех компонент есть свойство Name – имя компонента. Имена создают- ся средой Lazarus по такому принципу: сначала идет название компонента
    (Form), а за ним порядковый номер размещенного на форме компонента (1). То есть если добавить еще одну форму, то она получит имя Form2, следующее –
    Form3 и т.д. Имя, заданное по умолчанию можно изменить, но при этом жела- тельно использовать только английские буквы и цифры.
    Запомните! Свойство Name задается первоначально, это имя переменной с которой вы будете работать при написании программы.
    1. Компонент Form (экранная форма). Форма представляет не только внешний вид окна приложения, но и сама является полноценным компонентом с собственными свойствами и событиями, хотя на палитре компонентов ее нет.
    Таблица 1
    Основные свойства компонента Form
    Caption
    Заголовок окна формы
    Color
    Цвет формы
    Font
    Атрибуты шрифта заголовка окна формы:
    Color – цвет шрифта
    Size – размер шрифта
    Style – стиль шрифта
    Таблица 2
    Основные события компоненты Form
    OnCreate
    Создание формы
    OnClose
    Закрытие формы
    2. Компонент Label (надпись или метка)
    . Можно использовать для вывода ответа или пояснения вводимых данных.

    5
    Таблица 3
    Основные свойства компоненты Label
    Caption
    Заголовок надписи, выводимой на форму
    AutoSize
    Позволяет автоматически менять размеры метки, чтобы соответствовать раз- мерам надписи (по умолчанию принимает значение True).
    Font
    Шрифт, используемый для отображения текста в метке
    Visible
    Видимость надписи на экране. Имеет два значения: True – надпись видна на форме, False – надпись не видна на форме.
    Alignment
    Выравнивание текста по горизонтали относительно границ: taRightJustify –прижат к правой границе taCenter – выровнен по центру taLeftJustify –прижат к левой границе
    3. Компонент Edit (однострочное окно ввода/вывода)
    . Используется для ввода/вывода чисел и текста в программу.
    Таблица 4
    Основные свойства компонента Edit
    BorderStyle
    Стиль обрамления: bsNone – нет обрамления bsSingle – обрамление одной линией
    MaxLength
    Определяет максимальную длину текстовой строки. Если имеет значение 0, длина строки не ограничена
    Text
    Содержимое строки редактирования
    Таблица 5
    Основные методы компонента Edit
    Clear
    Удаляет весь текст
    SetFocus
    Устанавливает фокус ввода
    4.Компонент Panel (контейнер общего назначения)
    . Используется для размещения на ней сгруппированных компонент.
    Таблица 6
    Основные свойства компонента Panel
    BevelOuter
    Внешняя рамка bvRaised – выпуклая bvLowered – вдавленная bvNone – отсутствует
    BevelInner
    Внутренняя рамка
    BevelWidth
    Ширина рамки
    5. Компонент Button (командная кнопка)
    . Используется для задания реакции на событие.
    Таблица 7
    Основные свойства компонента Button
    Caption
    Надпись на кнопке
    Height
    Высота кнопки
    Width
    Ширина кнопки

    6
    Таблица 8
    Основные события компонента Button
    OnClick
    Происходит, когда пользователь щелкает основной (левой) кнопкой мыши на объекте
    OnDbClick
    Происходит, когда пользователь дважды щелкает основной (левой) кнопкой мыши на объекте
    OnClose
    Закрытие окна формы
    Задание 1. Изменить заголовок окна формы с Form1 на «Первая программа», используя свойство Caption.
    Задание 2. Изменить цвет формы на clAqua, используя свойство Color.
    Задание 3. Разместить в центре формы компоненту Label. Задать: надпись метки – СВЕТОФОР, цвет метки – серый. Изменить свойство Font: шрифт – Times
    New Roman, начертание – жирный, размер – 14.
    Задание 4. Расположить на форме компоненты Panel1, Panel2, Panel3, для которых поочередно задать свойство Caption пустым.
    Задание 5. Расположить на форме три командные кнопки Button1, Button2,
    Button3. Задать надписи на этих кнопках «Красный», «Желтый», «Зеленый». В ре- зультате должна получиться форма, согласно рисунка 6.
    Рис. 6.
    События. Реакция на события. Окно кода программы
    События устанавливаются в окне Инспектора Объектов на странице Собы-
    тия (Events).
    Задание 7. Для изменения цвета компоненты Panel1 на красный необходимо выполнить следующую процедуру:
    Procedure TForm1.Button1Click (Sender:TObject);
    Begin
    Panel1.Color:=clRed;

    7
    Panel2.Color:=clWhite;
    Panel3.Color:=clWhite;
    End;
    Задание 8. Создать событие и реакцию на событие для командной кнопки
    Button2: цвет компоненты Panel2 будет меняться на желтый, а цвет компонент
    Panel1 и Panel3 будет меняться на белый. Если вы не знаете, как записать название цвета, посмотрите возможные цвета свойства Color в Инспекторе Объектов.
    Задание 9. Создать событие и реакцию на событие для командной кнопки
    Button3: цвет компоненты Panel3 будет меняться на зеленый, а цвет компонент
    Panel1 и Panel2 будет меняться на белый.
    Запуск и сохранение программы
    Перед первым запуском программы ее необходимо сохранить.
    Проект Lazarus представляет собой набор программных единиц – модулей, которые хранятся в отдельных файлах. Поэтому каждую программу сохраняют в отдельной папке.
    Для сохранения программы надо выбрать ФайлСохранить как. Появится диалоговое окно Сохранить Unit1 (*.pas), в котором на первом этапе сохраняется программа с расширением .pas.
    После задания имени программы и нажатия кнопки Сохранить появляется диалоговое окно Переименовать файл? (рис. 7).
    Рис. 7
    В данном окне надо нажать кнопку Преобразовать в нижний регистр.
    Далее появляется диалоговое окно Сохранить проект project1 (*.lpi), в котором сохраняется проект, работающим с программой, с расширением .lpi.
    Запомните! Чтобы открыть программу, необходимо открыть проект с расширением .lpi.
    В среде Lazarus программу можно сохранить и командой ФайлСохра-
    нить все.

    8
    Если после первого сохранения программы в нее были внесены измене- ния, то для их сохранения можно нажать на панели инструментов кнопку или выбрать команду Сохранить все.
    Запустить программу на исполнение можно одним из следующих спосо- бов:
    1. Выбрать команду ЗапускЗапуск (RunRun).
    2. Нажать клавишу F9.
    3. Нажать кнопку на панели инструментов.
    После запуска программы она может зависнуть. Для остановки зависшей программы необходимо нажать комбинацию клавиш Ctrl+F2 или выбрать коман- ду ЗапускОстановить.
    Задание 10. На диске С: создать папку с номером вашей группы (в скобках указать номер подгруппы). В папке с номером группы создать папку с именем
    Первая программа.
    Задание 11. Сохранить свою программу в папке Первая программа.
    Задание 12. Добавить появление на компоненте Panel1 при нажатии на командную кнопку Button1 информации «СТОЙТЕ», цвет – белый, начертание –
    жирный, размер шрифта – 12.
    Для этого необходимо в имеющуюся процедуру добавить следующие действия:
    Procedure TForm1.Button1Click (Sender:TObject);
    Begin
    Panel1.Color:=clRed;
    Panel2.Color:=clWhite;
    Panel3.Color:=clWhite;
    Panel1.Caption:='СТОЙТЕ';
    {задание на панели надписи}
    Panel1.Font.Color:=clWhite;
    {задание цвета шрифта}
    Panel1.Font.Size:=12;
    {задание размера шрифта}
    Panel1.Font.Style:=[fsBold];
    {задание начертания шрифта}
    End;

    9
    Задание 13. Добавить появление на компоненте Panel2 при нажатии на командную кнопку Button2 информации «ВНИМАНИЕ», цвет – белый, начертание – жирный, размер шрифта – 12.
    Задание 14. Добавить появление на компоненте Panel3 при нажатии на командную кнопку Button3 информации «ИДИТЕ», цвет – белый, начертание –
    жирный, размер шрифта – 12.
    Задание 15. Сохранить изменения в программе и запустить ее на исполнение.
    Окна сообщения
    При работе с любой программой можно выводить окна сообщения. Для этого существует команда:
    ShowMessage('текст сообщения');
    Задание 16. На форме добавить командную кнопку Button4. Задать для нее надпись «Автор». При нажатии на кнопку должно выводится сообщение об авторе программы. Для реализации данного задания задать для нее реакцию на событие :
    Procedure TForm1.Button4Click(Sender:TObject); begin
    ShowMessage('Программа разработана Ивановым С.'); end;
    Задания для самостоятельного выполнения
    Составьте программу, которая при выборе соответствующей командной кнопки, изменяет:
    1. Содержание надписи на «Язык программирования», «Система про- граммирования», «Алгоритм»; дополнительно выводится сообщение «Спасибо за работу»при завершении работы программы.
    2. Цвет формы на голубой, фиолетовый, серый; дополнительно выводится сообщение при запуске программы об условии задачи.
    3. Вид отображения рамки панели «выпуклая», «вдавленная», «отсутству- ет»; дополнительно выводится сообщение о назначении компонентов при щелчке мыши на данной компоненте.

    10
    Лабораторная работа №2
    Программирование задач линейной структуры
    При программировании задач линейной структуры необходимо знать ос- новные типы данных, операции и функции их обработки.
    Среди существующих типов данных можно выделить три основные:
    1. Целые типы данных используются для представления целых чисел.
    Есть несколько различных целых типов, которые могут хранить целые значе- ния. Различные целые типы имеют существенно различные диапазоны храни- мых значений, затраты памяти растут с ростом допустимого диапазона значе- ний. Наиболее распространенный из них – тип Integer.
    2. Вещественные типы данных предназначены для хранения чисел, имеющих дробную часть. Наиболее распространенный из них – тип Real.
    3. Логический тип данных – один из простейших и часто используемых.
    Примером логического типа является Boolean. Переменные типа Boolean пред- ставляют собой логические значения True или False.
    В программе каждая переменная перед использованием должна быть описана. С помощью описания устанавливается факт существования перемен- ной, задается ее тип.
    Для описания переменных существует раздел var.
    Var имя переменной: тип данных;
    Пример. var а: real; i: integer;
    Если в программе несколько переменных одного типа, то можно через запятую перечислить имена переменных, относящихся к одному типу, и после имени последней переменной через двоеточие указать тип.
    Пример. var а,b,с: real; xl,x2: integer;

    11
    Для присваивания переменной вычисленного значения используется опе- ратор присваивания. Это наиболее часто используемый оператор языка. Син- таксис оператора присваивания:
    Имя переменной := выражение;
    Символы «:=» всегда пишутся слитно, без разделяющих пробелов, хотя перед двоеточием и после знака равенства можно для лучшей читаемости про- граммы вставлять пробелы. Как и любой другой оператор языка, оператор при- сваивания завершается точкой с запятой. Переменные и результат выражения должны быть одного типа.
    Выражение состоит из операндов (констант, переменных, обращений к функциям), круглых скобок и знаков операций, например a+b*sin(cos(x)).
    При вычислении значений выражений соблюдается приоритет операций.
    Порядок выполнения операций – слева направо, при этом сначала выполняются действия в скобках, после умножение, деление, арифметические функции, а дальше сложение, вычитание. Числа записываются при помощи цифр, причем целая часть от дробной отделяется точкой.
    Таблица 9
    Арифметические операции
    Операция
    Действие
    Тип операндов
    Тип результата
    Пример
    + сложение целый/вещественный целый/вещественный
    4+5 = 9
    + сцепление строк строковый строковый
    – вычитание целый/вещественный целый/вещественный
    9 – 4 = 5
    * умножение целый/вещественный целый/вещественный
    2 * 2 = 4
    / деление целый/вещественный вещественный
    10/4 = 2.5 div целочисленное деление целый целый
    9 div 4 = 2 mod остаток от деле- ния целый целый
    9 mod 4 = 1
    Таблица 10
    Арифметические функции
    Обозначение
    Действие
    Тип аргументов
    Тип результата
    Пример abs(х) модуль числа целый/вещественный целый/вещественный abs(-5.3)=5.3 sqr(х) квадрат числа целый/вещественный целый/вещественный sqr(4)=16 sqrt(х) квадратный корень целый/вещественный вещественный sqrt(4)=2 cos(х) косинус вещественный вещественный sin(х) синус вещественный вещественный

    12 arctan(x) арктангенс вещественный вещественный exp(х) экспонента е
    х
    вещественный вещественный ln(х) натуральный логарифм вещественный вещественный pi число  вещественный без аргумента int(x) целая часть числа вещественный вещественный int(5.4)=5 frac(x) дробная часть числа вещественный вещественный frac(5.6)=0,6 round(х) округление числа вещественный целый round(4.5)=5 trunс(х) отсекание дробной час- ти числа вещественный целый trunc(4.5)=4 random(n) случайное число от 0 до n целый целый random(7)=4 exp(n*ln(x)) возведение числа х в сте- пень n (x
    n
    ) целый/вещественный вещественный exp(5*ln(x))=x5
    Функции, определенный в программном модуле Math
    * arcos(x) арккосинус вещественный вещественный arcsin(x) арксинус вещественный вещественный arccot(x) арккотангенс вещественный вещественный log10(x) десятичный логарифм вещественный вещественный log10(10)=1 log2(x) логарифм по основанию 2 вещественный вещественный log2(4)=2 logn(n,x) логарифм от
    х по основа- нию n вещественный вещественный logn(3,27)=3
    * – эти функции будут работать только в том случае, если в тексте основ- ной программы после ключевого слова uses (список модулей) указать имя Math.
    Пример. uses
      1   2   3   4   5


    написать администратору сайта