- •Д.С.Ситкин
- •Информатика.
- •Программированиевdelphi
- •Лабораторныйпрактикум
- •Содержание
- •Введение
- •Основныепонятияпрограммирования
- •Этапыпрограммирования
- •Средаdelphi.Созданиепростейшегопроекта
- •Формаиеёсвойства
- •Компонентыформыиихсвойства
- •КомпонентLabeledEdit
- •Событиеипроцедураобработкисобытия
- •Пример1.1
- •Компиляцияизапускпроектанаисполнение
- •Структураисохранениепроекта
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Линейныйалгоритм
- •Типыданных
- •Константыипеременные
- •Арифметическиеоперации
- •Правилазаписитиповыхдействий
- •Структурапроцедурыобработкисобытия
- •Пример2.1
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Подпрограммы
- •Классификацияиструктураподпрограмм
- •Механизмработыподпрограммыиобменапараметрами
- •Пример3.1
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Структурамодуля
- •Созданиеиподключениемодуля
- •Пример4.1
- •Условныйоператор.Неполнаяформа
- •Условныйоператор.Полнаяформа
- •IfусловиеthenоператорS1elseоператорS2
- •Пример5.1
- •Пример5.2
- •Операторвыбора
- •Пример5.3
- •Содержаниеотчёта
- •Контрольныевопросы
- •Контрольсинтаксисавводимыхданных
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Алгоритмыповторений
- •Операторцикласпредварительнымусловием
- •Пример7.1
- •Операторцикласпараметром(сосчётчиком)
- •Пример7.2
- •Пример7.3
- •Операторцикласпоследующимусловием
- •Пример7.4
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Массивы
- •Объявлениемассива
- •Обработкамассивов
- •Пример8.1
- •Динамическиемассивы
- •Подпрограммасоткрытымпараметром-массивом
- •Пример8.2
- •Целесообразностьвыделенияпамятиподмассивы
- •Контрольсинтаксисаэлементовмассива
- •Задание
- •Обработкамногомерныхмассивов
- •Пример9.1
- •КомпонентStringGrid
- •Пример9.2
- •Сортировкамассивов
- •Пример9.3
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Внешниефайлы
- •Физическиеилогическиефайлы
- •Классификациялогическихфайлов
- •Процедурыифункцииобработкифайлов
- •Пример 10.1
- •КомпонентыOpenDialog иSaveDialog
- •Пример 10.2
- •Пример 10.3
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Олабораторнойработе
- •Информатика. Программированиев delphi
Задание
Разработать проект для вычисления значения выраженияz, гдеxиy– переменные,aиb– константы. Представить результат в трёхформатах: обычном, экспоненциальном, с округлением до трёх знаковпослезапятой.
z a 2a b
x
2.
za 2asinxcosx siny
cosy
sin(y
b)cos(yb)
za
z
xx37a5
xb
(xb)37
yy37
x3y2 (ax)3y2
x3(by)2
z
y3x2y3(ax)2
(by)3x2
6.z2
eX
e2X
2
eY
za
3a b
x41 16x41
y41
za
yX
y3
xYx3
b
y2y3
za
xYx4
byXy4
2Y16
Проанализируйте выражение на предмет возможности появле-ния ошибок выполнения при определённых исходных данных. Опре-делитеобласти ихдопустимыхзначений.
Содержаниеотчёта
цельработыизадание;
блок-схемаалгоритмавычислениязначениявыражения;
текстмодуля;
примерработыприложениясуказаниемкомпонентовформы;
тестированиеприложенияальтернативнымрасчётом;
выводыпоработе.
Контрольныевопросы
Чтоопределяюттипыданных,каковаихклассификация?
Чтотакое константыипеременные, каковсинтаксис ихобъявле-ния,как присвоитьзначениепеременной?
Чемследуетруководствоватьсяприназначениитипаданныхприобъявлениипеременной?
Перечислите правила записи арифметических операций и основныхстандартных действий.
Вчёмзаключаетсяпричинаиспользованияфункцийпреобразова-ниятипов,перечислитеих.
Каковаструктурапроцедурыобработкисобытия,каковоназначе-ниееёразделов?
Вчёмсостоитразницамеждулокальнымииглобальнымиконстан-тамиипеременными,гдеосуществляетсяихописание(объявление)?
Вкакихформатахможнопредставитьчислоприегоотображениинаформе?
Лабораторнаяработа№3
Подпрограммы
Цельработыприобретениеуменийразработкиподпрограмм.
В программировании часто встречаются ситуации, когда одни итежедействиянеобходимовыполнитьнадразнымиобъектами,например, переменными. Это приводит к повторяющимся фрагмен-там в программном коде, где выполняемые действия одинаковы, а из-меняются лишь имена объектов, над которыми эти действия выпол-няются. В таких случаях эффективнее один раз описать последова-тельность этих действий, а затем несколько раз выполнить их, под-ставляя соответствующие имена объектов. Часто это приводит к зна-чительному снижению объёма программного кода, уменьшает коли-чество ошибок, упрощает программу и её отладку. Кроме того, иногдапроще разбить большую задачу на несколько подзадач, а затем, ком-бинируя их, получить результат. Такие возможности предоставляютподпрограммы.
Подпрограммалогически законченная самостоятельная про-граммная единица с именем, которую можно многократно использо-вать для выполнения. Использование подпрограмм позволяет избе-гатьмногократногоописанияоднотипныхдействийиувеличиваетнаглядностьпрограммы.
Классификацияиструктураподпрограмм
Подпрограммы разделяются на функции, процедуры и процеду-ры обработки событий. В свою очередь, функции и процедуры делят-сянастандартные ипользовательские.Стандартные поставляются
вместе с системой программирования и описывают типовые действия,например,вычислениесинуса,косинуса,квадратногокорня,ввод/вывод данных и т.п. Пользовательские функции и процедурыразрабатывает сам программист. Эти подпрограммы не являются об-работчикамисобытий,онииспользуютсяими.Поэтому,ониненазначаются через окноObject Inspectorи полностью прописывают-ся программистом. Текст пользовательской подпрограммы помещает-ся в разделеimplementationмодуля и должен предшествовать текступроцедурыобработкисобытия,котораябудетеёиспользовать.
Структурафункциивобщемслучаеимеетвид
functionимя_функции(формальныепараметры:тип):тип;
const//объявлениелокальныхконстант
type //объявлениелокальныхпользовательскихтипов
var //объявлениелокальныхпеременных
begin //начало раздела операторовоператор1;
…………...операторN;
имя_функции:=значение;//присвоениеимениф-иизначения
end;//конецфункции
Структурапроцедурывобщемслучаеимеетвид
procedureимя_процедуры(формальныепараметры:тип);
const//объявлениелокальныхконстант
type //объявлениелокальныхпользовательскихтипов
var //объявлениелокальныхпеременных
begin //начало раздела операторовоператор1;
…………...операторN;
end; //конецпроцедуры
Первая строка подпрограммыеё заголовок. Он начинается сослужебного словаfunctionилиprocedure, за которым указываетсяимя подпрограммы, выбираемое программистом, с перечислением вскобках формальных параметров с указанием их типа. Далее следуетраздел описаний, где объявляются локальные константы и перемен-ные,т.е. используемые только в этой подпрограмме. Между служеб-ными словамиbeginиendрасполагается раздел операторов, содер-жащий команды, которые должны быть выполнены по данной под-программе,описанныесиспользованиемформальныхпараметров.
Главноеотличиефункцииотпроцедурысостоитвтом,чтофункция в процессе своей работы вырабатывает значение определён-ного типа данных, которое связывается с её именем, т.е. имя функцииявляется носителем этого значения. У процедуры же имя не являетсяносителем значения. Поэтому, в заголовке функции указывают типзначения, которое она вырабатывает, и описание функции завершает-сяприсвоениемрезультатаеёимени,упроцедурывсего этогонет.
