- •Д.С.Ситкин
- •Информатика.
- •Программированиев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
Задание
Разработать два проекта для вычисления значения выраженияпредыдущей лабораторной работы с использованием функции и с ис-пользованиемпроцедуры.
Содержаниеотчёта
цельработыизадание(сисходнымвыражением);
блок-схемыалгоритмоввычислениязначениятиповоговыра-женияиосновноговычисления;
текстымодулейпроектов
примерработыприложенийсуказаниемкомпонентовформы;
выводыпоработе.
Контрольныевопросы
Скакойцельювпрограммированиииспользуютподпрограммы?
Чтотакоеподпрограмма,каковаихклассификация?
Вчёмотличиепроцедурыот функции,вт.ч.вихструктуре?
Вчёмотличиепараметра-значенияотпараметра-переменной?
Вызовфункцииможнозаписыватьнепосредственноввыражениях,авызовпроцедурынельзя,толькоотдельнымоператором.Почему?
Вкакихслучаяхпользовательскуюподпрограммуцелесообразнееоформитькак функцию,вкакихкакпроцедуру?
Впредставленныхописанияхподпрограммифрагментахвызыва-ющих блоковответьтенапоставленныевопросы
Пользовательскаяподпрограмма |
Блок,вызывающийподпрограмму |
Procedure pr(m,n:byte; var k:byte);begin k:=m+n;end; |
varx,y,s,t:byte;z:real;begin x:=2;y:=3;z:=2.5; pr(x,y); pr(x,y+1,2*s); pr(x,z,s); pr(x,sqr(y),s); pr(2*x,y,s); t:= 5+pr(x, y, s);какиевызовыневерныипочему? |
Procedure pr2(m, n, k:byte);begin k:=m+n;end; |
varx, y, s1, s2:byte;begin x:=2;y:=3;s1:=0;s2:=0; pr(x,y,s1);pr2(x,y,s2); каковызначенияs1иs2теперь? |
Functionfun(u,v:byte):integer;begin fun:=uv;end; можно лиизменитьтипinteger натипbyteвописаниифункции? |
var x, y:byte;w1, w2:integer;begin x:=2;y:=3; w1:=fun(x,y); w2:=fun(y,x); каковызначения w1иw2? |
Лабораторнаяработа№4
МОДУЛИ
Цельработыприобретениеуменийразработкимодулей.
Разработанныепользовательскиеподпрограммыпредыдущейработы могли использоваться только в тех проектах, в которых онибыли описаны. Однако часто возникает необходимость выполнениятиповых действий в разных проектах. Чтобы не описывать их в каж-дом таком проекте целесообразно эти действия однократно оформитьв виде подпрограмм и поместить в собственный модуль, а затем, под-ключая его к различным проектам, использовать ресурсы этого моду-ля. Кроме того, проекты с большими объёмами программного кодаудобно разбить на несколько файлов. Выносимые части кода из про-ектаможнотакжеразместить всобственноммодуле.
Модульотдельносоздаваемаякомпилируемаяпрограммнаяединица с именем, предназначенная для создания библиотек подпро-грамм, которая также может содержать описание констант, типов, пе-ременных. Описанные в модуле средства можно использовать в про-ектах и других модулях без повторного описания, ссылаясь на имяданногомодуля.Саммодульсохраняетсяв видеотдельногофайла.
Модулиделятсянастандартные,пользовательскиеимодулиописания форм. Стандартные поставляются вместе с системой про-граммированияисодержатбиблиотекистандартныхподпрограмм.Пользовательские разрабатывает сам программист для создания биб-лиотекпользовательских(своих)подпрограмм.Модульописанияформы (модуль проекта), с которым мы уже знакомы, предназначендляописания формыиразмещенияпроцедур обработкисобытий.
