- •Лабораторная работа № 1 Среда программирования Delphi. Линейные алгоритмы
- •Краткие теоретические сведения
- •Графическая среда разработки Delphi
- •Компоненты
- •Обработка событий
- •Редактор кода
- •Компиляция
- •Отладка
- •Структура проекта
- •Сохранение проекта
- •Идентификаторы, операторы
- •Типы данных
- •Переменные
- •Константы
- •Выражение
- •Оператор присваивания
- •Комментарии
- •Стандартные функции
- •Ввод данных
- •Вывод результатов
- •Вывод в окно сообщения
- •Порядок выполнения работы
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 2 Программирование алгоритмов разветвляющейся структуры
- •Краткие теоретические сведения
- •Условие
- •Структура ветвления
- •Компонент Memo
- •Порядок выполнения работы
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 3 Операторы цикла. Создание изображений
- •Краткие теоретические сведения
- •Создание изображений
- •Класс tFont
- •Класс tPen
- •Класс tBrush
- •Компонент Image
- •Компонент Shape
- •Компонент Timer
- •Методы вычерчивания графических примитивов.
- •Порядок выполнения работы Пример1. Использования оператора цикла while
- •Пример2. Создание простейшего изображения.
- •Пример создания заставки
- •Пример 3. Создание приложения, содержащего круговую диаграмму.
- •Содержание отчета
- •Варианты заданий
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 4 Одномерные массивы. Цикл с параметром
- •Краткие теоретические сведения
- •Объявление массива
- •Цикл с параметром
- •Инициализация массива
- •Операции с массивами
- •Вывод массива
- •Ввод массива
- •Использование компонента StringGrid
- •Использование компонента Memo
- •Создание меню
- •Компонент tMainMenu
- •Диалоговые панели File Open и File Save
- •Вывод в файл
- •Открытие файла для записи
- •Закрытие файла
- •Ввод из файла
- •Открытие файла для чтения
- •Чтение чисел
- •Поиск минимального (максимального) элемента массива
- •Поиск в массиве заданного элемента
- •Сортировка массива
- •Порядок выполнения работы
- •Пример 2. Разработка диалоговой программы для работы с произвольным массивом вещественных чисел.
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 5 Двумерные массивы. Вложенные циклы.
- •Краткие теоретические сведения
- •Объявление матриц
- •Инициализация двумерного массива
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 6 Функциональная и интерфейсная эмуляция формы
- •Краткие теоретические сведения
- •Компонент Image
- •Многостраничный блокнот — компоненты tTabControl и tPageControl
- •Компоненты tTreeView w tListView
- •Задание к лабораторной работе
- •Варианты заданий
- •Контрольные вопросы
Структура ветвления
Структура ветвления алгоритма может быть реализована с помощью условного оператора и оператора выбора (варианта).
Условный оператор может иметь следующие формы записи:
IF <Логическое выражение> THEN <Оператор>;
Логическое выражение представляет собой условие. Данная структура ветвления изображена на рис. 2.1. Эта структура используется, если какое-либо действие должно быть выполнено только при выполнении определенного условия и пропущено, если это условие не выполняется.
Рис. 2.1. Структура ветвления.
Если <Логическое выражение> принимает значение – "ИСТИНА", то выполняется <Оператор>, стоящий за THEN, в противном случае выполняется оператор, стоящий после точки с запятой, т.е. следующий за условным оператором.
Пример:
if n=m
then c:=c+l;
Значение переменной с увеличивается на 1 только в том случае, если переменные n и m равны. Если они не равны, то выполняются операторы, расположенные после точки с запятой.
Формально в условном операторе после слова THEN может стоять один оператор. Если необходимо выполнение нескольких операторов, то используется составной оператор:
IF <Логическое выражение> THEN
BEGIN
<Оператор1>;
<Оператор2>
…
<ОператорN>
END;
Пример:
if a<>0
then begin
d:=d*2;
b:=b+3;
end;
IF <Логическое выражение> THEN <Оператор1> ELSE <Оператор2>;
Данная структура изображена на рис. 2.2. Эта структура используется, если при выполнении какого-либо условия необходимо выполнить одни действия, а при невыполнении – другие.
Рис. 2.2. Структура ветвления.
Если <Логическое выражение> принимает значение "ИСТИНА", то выполняется <Оператор1>, иначе <Оператор2>.
Пример:
if otv=3 then
prav:=prav+l
else
ShowMessage('Ошибка!') ;
Условные операторы можно вкладывать друг в друга, например:
IF <Логическое выражение1>
THEN <Оператор1>
ELSE IF <Логическое выражение2>
THEN <Оператор2>
ELSE <Оператор3>;
Эта структура изображена на рис. 2.3.
Рис. 2.3. Вложенное условие.
Else всегда относится к ближайшему if.
IF <Логическое выражение1>
THEN BEGIN <Оператор1>
IF <Логическое выражение2>
THEN <Оператор2>
END;
ELSE <Оператор3>;
Else в данном случае относится к первому if, но если убрать begin и end, будет относиться ко второму.
Компонент Memo
Компонент Memo находится на вкладке Standard и выглядит так: . Он позволяет вводить и выводить текст, состоящий из достаточно большого количества строк. Добавляется на форму как все остальные компоненты. В таблице 2.1 перечислены свойства компонента Memo.
Таблица 5.3. Свойства компонента Memo
Свойство |
Определяет |
Name |
Имя компонента. Используется в программе для доступа к свойствам компонента |
Text |
Текст, находящийся в поле Memo. Рассматривается как единое целое |
Lines |
Текст, находящийся в поле Memo. Рассматривается как совокупность строк. Доступ к строке осуществляется по номеру |
Lines .Count |
Количество строк текста в поле Memo |
Left |
Расстояние от левой границы поля до левой границы формы |
Top |
Расстояние от верхней границы поля до верхней границы формы |
Height |
Высоту поля |
Width |
Ширину поля |
Font |
Шрифт, используемый для отображения вводимого текста |
ParentFont |
Признак наследования свойств шрифта родительской формы |
Получить доступ к находящейся в поле Memo строке текста можно при помощи свойства Lines, указав в квадратных скобках номер нужной строки (строки нумеруются с нуля).
Чтобы добавить в поле Memo новую строку текста, используется метод Add.
Например:
Memo1.Lines.Add(‘x1=’+FloatToStr(x1));
Чтобы очистить Memo, используется метод Clear.
Например:
Memo1.Clear;
Задание к выполнению лабораторной работы
Задание А
Выполнить пример, приведенный в описании порядка выполнения данной лабораторной работы.
Задание Б
Для функции y=y(x), заданной графически, построить аналитическую зависимость. Составить блок-схему и программу вычисления величины y при заданном значении аргумента.
Задание В
Разработать алгоритм, составить его блок-схему и программу для решения задачи, указанной в соответствующем варианте. Подобрать тестовые данные и протестировать.