- •Б2.В.1 теория алгоритмов
- •Среда программирования Pascal abc. Алгоритмы линейной структуры
- •Общие сведения
- •Принцип работы
- •Содержание работы
- •Требования к отчету
- •Нелинейные алгоритмы с разветвлением
- •Общие сведения
- •Содержание работы
- •Требования к отчету
- •Алгоритмы циклической структуры
- •Общие сведения
- •Содержание работы
- •Требования к отчету
- •Алгоритмы обработки массивов и матриц
- •Общие сведения
- •Содержание работы
- •Требования к отчету
- •Решение задач на эмуляторе машины Поста
- •Общие сведения
- •Принцип работы
- •Пример: вычитание натуральных чисел p – q
- •Описание программы-эмулятора машины Поста
- •Содержание работы
- •Требования к отчету
- •Изучение машины Тьюринга на программном эмуляторе
- •Общие сведения
- •Принцип работы
- •Пример: умножение чисел в унарной системе счисления
- •Описание программы-эмулятора машины Тьюринга
- •Содержание работы
- •Требования к отчету
- •Изучение нормальных алгоритмов Маркова
- •Общие сведения
- •Принцип работы
- •Пример 1: использование алгоритма Маркова для преобразований над строками
- •Пример 2: преобразование чисел
- •Описание программы-эмулятора алгоритмов Маркова
- •Содержание работы
- •Требования к отчету
- •Знакомство со средой программирования Delphi
- •Алгоритмы численных методов и сортировки
- •Библиографический список
- •Темы для рефератов
- •Портреты ученых, приведенных в тексте
Содержание работы
Запустить программу-эмулятор алгоритмов Маркова. Ознакомиться с работой эмулятора и набором команд. Воспроизвести (не сохраняя в файл) предложенные выше примеры. По указанию преподавателя выбрать варианты из папки \..Exampleпрограммы-эмулятора. По завершении работы результаты сохранить в файл.
Требования к отчету
Отчет должен содержать:
название работы, постановку задачи и сведения о последовательности её выполнения;
скриншот работающей программы (результаты работы);
ответы на контрольные вопросы из Приложения Б, указанные преподавателем.
Знакомство со средой программирования Delphi
Цель занятия – изучение основных особенностей и приемов работы в среде программированияDelphiна примере классической версииDelphi 7.
Объем занятия – 2 часа.
Общие сведения
Delphi – интегрированная среда разработкиПОдляMicrosoft Windows на языке Delphi (ранее носившем название Object Pascal), созданная первоначально фирмой Borland и на данный момент принадлежащая и разрабатываемая Embarcadero Technologies. Delphi – объектно-ориентированная среда визуального программирования, позволяющая значительно упростить процесс последнего, и тем самым, повысить скорость разработки программ; обладающая удобным развитым интерфейсом и весьма широким набором дополнительных компонент.
Принцип работы.
Обучение простейшим приемам работы. Для запуска Delphi нужно создать ярлык на рабочем столе, найдя пункт (значок) в меню Пуск Все Программы Borland Delphi Delphi, и перетащить его на рабочий стол.
После запуска видны четыре окна Delphi. Вверху во всю ширину экрана окно управления проектом и средой разработки – главное окно Delphi.
Сохранение программы
При его сворачивании сворачиваются и все остальные. Слева – Инспектор объектов. В нём задаются свойства составляющих программу компонентов. В центре одно над другим два окнаDelphi: окно формы будущей программы и окно программной начинки. Основную часть занимает окно, которое вDelphiназываетсяФорма. ИменноФормаявляется визуальным прообразом будущей программы. Даже без программного кода, созданного для конкретной задачи, программа в таком виде (ничего не исполняя) уже работает. Чтобы запустить ее, необходимо:
Навести указатель мышки на зелёный треугольник-стрелку на главном окне (при этом всплывает подсказка "Run (<F9>)")3.
После щелчка на этой кнопке (или <F9> на клавиатуре) можно получить готовую Windows-программу.
По умолчанию программа создаётся в папке C:\Program Files\Borland\Delphi7\Projects:
Сохранение программы
Для удобства работы желательно скопировать полученный значок программы (например, на рабочий стол) и использовать так, как нужно, чтобы при тестировании проверять её без использования Delphi.
В рассмотренном случае получается программа, состоящая из одного пустого окна. Тем не менее, программа имеет все атрибуты, присущие всем программам в Windows: заголовок, системное меню (чтобы убедиться в этом, достаточно сделать щелчок на левом крае заголовка – кнопке системного окна), кнопки свернуть, развернуть, закрыть, может менять свои размеры. Закройте полученную программу.
Рассмотрим некоторые свойства Формы:
Надпись на заголовке – свойство Caption. Сейчас это Form1, и совпадает со свойством Name. В инспекторе объектов можно поменять их по своему усмотрению. Напишите в свойстве Caption, например, "Простейшая программа!"
Цвет – свойство Color.
Размеры – ширина и высота в пикселах, свойства Width и Height. Изменяем их мышкой, двигая края Формы, затем устанавливаем более точные значения в Инспекторе.
Положение на экране – свойства Top и Left. Это расстояния в пикселах от верхней и левой границы экрана соответственно. Если необходимое положение Формы закрывает элементы управления Delphi, можно ее свернуть. Но есть очень полезное
свойство Position, с помощью которого можно настроить автоматическое появление Формы в нужном месте. Разверните выпадающий список:
При значении poDesigned Форма появится в том месте, где она находилась при проектировании. Это значение по умолчанию.
При значениях poDesktopCenter и poScreenCenter Форма появится в центре рабочего стола или центре экрана.
Форма может быть вызвана из другого окна-формы. Тогда при значениях
poMainFormCenter она появится в центре главного окна приложения,
poOwnerFormCenter – в центре вызывающего окна, так называемого "владельца".
Можно запрограммировать появление Формы в нормальном, минимизированном или максимизированном состоянии. За это отвечает
свойство WindowState – значения wsNormal, wsMinimized и wsMaximized соответственно.
Не у всех окон в заголовке есть кнопки свернуть, развернуть, закрыть. Их наличием или отсутствием управляет
свойство BorderIcons. В Инспекторе слева от него «+», открывающий признак наличия или отсутствия нужной кнопки. True – кнопка будет, False – нет. Следует заметить, что изменения видны только в работающей программе, а не в прототипе.4
Для управления границами Формы служит
свойство BorderStyle. При значении
bsSizeable обычная Форма, значение по умолчанию.
bsNone – Форма вообще не будет иметь границ, включая строку заголовка.
bsSingle – Форма не может менять размеры, но может свернуться или развернуться.
Таким образом, комбинируя свойства BorderIcons и BorderStyle можно, например, получить форму с неизменными размерами и без возможности свернуться и развернуться:
Измененная форма
Сохранение проекта. Так как по умолчанию Delphi сохраняет новые проекты в папке C:\Program Files\Borland\Delphi7\Projects, что приводит в итоге к крайнему неудобству в работе, следует сразу в начале работы над новым проектом командой меню File -» Save All (или соответствующей кнопкой на главном окне) сохранить проект в папку, специально созданную для него.5Проект в целом сохраняется в файле с именемProject1. Форма функционирует вместе с программой, описывающей её работу, так называемым модулем. Если модулей в проекте несколько, для каждого из них Delphi создаст отдельный файл, и предложит его сохранить под именем Unit1, Unit2 и т.д. Поэтому рекомендуется для каждого проекта и модуля создавать собственную папку и переименовывать при сохранении согласно решаемой задаче.
После сохранения выполните команду File -» Close All. Откройте файл модуля командой Open.... Модуль откроется вместе с формой, но кнопка запуска программы окажется неактивной. Поэтому сначала нужно открывать файл проекта. Для этого есть специальная команда меню File -» Open Project... <Ctrl>+< F11>, и соответствующая кнопка, прямо над кнопкой запуска. Теперь в окне выбора будет только один файл, файл проекта. При его открытии будет открыт и первый модуль и первая форма проекта. Если в проекте несколько форм, их модули и формы открываем командой Open... Можно открывать модули других проектов, например, для копирования кода.
Пример 1: определение веса
Создадим простую задачу расчета избыточного веса по формуле:
Рост – вес = разность
Если полученная разность отклоняется в ту или иную сторону не более, чем на 3 единицы от 100, то вес считается нормальным, в противном случае должно выдаться соответствующее сообщение. Общий вид окна задачи приведен на рис. 19.
Для создания последней потребуются следующие компоненты VCL (палитра компонентов) вкладки «Стандартная» (“Standard”): Label (Метка), Edit (Окно вода), Button (Кнопка) с соответствующими свойствами и количеством.
Общий вид окна задачи
Таблица 1. Основные свойства Формы и использованных компонентов
№ п/п |
Компонент палитры |
Свойство | |
название |
значение | ||
|
Form1 |
BorderStyle |
bsNone |
|
|
Color |
clMoneyGreen |
|
|
Height |
200 |
|
|
Position |
poScreenCenter |
|
|
Width |
380 |
|
Label1 |
Caption |
Введите Ваш рост (в см) |
|
|
Font Size |
8 |
|
|
Height |
16 |
|
|
Left |
30 |
|
|
Top |
20 |
|
|
Width |
160 |
|
Label2 |
Caption |
Введите Ваш вес (в кг) |
|
Label3 |
Caption |
Ваш вес является |
|
|
Height |
24 |
|
|
Font Size |
11 |
|
|
Top |
100 |
|
|
Width |
165 |
|
Label4 |
Left |
256 |
|
Edit1 |
Height |
20 |
|
|
Top |
50 |
|
|
Width |
150 |
|
Button1 |
Caption |
Расчет |
|
|
Left |
90 |
|
|
Height |
30 |
|
|
Top |
150 |
|
|
Width |
90 |
|
Button1 |
Caption |
Выход |
Ниже приведена «распечатка» программного модуля задачи.
unit Vash_ves_1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button2: TButton;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ves, rost, raznost: integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
rost:= StrToInt(edit1.Text);
ves:= StrToInt(edit2.Text);
raznost:= rost-ves;
Label4.Caption:= 'нормальным!';
if (raznost<100-3) then Label4.Caption:= 'избыточным!'
else
if (raznost>100+3) then Label4.Caption:= 'недостаточным!';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
end.
Для ввода программного кода необходимо после создания формы с компонентами, выбрав из последних кнопку Button1, в окне Инспектора объектов во вкладке Events (События) на строке OnClick сделать двойной щелчок в поле справа. После этого откроется окно редактора кода, в котором для выбранного компонента будет добавлен шаблон процедуры обработки события; при этом в поле события будет указана функция его обработки.
Аналогично создается программный код для кнопки Button26. После написания программы необходимо ее откомпилировать, выявив, тем самым, синтаксические ошибки, сохранить программный модуль и сам проект в долговременной памяти компьютера (например, н жестком диске). При этом требуется создать папку проекта и ввести оригинальные имена для программного модуля и проекта в целом (лучше использовать близкие примерно совпадающие названия: например, для первого избрав название Vash_ves_1, а для последнего – Vash_ves_) .
В дальнейшем после сохранения проекта в виде откомпилированного «.exe-шного» файла можно запускать программу вне среды Delphi из папки проекта или создав ярлык файла в удобном месте.
Содержание работы
Запустить программную среду Delphi7. Ознакомиться с компонентами окна приложения (Главное окно, меню, палитра компонентовVCL,Инспектор объектов,Дерево объектов, окноФормы, окноРедактора кода). Воспроизвести пример, приведенный выше («определение веса»). По указанию преподавателя выбрать вариант из Приложения З. По завершении работы результаты сохранить в файл.
Требования к отчету
Отчет должен содержать:
название работы, постановку задачи и сведения о последовательности её выполнения;
скриншот работающей программы (результаты работы);
ответы на контрольные вопросы из Приложения Б, указанные преподавателем.