Реферат: Внастоящее время в компьютерном мире существует множество языков программирования
Введение
Язык программирования Паскаль. В настоящее время в компьютерном мире существует множество языков программирования. Программу, выполняющую одни и те же действия, можно написать на языках Бейсик (BASIC), Паскаль (Pascal), Си (C). Язык Pascal лучше других языков подходит для обучения программированию. Это обусловлено тем, что язык был разработан в 70-е годы швейцарским ученым Никлаусом Виртом специально для обучения студентов программированию. Язык был назван в честь французского математика и философа Блеза Паскаля.
Наиболее популярным компилятором стала разработка американской фирмы Borland International. С появлением системы MS Windows возникла необходимость написания программ для этой системы и фирма Borland выпустила несколько версий компиляторов для создания программ в среде Windows (Turbo Pascal for Windows). Но наиболее удачной получилась система визуальной среды программирования (RAD-система) Borland Delphi. Первая версия Delphi была создана для Windows 3.1. С появлением системы MS Windows 95, была выпущена 16-разрядная версия Delphi 2.0, а затем и 32-разрядная Delphi 3.0. На момент 2001 года выпушена версия Delphi 6 (C 1998 года фирма Borland International стала называться Inprise Corporation).
Среда Delphi предполагает использование визуальное проектирование и событийное программирование (программирование процедур обработки событий визуальных компонентов), применение которых позволяет существенно упростить процесс разработки и создания приложений, работающих в MS Windows. Программисту требуется только разработать «идею» программы, а «представление» программы сделает Delphi.
Этапы разработки включают в себя:
построение модели программы;
разработку и выбор алгоритма решения поставленной задачи;
набор текста программы. В визуальной среде программирования это означает: создание окна программы, содержащего различные визуальные элементы и написание команд событий;
отладку;
тестирование;
написание и настройку файла помощи;
создание инсталлятора.
Модель программы. На этом этапе определяется, какая информация будет входной и какие результаты должны быть представлены на выходе.
^ Разработка алгоритма — последовательность действий для достижения поставленной задачи. Результатом этого этапа является подробное словесное описание алгоритма или его графическое отображение построение структурной схемы алгоритма.
После создания алгоритма осуществляется собственно этап написания программы. Необходимо создать макеты диалоговых окон и продумать взаимодействие между ними, а затем написать код программы.
При написании программы неизбежно возникают ошибки, как синтаксические (ошибки при наборе текста), так и алгоритмические ошибки — ошибки в самом алгоритме программы. Требуется этап отладки.
При окончании этапа отладки происходит этап тестирования, проверка работоспособности системы с различными входными данными.
При создании коммерческой программы также необходимо создать контекстную помощь — этап создания файла помощи. Этот этап может быть включен в этап написания программы.
Окончательно для распространения программы другим пользователям служит этап — создания инсталлятора.
С
хемы алгоритмов и программ. При написании алгоритма программы наиболее удобным способом отображения является графический способ — схема структурная. Для написания структурных схем алгоритма необходимо использовать ГОСТ 19.701-90 (ИСО 5807-85). Все основные символы алгоритма вписываются в прямоугольник со сторонами a x b. Соотношение сторон a = 2b или 2a = 3b. Базовый размер a берут из ряда 10,15,20 и так далее кратно 5. Основные символы показаны на рис В.2.
Структура пособия. Каждая тема разделена на 2 части: теоретическое знакомство с материалом и описание алгоритма создания программы.
Выполнение работы происходит на двух занятиях. На первом занятии требуется по предлагаемым инструкциям набрать программу и разобраться в её структуре. Второе занятие посвящено созданию программы по индивидуальному заданию.
Результатом работы является созданная программа и отчет, включающий: титульный лист; схему алгоритма; тестовый пример (для вычислительных задач).
Каждая работа заканчивается зачетом по теоретическому материалу рассматриваемой темы и созданной программе.
Замечание. Для выполнения практических заданий подходят все версии Delphi.
^ 1. Знакомство со средой программирования
Borland Delphi
Цель: Получить представление об оболочке программирования Delphi, уметь запустить оболочку, создать простейшую программу.
^ 1.1. Теоретические сведения Оболочка Delphi. Для запуска оболочки Borland Delphi (в дальнейшем будем использовать обозначение Delphi) необходимо выполнить следующие операции:
Выбрать в главном меню MS Windows пункт «Пуск/Программы/Borland Delphi X/Delphi X». Здесь Х обозначает номер версии. Запуск может быть осуществлён и с помощью значка Delphi на «Рабочем столе» (если этот значок там есть). Значок иконки оболочки Delphi в зависимости от версии показан на рис. 1.1.
О
кна Delphi показаны на рис. 1.2. Условно оболочка представляет 4 основных окна: «Главное окно системы», окно «Инспектор объектов», окно «Визуальный проектировщик форм» и окно «Редактор программы».
При создании программы в Delphi приняты понятия проект и модуль. Это связано с модульным способом построения программ. Главная программа называется проектом и содержит ссылки на дополнительные файлы – модули, используемые главной программой.
При создании в Delphi программы создаются следующие типы файлов:
имя1.dpr – имя файла проекта. Имя создаваемой программы определяется именем проекта;
имя2.dfm – имя визуального образа создаваемой программы;
имя2.pas – имя модуля программы, содержащей текст событий визуального образа;
имя1.cfg.,имя2.dcu, имя1.dof, имя1.dsk, имя1.dsm, имя1.res – вспомогательные файлы;
*.~* – резервные копии файлов;
имя1.exe – файл созданной программы.
Для сохранения программы необходимы файлы, указанные в пунктах 1,2,3. Остальные файлы создаются автоматически при компиляции программы.
«Главное окно» состоит из меню системы, панели инструментов, панели визуальных компонентов (рис 1.3.). Меню команд содержит команды Delphi для управления проектом. Панель инструментов содержит иконки кнопок «быстрого доступа» к некоторым командам меню. Панель визуальных компонентов содержит иконки всех визуальных компонент, которые программист может использовать в своей программе, для удобства визуальные компоненты сгруппированы по назначению и расположены на различных вкладках – Standard, Additional, Win32 и т.д.
И
нспектор объектов (Рис.1.4) состоит из двух частей (вкладок) – Properties (Свойства) и Events (События). В верхней строке указан визуальный компонент (объект), для которого настраивается свойства и события. Настроить свойство объекта (вкладка «Properties») можно тремя способами – набрать свойство в строке ввода, выбрать свойство из списка (значок ) и воспользоваться мастером настройки свойств (значок ). Некоторые свойства содержат подствойства, доступ к которым можно получить, щелкнув мышью на значке , чтобы свернуть список подствойств необходимо щелкнуть на значок . Для заполнения событий визуального объекта необходимо выбрать вкладку «Events». Чтобы запрограммировать событие необходимо щелкнуть на выбранном свойстве, при этом становится активным «окно редактора программ».
^ Визуальный проектировщик форм представляет собой окно создаваемой программы. В Delphi есть шаблоны для создания некоторых «специальных» окон: Окно о программе (About), различные диалоговые окна и т.д. Для создания такого окна необходимо при создании новой формы (вид создаваемого окна) выбрать необходимый шаблон в галерее форм. Для этого необходимо выполнить пункт меню в главном окне File/New form (в пятой версии Delphi – File/New…), значок . После создания окна необходимо настроить свойства окна (имя (Name) объекта окно, заголовок, цвет и др.) После этого на окне размещают другие визуальные компоненты. Для этой цели выбирают в главном окне в панели визуальных компонентов необходимый компонент и помещают его на форме (щелкают на выбранном элементе, затем щелкаю на форме в том месте, где должен быть расположен этот компонент). Для точного изменения размера компонента можно использовать комбинацию клавиш на клавиатуре <Shift> и <’стрелки’>. В инспекторе объектов эти свойства задаются в строках Height – высота объекта в пикселях и Width –ширина объекта. Для точного позиционирования объекта в форме можно использовать комбинации клавиш <Ctrl> и <’стрелки’>. Это свойства Top – верхний левый угол объекта и Left – левый край объекта.
При помещении на форму визуального компонента, каждый компонент получает собственное имя (свойство Name). Это имя позволяет обращаться к этому объекту при программировании. Имя построено так, что содержит в названии имя класса, к которому относится объект и порядковый номер используемого элемента данного класса. Пример, имя Form1 – указывает на элемент формы и показывает, что это первый элемент класса Form.
Рекомендация: необходимо изменять имена элементов, чтобы было понятно для чего нужен этот элемент. Но чтобы показать к какому свойству относится объект оставлять заглавные буквы от класса. Пример, Fmain – объект класса Form (буква ‘F’), который обозначает главное окно (‘Main’); BBQuit – объект класса BitBtn (кнопка с картинкой), на что указывает буквы ‘BB’ и эта кнопка служит для выхода из программы (‘Quit’ – выход). Но те объекты, которые будут использоваться только как видимые элементы можно не переименовывать.
При выборе визуального компонента, для которого необходимо написать событие (^ Пример, для кнопки BBQuit написать команду выхода из программы), выбирают в Object Inspector вкладку Events и выбирают необходимое событие – onClick (щелчок мыши), onKeyPress (нажатие клавиши) и др. – и щелкают на нем мышью. Некоторое событие является событием «по умолчанию», то есть если в окне проектировщика форм выбрать визуальный элемент и дважды на нем щелкнуть, то будет программироваться именно это событие (это событие расположено первым в списке событий). При этом становится активным окно Редактора программ. При создании модуля программы часть стандартного текста вводится автоматически.
Структура модуля следующая:
unit Модуль; {имя модуля программы}
{************}
interface {Описание интерфейсной части}
{Разделы доступны другим модулям, использующим этот:}
uses {Раздел модулей – модули, используемые в программе}
Мод1, МодN; {Имена используемых модулей: «Мод1», «МодN»}
Const {Раздел констант}
Конст1 = Знач1; {Присвоение значения «Знач1» константе «Конст1»}
Type {Раздел типов - используемые типы}
Тип1 = описание1; {Описание типа с именем «Тип1»}
var {Раздел переменных - используемые переменные}
Пер1 : Тип1; {Описание переменной «Пер1» типа «Тип1»}
{************}
implementation {раздел описания модуля}
{Разделы доступны глобально внутри модуля:}
Uses {Раздел модулей - модули используемые в программе}
Мод2; {Внутри модуля используется модуль «Мод2»}
Const {Раздел констант}
Конст2 = Знач2; {Присвоение значения «Знач2» константе «Конст2»}
Label {Описание раздела меток}
Метка1; {Описание метки с именем «Метка1»}
Type {Раздел типов - используемые типы}
Тип2 = описание2; {Описание типа с именем «Тип2»}
var {Раздел переменных - используемые переменные}
Пер2 : тип2; {Переменная «Пер2» типа «Тип2»}
{************}
procedure Проц1; {Описание процедуры с именем «Проц1»}
{Разделы доступны локально внутри процедуры:}
^ Type {Раздел типов - используемые типы}
Тип3 = описаине3; {Описание типа с именем «Тип3»}
var {Раздел переменных - используемые переменные}
Пер3 : Тип3; {Переменная «Пер3» типа «Тип3»}
Begin {Начало описания процедуры «Проц1»}
Операция1; {Тело процедуры «Проц1», выполняющих «Операцию1»}
end; {Конец описания процедуры «Проц1»}
end. {Конец описания модуля «Модуль»}
Таким образом, модуль представляет собой три части:
Описание типов, констант, процедур доступных другим программам использующих этот модуль;
Описание типов, констант и т.д. используемых в данном модуле (это раздел глобальных переменных);
Описание самих процедур со своими типами и константами (раздел локальных переменных).
Для каждого оператора или группы операторов может быть написан комментарий. Комментарий заключается в «фигурные скобки». Если необходимо закомментировать одну строку можно использовать символы «двойной слеш». Если необходимо закомментировать часть программы, где уже имеются комментарии, то необходимо использовать «круглые скобки со звездочкой»:
//комментарий одной строки
{комментарий части текста}
(*Комментарий {текста} с комментариями*)
При написании текста модуля имеет смысл использовать отступы в описании конкретных разделов, что дает возможность видеть начало и конец соответствующего раздела.
^ Некоторые команды редактора. При написании программы можно использовать следующие комбинации клавиш для упрощения набора текста:
Справка:
– выдает справку (если курсор указывает на стандартный оператор, то будет выдана справка по этому оператору);
Переключение между окнами:
– переключает окна Визуальный проектировщик и Редактор программ;
– делает активным окно Инспектор Объектов;
– делает активным ^ Главное окно Delphi.
Перемещение по тексту:
<> <> <> <> – передвинуть курсор вверх, вниз, вправо, влево;
,
– передвижение на страницу вверх, вниз;
,
– передвижение в начало текста, конец текста.
Ввод и удаление текста:
– режим «вставки»/«замены» – текущий режим показан внизу окна ^ Редактор программ – «Insert» (вставка) или «Overwrite» (замена);
– добавить новую строку;
, – удалить символ в позиции курсора (Delete) или слева от курсора (BackSpace);
– восстановить текст (^ Пример, удаленный фрагмент).
Работа с фрагментом текста:
<«стрелки»>– выделение текста («окраска» текста инвертируется);
– поместить фрагмент в буфер обмена;
– удалить фрагмент в буфер обмена;
– вставить текст из буфера обмена;
– снять выделение фрагмента;
– сдвинуть фрагмент на символ влево;
– сдвинуть фрагмент на символ вправо.
Установка закладок:
В большом тексте для облегчения перемещения по тексту можно устанавливать закладки.
<«N»> - установить закладку с номером «N» (N - номер закладки, в левой позиции строки появится символ с номером закладки, в данном случае номер «1» (комбинация клавиш <1>))
<«N»> - перейти на закладку с номером «N».
Компиляция и запуск программы:
- компиляция программы (создание файла с расширением «exe» без запуска программы);
- запуск программы.
1>^ 1.2. Создание программы «моя первая программа»
Задача: В качестве первой программы необходимо создать программу «Цветное окно с картинкой».
П
римерный вид окна программы показан на рис. 1.5.
Процесс создания программы происходит по следующему алгоритму:
Запустить оболочку Delphi из пункта меню MS Windows или с «Рабочего стола»;
Сохранить проект в рабочем каталоге с помощью команды «File/Save Project As…», значок в Главном окне Delphi. Необходимо изменить предлагаемые по умолчанию имена на следующие: файл с расширением «dpr» назвать «Work1.dpr» (так будет называться файл создаваемой программы); модуль – файл с расширением «pas» назвать «main», то есть это главное окно программы. Рекомендация: имеет смысл каждый создаваемый проект хранить в отдельной папке; в именах файлов можно использовать только латинские буквы без пробелов!;
Настройка окна программы:
Назвать форму FMain Окно Object Inspector, вкладка Properties, свойство Name;
Заголовок окна изменить на Программа №1 свойство Caption;
Изменить свойство Position на poScreenCenter для вывода окна программы в центре экрана;
Изменить цвет окна на свой «любимый цвет», выбрав цвет из списка свойство Color;
Изменить иконки окна программы свойство BorderIcons, установить все подсвойства в значение False (в программе отсутствуют все системные кнопки окна);
Поместить на форму картинку объект ^ Image на вкладке Additional Панели визуальных компонент в Главном окне Delphi, иконка значка . На форме появится место будущей картинки. Картинка может быть отображена двумя способами: либо занять место, определенное пользователем (рамка картинки) либо изменить рамку под реальные размеры картинки. Для настройки картинки необходимо изменить следующие свойства:
Свойство Picture загружает «мастера» для выбора картинки из файла. Выберите любой файл с картинкой из имеющихся на жестком диске. В состав Delphi входит набор картинок. Их можно получить из папки Image\Splash, находящейся в папке Delphi (для версий 1-2); или в папке Program Files\Common Files\Borland Shared\Image\Splash (для остальных версий). Картинки находятся в двух папках 16 Color и 256 Color в зависимости от используемых в картинке цветов;
Свойство AutoSize – при значении true значения установленные пользователем для картинки (свойства ^ Width – ширина и Height – высота) будут изменены в соответствии с реальными размерами картинки;
Свойство Stretch – при значении true размеры картинки будут адаптированы к размерам установленных пользователем (указанных в свойствах Width и Height);
(Замечание: Свойства AutoSize и Stretch являются взаимно исключающими).
Свойство Transparent – при значении true картинка будет иметь прозрачный фон;
Поместить на форме кнопку для выхода из программы. Можно установить кнопки двух типов – простую объект Button, вкладка Standard, с иконкой объекта , или с картинкой объект BitBtn, вкладка Additional, значок . Изменить свойства:
Name, если установлена кнопка Button изменить на BQuit, если кнопка BitBtn – BBQuit;
Если установлена кнопка BitBtn установить тип кнопки – свойство Kind установить в bkOK (автоматически устанавливается картинка (свойство Glyph) кнопки и заголовок (свойство Caption));
Поместить на форму метку для подписи к картинке объект Label, вкладка Standard, значок . Изменить свойства:
Caption – заголовок, изменить на название помещенной картинки;
Font – шрифт текста, запускает мастера для настройки названия, цвета и стиля шрифта метки.
Запрограммировать выход при щелчке по кнопке:
Активный элемент, то есть элемент, свойства которого настраиваются, выделен рамочкой , если рамочки нет не на одном элементе, то активна форма. Выбрать элемент установленной кнопки на форме (вокруг кнопки будет рамочка);
Дважды щелкнуть по кнопке мышкой – будет выполнено событие onClick на вкладке Events в Object Inspector (это событие является событием «по умолчанием»). Станет активным окно Редактора программ.
Автоматически будет создана процедура для программирования события onClick. текст. Пример, если была использована кнопка BBQuit, текст будет следующим:
Procedure TFMain.BBQuitClick(Sender: TObject);
begin
end;
В теле созданной процедуры (между операторными скобками begin и end) вписать команду закрытия окна – Close. Так как у нас одно окно, то закрытие окна приведет к выходу из программы. Текст программы станет таким:
Procedure TFMain.BBQuitClick(Sender: TObject);
begin
Close;
end;
Обратите внимание! После слова «Close» стоит знак «;», так как на языке Паскаль необходимо ставить знак «точка с запятой» – «;» после каждой команды.
Программа создана! Для запуска программы необходимо:
Сохранить программу команда File/Save All, значок в меню Главного окна Delphi;
Запустить программу Run/Run, в меню Главного окна Delphi или щелкнуть на значок на Панели инструментов в Главном окне Delphi;
Выход из оболочки Delphi осуществляется выбором команды File\Exit, значок
Если при следующем запуске Delphi потребуется загрузить проект, то это можно осуществить через пункт ^ File/Open Project, значок в Главном окне Delphi.
1.3. Итоги
В первой теме были изучены: оболочка Delphi; структура программы; команды редактора.
При создании демонстрационной программы были получены навыки работы со следующими командами и визуальными компонентами: окном формы Form; кнопкой Button; кнопкой с картинкой BitBtn; рисунком Image; меткой Label; командой закрытия окна Close.
^ 2. Условные операторы
Цель: изучение типов переменных, описание переменных и констант, операций с переменными; изучение условных операторов.
2.1. Теоретические сведения Типы данных. Язык Object Pascal предоставляет ряд типов данных. Все они построены на базе стандартных типов стандарта языка Паскаль: Integer – целый тип, переменные этого типа могут принимать положительные и отрицательные числа в диапазоне от –32768 до 32767; Real – вещественный тип, переменные этого типа могут принимать положительные и отрицательные числа, записываемые как в простой форме: 10.12, 5.6, так и в экспоненциальной: 2.123Е5 (=2.123*105), 0.854Е-3 (=0.854*10-4). Диапазон чисел этого типа от 2.9Е-39 до 1.7Е38; Char –символьный тип, переменные этого типа служат для записи значений символов, которые должны заключаться в прямые кавычки: ‘A’, ‘ю’, ‘7’ – переменная содержит символы А, ю, 7; Boolean – логический тип, переменные этого типа могут принимать только два значения true (истина) и false (ложь); Перечисляемый тип – указывает возможные значения переменной, Пример: 1, 5, 45, 56 – переменная такого типа может содержать только одно из перечисленных чисел. На базе стандартных типов переменных созданы все остальные типы Object Pascal. Сводная таблица типов Object Pascal представлена в таблице 2.1 (ячейки стандартных типов выделены).
Таблица 2.1
^ Целые числа Тип данных Диапазон Формат
ShortInt
-128…127
Знаковый, 8 бит
SmalInt
-32768…32767
Знаковый, 16 бит
LongInt
-2147483648…2147483647
Знаковый, 32 бита
Byte
0…255
Беззнаковый, 8 бит
Word
0…65535
Беззнаковый, 16 бит
Integer
^ Поддержка 16 разрядов
–32768…32767
Знаковый, 16 бит
Cardinal
0..65535
Беззнаковый, 16 бит
Integer
^ Поддержка 32 разряда
–2147483648…2147483647
Знаковый, 32 бита
Cardinal
0… 2147483647
Беззнаковый, 32 бита
Comp
–9.2*1018 …9.2*1018
Целый, абсолютно точный
^ Вещественные числа Тип данных Диапазон Кол-во цифр Кол-во байт Real
2.9*10-39…1.7*10+38
11–12
6
Single
1.5*10-45…3.4*10+38
7–8
4
Double
5.0*10-324…1.7*10+308
15–16
8
Extended
3.4*10-4932…1.1*10+4932
19–20
10
Символы
^ Тип данных
Символы
Коды
AnsiChar
ANSI
0…255
WideChar
Unicode
0…65535
Char
ANSI
0...255
Таблица 2.1 (продолжение)
Строки
Тип
Тип строки
String
Статическая длина от 0 до 255 символов
ShortString LongString
Динамический
Длина ограничена объемом памяти
WideString
Тоже, но каждый символ Unicode-символ (16 бит)
Логический
Тип
Значение
Boolean
True (истина), False (ложь)
^ Переменные и константы. Для описания переменных служит раздел переменных, начинающийся ключевым словом Var. Переменные могут быть глобальными (переменная доступна в любом месте программы) и локальными (переменные доступны только в той процедуре, в которой они описаны). Объявление переменной выглядит так: ^ имя : тип;
где имя – имя объявляемой переменной; тип – один из типов языка Object Pascal. Пример:
var
a,b,c: real;
S : String;
В примере введены три переменные типа real и одна переменная string. Однотипные переменные можно перечислять через запятую.
Замечание: имя переменной может содержать только латинские буквы и не зависит от выбранного регистра, то есть переменные s и S – это одна и та же переменная. Удобно записывать разнотипные переменные на разных строках.
При назначении переменной значения используется оператор «присвоить» – «:=».
В общем виде присвоение выглядит так:
^ Имя := Выражение;
Пример: k := 5; – присвоить переменной k значение 5; с := 5 + t; – присвоить переменной с значение 5 + t .
В языке Паскаль существует два вида констант: обычные и именованные. Обычная константа – это целое или дробное число, строка символов или отдельный символ, логическое значение. Именованные константы, как и переменные, перед использованием должны быть объявлены в разделе описания констант. Описание именованной константы в общем виде:
^ Константа = значение;
где константа – имя объявляемой константы; значение – значение именованной константы.
Пример:
Const
Ch = ‘S’; // Константа Ch содержит символ S
V = 3; // Константа V содержит значение цифры 3
Тип константы определяется ее значением. После объявления константы в инструкциях программы вместо значения константы можно использовать её имя.
Операции с переменными. Выражение состоит из операторов и операндов. Операции находятся между операндами. Операндами могут быть константы и/или переменные. Операции определяют действия, выполняемые над операндами. В таблице 2.2 указаны операторы, их действия и тип полученного выражения.
Таблица 2.2
Оператор
Действие
Тип оператора
^ Тип выражения
+
Сложение
Если один операнд real
все integer
Real
Integer
-
Вычитание
Если один операнд real
все integer
Real
Integer
*
умножение
Если один операнд real
все integer
Real
Integer
/
Деление
real или integer
Real
div
Деление нацело
Всегда integer
Integer
mod
Остаток от деления
Всегда integer
Integer
Логические операторы
Оператор Действие Операнд1
Операнд2
Результат
and
Дизъюнкция
(«И»)
False
false
false
False
true
false
True
false
false
True
true
true
or
Конъюнкция
(«ИЛИ»)
False
false
false
True
false
true
False
true
true
True
true
true
Not
Инверсия
(Отрицание)
false
true
true
false
Оператор Описание Значение выражения
>
Больше
^ True, если первый операнд больше второго, иначе False
<
Меньше
True, если первый операнд меньше второго, иначе False
=
Равно
^ True, если первый операнд равен второму, иначе False
<>
Не равно
True, если первый операнд не равен второму, иначе False
>=
Больше или равно
^ True, если первый операнд больше или равен второму, иначе False
<=
Меньше или равно
True, если первый операнд меньше или равен второму, иначе False
Условные операторы. Условный оператор позволяет выбирать одно из двух действий, причем выбор осуществляется во время выполнения программы. Существует 2 вида условных операторов:
If условие then действие;
If условие then действие1 else действие2.
где условие – выражение логического типа; действие1, действие2 – отдельные операторы или операторы, сгруппированные вместе при помощи операторных скобок begin и end. Такой оператор называется составным.
Графически операторы условия изображены на рис 2.1.
З
амечание: над потоками должны быть указаны значения условия, при котором выполняется действия (на рисунке это «истина» и «ложь»).
Для оператора первого типа, если выражение условие принимает значение true, выполняется действие, стоящее после ключевого слова then. Если же значение условие равно false, то действие не выполняется. Пример: If X > Y then X := 5; - значение переменной Х станет равным 5 только в том случае, если выполняется условие X > Y, в противном случае значение Х останется без прежним.
Для оператора второго типа, если условие принимает значение true, то выполняется действие1, стоящее после оператора true, при значении условия false выполняется действие2, стоящие после оператора else.
Пример: If X > Y then X := 5 else X := 3; - значение переменной Х станет равным 5 при условии X > Y, при невыполнении условия Х станет равным 3.
Замечание 1: перед оператором else значок «точка с запятой» не ставится!
Замечание 2: в условном операторе выполняется только один оператор стоящий после слов then или else, если требуется выполнить несколько операторов, необходимо поместить операторы между операторными скобками begin и end.
Пример, переменные X и Y должны получить значения 5 и 23 соответственно при выполнении условия А>0 и обнуляются (получают значение 0), если A<0. Оператор условия будет выглядеть так:
If A > 0 then
begin
X := 5;
Y := 23;
end
else
begin
X := 0;
Y := 0;
end;
Операторы, следующие после then или else, в свою очередь также могут быть условными операторами.
Условный оператор первого типа - If условие then действие
Оператор действие может быть условным оператором первого типа (рис. 2.2.). Тогда будет конструкция:
If условие1 then
If условие2 then действие
В этом случае оператор действие определяется однозначно.
Оператор действие может быть условным оператором второго типа, тогда будет конструкция:
If условие1 then
If условие2 then действие1
else действие2.
Возникает вопрос: какому оператору then соответствует else?
(Рис. 2.3). Для обеспечения однозначности в языке Паскаль принято соглашение о том, что каждому else соответствует предыдущий свободный then.
Условный оператор второго типа – If условие then действие1 else действие2
Оператор действие1 условный оператор первого типа, оператор действие2 не является условным оператором (Рис. 2.4.). Получаем конструкцию:
If условие1 then
begin
If условие2 then действие1
end
else действие2.
Видно, что оператор действие1необходимо заключить в операторные скобки, их отсутствие приведет к схеме на рис.2.3.
Рекомендации:
Для упрощения чтения текста программы при описании условных операторов используйте лидирующие пробелы для выделения каждого раздела.
Если возникают трудности в оценке порядка выполнения действий в условном операторе, используйте операторные скобки.
Оператор выбора. Если при построении условного оператора известны большинство возможных значений условия, то необходимо использовать оператор выбора. В общем виде структура этого оператора следующая:
Case переменная of
Значение1 : Действие1;
…
ЗначениеN : ДействиеN;
else
ДействиеN1;
end;
где
Переменная – переменная перечисляемого типа (например: integer, char);
Значение1, … , ЗначениеN – возможные значения переменной;
Действие1, … , ДействиеN – действия, выполняемые при значении переменной равному одному из значений Значение1, … ,ЗначениеN;
ДействиеN1 – действие, выполняемое в случае, когда переменная не принимает ни одно из перечисленных значений (^ Значение1, … , ЗначениеN).
Структурная схема оператора выбора показана на рисунке 2.5.
Также, как и при использовании условного оператора, если Действие представляет собой несколько операторов их нужно поместить в операторные скобки begin и end. Действие, выполняемое при отсутсвии значения переменной может отсутсвовать тогда схема оператора выбора будет следующей:
Case переменная of
Значение1 : Действие1;
…
ЗначениеN : ДействиеN;
e
nd;
Замечание: Оператор Case всегда оканчивается оператором end.
Очень удобно использовать оператор выбора при анализе нажатия клавиш клавиатуры.
Пример: Пусть в разделе переменных описана переменная Ch типа Char.
Case Ch of
‘W’ : Y := Y + 1;
‘X’ : Y := Y – 1;
end;
В примере анализируется переменная Ch. Если Ch содержит символ «W», то переменная Y увеличивается на 1; Если Ch содержит символ «X», то переменная Y уменьшается на 1.
^ 2.2. Создание программы «попадание точки в фигуру»
Задача: Дана сложная фигура, вписанная в квадрат с координатами: левый нижний угол (5,5), верхний правый угол (20,20). Требуется написать программу для определения попадания точки с введенными координатами в указанную фигуру. Примерный вид окна программы показан на рис. 2.6.
Процесс создания программы происходит по следующему алгоритму:
Запустить программу Delphi;
Сохранить проект как «Work2», модуль назвать «Main»;
Создать образ окна:
Изменить заголовок на «Попадание точки в фигуру»;
Создать изображение фигуры:
Поместить в форму элемент Shape, вкладка Additional, значок ;
Изменить свойства объекта:
Изменить размер объекта для обеспечения попадания в окно 3 элементов по вертикали и трех по горизонтали, элемент должен быть квадратом;
Изменить цвет квадратика (свойство Brush/Color и Pen/Color);
С
копировать образ квадратика в буфер обмена (при классической раскладке клавиатуры в Delphi это комбинация );
Поместить на форму 7 копий квадратика из буфера обмена ();
Разместить квадратики в фигуру «квадратный бублик» (см. рис.2.6). Необходимо обеспечить пустое пространство внизу и слева от фигуры для размещения начала координат – в левом нижнем углу фигуры должен «поместиться» как бы еще один квадратик;
Создать 2 элемента для ввода координат точки:
Поместить на форму 2 элемента SpinEdit, вкладка Samples, значок ;
Назвать один элемент SECoordX (для координаты X) и SECoordY (для координаты Y) свойство Name (в дальнейшем изменяемое свойство будет обозначаться после стрелки);
Настроить минимальное возможное значение вводимого числа 0, максимальное – 25, значение по умолчанию 0 и шаг изменения величины 1 соответственно MinValue, MaxValue, Value и Increment;
Добавить надписи к полям ввода:
Поместить 2 элемента Label, вкладка Standard, значок ;
Настроить надписи на «Координата X» и «Координата Y» Caption;
Добавить метку для вывода результата попадания точки:
Поместить элемент Label, вкладка Standard, значок ;
Назвать элемент LResult Name;
Изменить заголовок на «Мимо» Caption;
Добавить кнопки для запуска вычислений и выхода из программы:
Добавить 2 элемента Button, вкладка Standard, значок ;
Назвать кнопку для выхода BQuit, а кнопку для вычисления BOk Name;
Изменить заголовки кнопок на «Выход» и «Ok» Caption;
Образ окна создан!
Запрограммировать выход – щелкнуть на кнопке BQuit и ввести команду Close;
Проанализировать форму фигуры для создания алгоритма – в нашем случае проверить попадание в большой квадрат и проверить не попадает ли точка во внутренний квадрат;
Вернуться на форму (клавиша ) и запрограммировать кнопку BOk:
Щелкнуть дважды на кнопке BOk;
Записать оператор проверки координат. (Координаты можно получить у элементов SECoordX и SECoordY через свойства Value – обращение к свойству объекта осуществляется через «точку» - например: SECoordX.Value дает значение свойства Value элемента SECoordX. SECoordX.Value дает значение введенной координаты X, SECoordY.Value дает значение введенной координаты Y.):
If (((SECoordX.Value >= 5) and (SECoordX.Value <= 20) and
{ попадание Х в большой квадрат}
(SECoordY.Value >=5) and (SECoordY.Value <= 20))and
{ попадание Y в большой квадрат}
Not ((SECoordX.Value >10) and (SECoordX.Value < 15) and
{не попадание Х в малый квадрат}
(SECoordY.Value > 10) and (SECoordY.Value < 15)))
{ не попадание Y в малый квадрат}
then LResult.Caption := ‘Попал’{Вывод сообщения «Попал» }
else LResult.Caption := ‘Мимо’;{Вывод сообщения «Мимо» }
Запустить программу
Для улучшения программы необходимо:
Перерисовывать результат сразу при вводе координат;
Добавить «точку» для визуализации положения точки.
Для реализации пункта 14а необходимо:
Выбрать элементы SECoordX и SECoordY (удерживая клавишу щелкнуть сначала на одном элементе, затем на другом – оба элемента будут отмечены рамочкой - это позволит настраивать общие события для выделенных элементов одновременно);
Настроить событие (вкладка ^ Events в Object Inspector) onChange так, чтобы оно указывало на событие BOkClick (выбрать это событие из списка). Таким образом, для этих элементов событие onChange будет равносильно событию onClick для кнопки BOk – при смене координат сразу будет выполняться нажатие кнопки «Ok»;
Так как кнопка «Ok» обрабатывается автоматически можно сделать эту кнопку «невидимой» - изменить свойство Visible в значение false для объекта BOk. При запуске программы кнопка «Ok» видна не будет.
еще рефераты
Еще работы по разное
Реферат по разное
Вопросы к зачету по компьютерному моделированию
17 Сентября 2013
Реферат по разное
Правила преобразований из одного типа в другой и правила приведения типов в языке Object pascal. Массивы: статические, открытые, динамические. Операции с массивами
17 Сентября 2013
Реферат по разное
Остеохондроз позвоночника Остеохондроз шейного отдела позвоночника
17 Сентября 2013
Реферат по разное
Продолжительность программы 7 дней Медицинские показания: остеохондроз позвоночника и сопровождающие его симптомы боли в шейном, грудном и поясничных отделах; головные боли и головокружения
17 Сентября 2013