🗊Презентация Процедуры и функции ТР (Подпрограммы)

Нажмите для полного просмотра!
Процедуры и функции ТР (Подпрограммы), слайд №1Процедуры и функции ТР (Подпрограммы), слайд №2Процедуры и функции ТР (Подпрограммы), слайд №3Процедуры и функции ТР (Подпрограммы), слайд №4Процедуры и функции ТР (Подпрограммы), слайд №5Процедуры и функции ТР (Подпрограммы), слайд №6Процедуры и функции ТР (Подпрограммы), слайд №7Процедуры и функции ТР (Подпрограммы), слайд №8Процедуры и функции ТР (Подпрограммы), слайд №9Процедуры и функции ТР (Подпрограммы), слайд №10Процедуры и функции ТР (Подпрограммы), слайд №11Процедуры и функции ТР (Подпрограммы), слайд №12Процедуры и функции ТР (Подпрограммы), слайд №13Процедуры и функции ТР (Подпрограммы), слайд №14Процедуры и функции ТР (Подпрограммы), слайд №15Процедуры и функции ТР (Подпрограммы), слайд №16Процедуры и функции ТР (Подпрограммы), слайд №17Процедуры и функции ТР (Подпрограммы), слайд №18Процедуры и функции ТР (Подпрограммы), слайд №19Процедуры и функции ТР (Подпрограммы), слайд №20Процедуры и функции ТР (Подпрограммы), слайд №21Процедуры и функции ТР (Подпрограммы), слайд №22Процедуры и функции ТР (Подпрограммы), слайд №23Процедуры и функции ТР (Подпрограммы), слайд №24Процедуры и функции ТР (Подпрограммы), слайд №25Процедуры и функции ТР (Подпрограммы), слайд №26Процедуры и функции ТР (Подпрограммы), слайд №27Процедуры и функции ТР (Подпрограммы), слайд №28Процедуры и функции ТР (Подпрограммы), слайд №29Процедуры и функции ТР (Подпрограммы), слайд №30Процедуры и функции ТР (Подпрограммы), слайд №31Процедуры и функции ТР (Подпрограммы), слайд №32Процедуры и функции ТР (Подпрограммы), слайд №33Процедуры и функции ТР (Подпрограммы), слайд №34Процедуры и функции ТР (Подпрограммы), слайд №35Процедуры и функции ТР (Подпрограммы), слайд №36Процедуры и функции ТР (Подпрограммы), слайд №37Процедуры и функции ТР (Подпрограммы), слайд №38Процедуры и функции ТР (Подпрограммы), слайд №39Процедуры и функции ТР (Подпрограммы), слайд №40Процедуры и функции ТР (Подпрограммы), слайд №41Процедуры и функции ТР (Подпрограммы), слайд №42Процедуры и функции ТР (Подпрограммы), слайд №43Процедуры и функции ТР (Подпрограммы), слайд №44Процедуры и функции ТР (Подпрограммы), слайд №45Процедуры и функции ТР (Подпрограммы), слайд №46Процедуры и функции ТР (Подпрограммы), слайд №47Процедуры и функции ТР (Подпрограммы), слайд №48Процедуры и функции ТР (Подпрограммы), слайд №49Процедуры и функции ТР (Подпрограммы), слайд №50Процедуры и функции ТР (Подпрограммы), слайд №51Процедуры и функции ТР (Подпрограммы), слайд №52Процедуры и функции ТР (Подпрограммы), слайд №53Процедуры и функции ТР (Подпрограммы), слайд №54Процедуры и функции ТР (Подпрограммы), слайд №55Процедуры и функции ТР (Подпрограммы), слайд №56Процедуры и функции ТР (Подпрограммы), слайд №57Процедуры и функции ТР (Подпрограммы), слайд №58Процедуры и функции ТР (Подпрограммы), слайд №59Процедуры и функции ТР (Подпрограммы), слайд №60Процедуры и функции ТР (Подпрограммы), слайд №61Процедуры и функции ТР (Подпрограммы), слайд №62Процедуры и функции ТР (Подпрограммы), слайд №63Процедуры и функции ТР (Подпрограммы), слайд №64Процедуры и функции ТР (Подпрограммы), слайд №65Процедуры и функции ТР (Подпрограммы), слайд №66Процедуры и функции ТР (Подпрограммы), слайд №67Процедуры и функции ТР (Подпрограммы), слайд №68Процедуры и функции ТР (Подпрограммы), слайд №69Процедуры и функции ТР (Подпрограммы), слайд №70Процедуры и функции ТР (Подпрограммы), слайд №71Процедуры и функции ТР (Подпрограммы), слайд №72Процедуры и функции ТР (Подпрограммы), слайд №73Процедуры и функции ТР (Подпрограммы), слайд №74Процедуры и функции ТР (Подпрограммы), слайд №75Процедуры и функции ТР (Подпрограммы), слайд №76Процедуры и функции ТР (Подпрограммы), слайд №77Процедуры и функции ТР (Подпрограммы), слайд №78Процедуры и функции ТР (Подпрограммы), слайд №79Процедуры и функции ТР (Подпрограммы), слайд №80Процедуры и функции ТР (Подпрограммы), слайд №81Процедуры и функции ТР (Подпрограммы), слайд №82Процедуры и функции ТР (Подпрограммы), слайд №83Процедуры и функции ТР (Подпрограммы), слайд №84Процедуры и функции ТР (Подпрограммы), слайд №85Процедуры и функции ТР (Подпрограммы), слайд №86Процедуры и функции ТР (Подпрограммы), слайд №87Процедуры и функции ТР (Подпрограммы), слайд №88Процедуры и функции ТР (Подпрограммы), слайд №89Процедуры и функции ТР (Подпрограммы), слайд №90Процедуры и функции ТР (Подпрограммы), слайд №91Процедуры и функции ТР (Подпрограммы), слайд №92Процедуры и функции ТР (Подпрограммы), слайд №93Процедуры и функции ТР (Подпрограммы), слайд №94Процедуры и функции ТР (Подпрограммы), слайд №95Процедуры и функции ТР (Подпрограммы), слайд №96Процедуры и функции ТР (Подпрограммы), слайд №97Процедуры и функции ТР (Подпрограммы), слайд №98Процедуры и функции ТР (Подпрограммы), слайд №99Процедуры и функции ТР (Подпрограммы), слайд №100Процедуры и функции ТР (Подпрограммы), слайд №101Процедуры и функции ТР (Подпрограммы), слайд №102

Содержание

Вы можете ознакомиться и скачать презентацию на тему Процедуры и функции ТР (Подпрограммы). Доклад-сообщение содержит 102 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Лекция 11. 
Процедуры и функции ТР  (Подпрограммы).
Описание слайда:
Лекция 11. Процедуры и функции ТР (Подпрограммы).

Слайд 2





Для чего нужны  ПП ?
Описание слайда:
Для чего нужны ПП ?

Слайд 3





Описание ПП.
Описание слайда:
Описание ПП.

Слайд 4





Список формальных параметров процедуры.
Описание слайда:
Список формальных параметров процедуры.

Слайд 5





Локализация имён.
Описание слайда:
Локализация имён.

Слайд 6





Список формальных параметров процедуры 
(продолжение).
Описание слайда:
Список формальных параметров процедуры (продолжение).

Слайд 7





ПРИМЕРЫ.
Описание слайда:
ПРИМЕРЫ.

Слайд 8


Процедуры и функции ТР (Подпрограммы), слайд №8
Описание слайда:

Слайд 9





Функции ТР (пример).
Описание слайда:
Функции ТР (пример).

Слайд 10





Формула Герона.
Описание слайда:
Формула Герона.

Слайд 11





Формула Герона (продолжение).
Описание слайда:
Формула Герона (продолжение).

Слайд 12





Как передать в подпрограмму массив?
Описание слайда:
Как передать в подпрограмму массив?

Слайд 13





Передача массивов в процедуру.
Описание слайда:
Передача массивов в процедуру.

Слайд 14





Передача массивов в процедуры (пример).
Описание слайда:
Передача массивов в процедуры (пример).

Слайд 15


Процедуры и функции ТР (Подпрограммы), слайд №15
Описание слайда:

Слайд 16





Выводы.
При вызове подпрограммы после ее имени в скобках указываются аргументы, то есть те конкретные величины, которые передаются в подпрограмму 
Список аргументов как бы накладывается на список параметров и замещает их, поэтому аргументы должны соответствовать параметрам по количеству, типу и порядку следования.
Для каждого параметра обычно задается его имя, тип и способ передачи. 
Либо тип, либо способ передачи могут не указываться. 
В заголовке подпрограммы нельзя вводить описание нового типа.
Описание слайда:
Выводы. При вызове подпрограммы после ее имени в скобках указываются аргументы, то есть те конкретные величины, которые передаются в подпрограмму Список аргументов как бы накладывается на список параметров и замещает их, поэтому аргументы должны соответствовать параметрам по количеству, типу и порядку следования. Для каждого параметра обычно задается его имя, тип и способ передачи. Либо тип, либо способ передачи могут не указываться. В заголовке подпрограммы нельзя вводить описание нового типа.

Слайд 17





Выводы( продолжение).
Для передачи в подпрограмму исходных данных используются параметры-значения и параметры-константы. Параметры составных типов (массивы, записи, строки) предпочтительнее передавать как константы. 
Результаты работы процедуры следует передавать через параметры-переменные, результат вычисления функции — через ее имя.
Описание слайда:
Выводы( продолжение). Для передачи в подпрограмму исходных данных используются параметры-значения и параметры-константы. Параметры составных типов (массивы, записи, строки) предпочтительнее передавать как константы. Результаты работы процедуры следует передавать через параметры-переменные, результат вычисления функции — через ее имя.

Слайд 18





Что будет выведено на экран?
 var a : string;
 Procedure U(a:char; var d:char);
begin  a := ‘р’ ;  d:= ‘к’; 
end;
   begin 
 a:=‘потоп’;   U(a[1], a[5]); write (a) end.
Описание слайда:
Что будет выведено на экран? var a : string; Procedure U(a:char; var d:char); begin a := ‘р’ ; d:= ‘к’; end; begin a:=‘потоп’; U(a[1], a[5]); write (a) end.

Слайд 19





Лекция 12. Модули в ТР
Структура модуля;
Стандартные модули;
Модуль CRT;
Описание слайда:
Лекция 12. Модули в ТР Структура модуля; Стандартные модули; Модуль CRT;

Слайд 20





Модули в ТР.
Модуль – автономно компилируемая программная единица, включающая в себя различные компоненты раздела описаний – Type, Const, Var, Label, Procedure и Function и, возможно, некоторые исполняемые операторы инициирующей части.
Для чего нужны модули?
Модуль как библиотека (может использоваться разными программами).
Для разбиения сложной программы на обособленные части.
Модули помогают преодолеть ограничение в один сегмент на объём кода исполняемой программы: код каждого модуля размещается в отдельном сегменте.
Описание слайда:
Модули в ТР. Модуль – автономно компилируемая программная единица, включающая в себя различные компоненты раздела описаний – Type, Const, Var, Label, Procedure и Function и, возможно, некоторые исполняемые операторы инициирующей части. Для чего нужны модули? Модуль как библиотека (может использоваться разными программами). Для разбиения сложной программы на обособленные части. Модули помогают преодолеть ограничение в один сегмент на объём кода исполняемой программы: код каждого модуля размещается в отдельном сегменте.

Слайд 21





Основные правила для работы с модулями
Имя модуля должно совпадать с именем файла, в котором он хранится (расширение .pas)
Для подключения модуля к программе его надо предварительно откомпилировать: получить файл с заданным именем и расширением    .tpu и сохранить его на диске.
Имена подключаемых модулей перечисляются в директиве USES:
    Uses Crt, Graph, … и т.д.
Модули делятся на стандартные (входят в состав системы программирования) и  пользовательские.
Описание слайда:
Основные правила для работы с модулями Имя модуля должно совпадать с именем файла, в котором он хранится (расширение .pas) Для подключения модуля к программе его надо предварительно откомпилировать: получить файл с заданным именем и расширением .tpu и сохранить его на диске. Имена подключаемых модулей перечисляются в директиве USES: Uses Crt, Graph, … и т.д. Модули делятся на стандартные (входят в состав системы программирования) и пользовательские.

Слайд 22





Структура модуля
unit имя;	 		 { заголовок модуля }
interface						 
	{ интерфейсная секция модуля }
	{ описание глобальных элементов модуля 	  (видимых извне) }
implementation						
		{ секция реализации модуля }
		{ описание локальных (внутренних) элементов 
		 модуля }
begin								
          { секция инициализации .  может отсутствовать }
end.
Описание слайда:
Структура модуля unit имя; { заголовок модуля } interface { интерфейсная секция модуля } { описание глобальных элементов модуля (видимых извне) } implementation { секция реализации модуля } { описание локальных (внутренних) элементов модуля } begin { секция инициализации . может отсутствовать } end.

Слайд 23





Структура модуля (продолжение)
В интерфейсной секции модуля определяют константы, типы данных, переменные, а также заголовки процедур и функций.
В секции реализации описываются подпрограммы, заголовки которых приведены в интерфейсной части. Кроме того, в этой секции можно определять константы, типы данных, переменные и внутренние подпрограммы. 
Секция инициализации предназначена для присваивания начальных значений переменным, которые используются в модуле.
Описание слайда:
Структура модуля (продолжение) В интерфейсной секции модуля определяют константы, типы данных, переменные, а также заголовки процедур и функций. В секции реализации описываются подпрограммы, заголовки которых приведены в интерфейсной части. Кроме того, в этой секции можно определять константы, типы данных, переменные и внутренние подпрограммы. Секция инициализации предназначена для присваивания начальных значений переменным, которые используются в модуле.

Слайд 24





Комплексные числа
Описание слайда:
Комплексные числа

Слайд 25





Пример.
Описание слайда:
Пример.

Слайд 26





Стандартные модули ТР.
SYSTEM – подключается автоматически.
DOS – доступ к возможностям ОС (файлы, время …) 
CRT – для работы  в текстовом режиме
GRAPH – для работы в графическом режиме
PRINTER – для вывода на принтер. Исп. редко.
OVERLAY – для загрузки программы по частям.
STRINGS - для работы со строками,
                             заканчивающимися нуль-символом.
    WinDos – аналог модуля Dos
Описание слайда:
Стандартные модули ТР. SYSTEM – подключается автоматически. DOS – доступ к возможностям ОС (файлы, время …) CRT – для работы в текстовом режиме GRAPH – для работы в графическом режиме PRINTER – для вывода на принтер. Исп. редко. OVERLAY – для загрузки программы по частям. STRINGS - для работы со строками, заканчивающимися нуль-символом. WinDos – аналог модуля Dos

Слайд 27





Модуль CRT.
Обеспечивает эффективную работу с экраном, клавиатурой и динамиком в текстовом режиме.
Описание слайда:
Модуль CRT. Обеспечивает эффективную работу с экраном, клавиатурой и динамиком в текстовом режиме.

Слайд 28





Примеры
Описание слайда:
Примеры

Слайд 29


Процедуры и функции ТР (Подпрограммы), слайд №29
Описание слайда:

Слайд 30





Таблица const, задающих цвет:
Описание слайда:
Таблица const, задающих цвет:

Слайд 31





Пример. Цветные  символы.
Описание слайда:
Пример. Цветные символы.

Слайд 32


Процедуры и функции ТР (Подпрограммы), слайд №32
Описание слайда:

Слайд 33





Пример. Движущийся прямоугольник
Описание слайда:
Пример. Движущийся прямоугольник

Слайд 34





Пример. Вложенные прямоугольники.
Описание слайда:
Пример. Вложенные прямоугольники.

Слайд 35





Лекция 13. Модуль Graph.
Назначение Graph;
Подключение Graph к основной программе (графические режимы, процедура InitGraph);
Основные процедуры и функции для работы в графическом режиме;
Примеры программ;
Описание слайда:
Лекция 13. Модуль Graph. Назначение Graph; Подключение Graph к основной программе (графические режимы, процедура InitGraph); Основные процедуры и функции для работы в графическом режиме; Примеры программ;

Слайд 36





Модуль Graph.
Модуль обеспечивает работу с экраном в графическом режиме. Экран представляется в виде совокупности точек, или пикселей (= pixel =picture element).
Описание слайда:
Модуль Graph. Модуль обеспечивает работу с экраном в графическом режиме. Экран представляется в виде совокупности точек, или пикселей (= pixel =picture element).

Слайд 37





Что обеспечивает модуль Graph?
Вывод линий и геометрических фигур заданным цветом и стилем;
Закрашивание областей заданным цветом и шаблоном;
Вывод текста выбранным шрифтом, заданного размера и направления;
Задание «Окон» и отсечение по их границе;
Работа с графическими страницами;
Описание слайда:
Что обеспечивает модуль Graph? Вывод линий и геометрических фигур заданным цветом и стилем; Закрашивание областей заданным цветом и шаблоном; Вывод текста выбранным шрифтом, заданного размера и направления; Задание «Окон» и отсечение по их границе; Работа с графическими страницами;

Слайд 38





Порядок действий при работе с модулем GRAPH
Подключить модуль: Uses Graph;
Перевести экран в графический режим: процедура InitGraph;
Установить параметры изображения;
Вывести изображение;
Вернуться в текстовый режим (если надо).
Описание слайда:
Порядок действий при работе с модулем GRAPH Подключить модуль: Uses Graph; Перевести экран в графический режим: процедура InitGraph; Установить параметры изображения; Вывести изображение; Вернуться в текстовый режим (если надо).

Слайд 39





Графические драйверы и режимы.
Драйвер обеспечивает взаимодействие программы с графическим устройством (монитором). Имеют расширение «bgi»
                                *.BGI
Графическе режимы: CGA, EGA, MCGA, режим VGA  это: 
    разрешение  640 х 480 и 16 цветов;
Имя соответствующего драйвера:
                EGAVGA.BGI
Описание слайда:
Графические драйверы и режимы. Драйвер обеспечивает взаимодействие программы с графическим устройством (монитором). Имеют расширение «bgi» *.BGI Графическе режимы: CGA, EGA, MCGA, режим VGA это: разрешение 640 х 480 и 16 цветов; Имя соответствующего драйвера: EGAVGA.BGI

Слайд 40





Процедура InitGraph
InitGraph( var Driver, Mode : integer;  Path : String);
   
 Driver – определяет тип графического драйвера;
 Mode – задаёт режим работы графического адаптера.
 Path – содержит путь к каталогу, содержащему файлы графических  драйверов.
Описание слайда:
Процедура InitGraph InitGraph( var Driver, Mode : integer; Path : String); Driver – определяет тип графического драйвера; Mode – задаёт режим работы графического адаптера. Path – содержит путь к каталогу, содержащему файлы графических драйверов.

Слайд 41





Процедуры для работы с графикой
GraphResult – содержит код ошибки при выполнении графической операци; ( grOk=0)
CloseGraph – завешает работу в гр. ржиме;
RestoreCrtMode – временное восстановление
                                  текст. режима;      
GetGraphMode; SetGraphMode; DetectGraph; и т.д.
Описание слайда:
Процедуры для работы с графикой GraphResult – содержит код ошибки при выполнении графической операци; ( grOk=0) CloseGraph – завешает работу в гр. ржиме; RestoreCrtMode – временное восстановление текст. режима; GetGraphMode; SetGraphMode; DetectGraph; и т.д.

Слайд 42





Координаты, окна, страницы.
Описание слайда:
Координаты, окна, страницы.

Слайд 43





Линии и точки. (продолжение)
Описание слайда:
Линии и точки. (продолжение)

Слайд 44





Линии и точки.
Описание слайда:
Линии и точки.

Слайд 45





Примеры констант модуля Graph
Описание слайда:
Примеры констант модуля Graph

Слайд 46





Примеры констант модуля Graph (продолжение)
Описание слайда:
Примеры констант модуля Graph (продолжение)

Слайд 47





Примеры констант модуля Graph (продолжение 2)
Описание слайда:
Примеры констант модуля Graph (продолжение 2)

Слайд 48





Фигуры (Многоугольники, окружности и т.п.)
Описание слайда:
Фигуры (Многоугольники, окружности и т.п.)

Слайд 49





Фигуры (Многоугольники, окружности и т.п.)
Описание слайда:
Фигуры (Многоугольники, окружности и т.п.)

Слайд 50





 Фигуры (Многоугольники, окружности и т.п.)
Описание слайда:
Фигуры (Многоугольники, окружности и т.п.)

Слайд 51





Вывод текста.
OutTextXY(x,y,String) 
OutText(String)
SetTextStyle(Font, Direct, Size) – 
    Font – номер шрифта; (0 .. 10)
    Direct – код направления; (0 или 1)
    Size – размер шрифта; (1 .. 10)
Описание слайда:
Вывод текста. OutTextXY(x,y,String) OutText(String) SetTextStyle(Font, Direct, Size) – Font – номер шрифта; (0 .. 10) Direct – код направления; (0 или 1) Size – размер шрифта; (1 .. 10)

Слайд 52





Заливаем фигуру. Пример (фрагмент).
Описание слайда:
Заливаем фигуру. Пример (фрагмент).

Слайд 53





Пример
Описание слайда:
Пример

Слайд 54





Сохранение и выдача изображений (1).
Описание слайда:
Сохранение и выдача изображений (1).

Слайд 55





Сохранение и выдача изображений (2).
Описание слайда:
Сохранение и выдача изображений (2).

Слайд 56





Сохранение и выдача изображений (3).
Описание слайда:
Сохранение и выдача изображений (3).

Слайд 57





Графика в Delphi (1)
1) Используется свойство CANVAS объектов Forma или Image.
2) Canvas – объект типа TCanvas. 
3) Методы этого типа позволяют выводить графические примитивы: точки, линии, окружности, прямоугольники т.п.)
4) Свойства Tcanvas: цвет, толщина, стиль линий; цвет и вид заливки областей; характеристика шрифта при выводе текста.
4) Canvas – холст, состоящий из отдельных пикселей, с координатами (x,y)
5) Forma1.Canvas.Rectangle(15,25,80,90) - прямоугольник
Описание слайда:
Графика в Delphi (1) 1) Используется свойство CANVAS объектов Forma или Image. 2) Canvas – объект типа TCanvas. 3) Методы этого типа позволяют выводить графические примитивы: точки, линии, окружности, прямоугольники т.п.) 4) Свойства Tcanvas: цвет, толщина, стиль линий; цвет и вид заливки областей; характеристика шрифта при выводе текста. 4) Canvas – холст, состоящий из отдельных пикселей, с координатами (x,y) 5) Forma1.Canvas.Rectangle(15,25,80,90) - прямоугольник

Слайд 58





Графика в Delphi (2)
Размеры Canvas:
для Image: Canvas.Height  и Canvas.Width
Для формы: ClientHeight и ClientWidth
2) Карандаш – Canvas.Pen (точки, линии прямоугольник, окруж. )
     Кисть – Canvas.Brush
3) Свойства PEN: Color, Width, Style, Mode ( режим отображения)
4) Canvas.Pen.Color:= clGreen;
 Canvas.Pen.Width:=3;
5) Свойства Brush : Color, Style
6) Form1.Canvas.TextOut(x,y,Текст)
    СвойстваЖ
Описание слайда:
Графика в Delphi (2) Размеры Canvas: для Image: Canvas.Height и Canvas.Width Для формы: ClientHeight и ClientWidth 2) Карандаш – Canvas.Pen (точки, линии прямоугольник, окруж. ) Кисть – Canvas.Brush 3) Свойства PEN: Color, Width, Style, Mode ( режим отображения) 4) Canvas.Pen.Color:= clGreen; Canvas.Pen.Width:=3; 5) Свойства Brush : Color, Style 6) Form1.Canvas.TextOut(x,y,Текст) СвойстваЖ

Слайд 59





Основные положения теории цвета
Световой поток падает на сетчатку глаза от отражающего или излучающего объекта.
Цветовые рецепторы делятся на три группы: ( красный -  зелёный  - синий).
Различают аддитивное и субтрактивное цветовоспроизвдение.
Описание слайда:
Основные положения теории цвета Световой поток падает на сетчатку глаза от отражающего или излучающего объекта. Цветовые рецепторы делятся на три группы: ( красный - зелёный - синий). Различают аддитивное и субтрактивное цветовоспроизвдение.

Слайд 60





Модель RGB.
W = R+G+B
W – R = G+B = Cyan 
W – G = R+B = Magenta
W – B =  R+G = Yellow
Описание слайда:
Модель RGB. W = R+G+B W – R = G+B = Cyan W – G = R+B = Magenta W – B = R+G = Yellow

Слайд 61





Диаграмма цветов RGB
Описание слайда:
Диаграмма цветов RGB

Слайд 62





Лекция 14. 
Указатели. Динамическая память.
Описание слайда:
Лекция 14. Указатели. Динамическая память.

Слайд 63





Структура программы в оперативной памяти.
Описание слайда:
Структура программы в оперативной памяти.

Слайд 64





Основные понятия:
Переменные, предназначенные для хранения адресов областей памяти, называются указателями. 
В указателе можно хранить адрес данных или адрес программного кода. 
Адрес занимает четыре байта и хранится в виде двух слов, одно из которых определяет сегмент, второе — смещение.
Описание слайда:
Основные понятия: Переменные, предназначенные для хранения адресов областей памяти, называются указателями. В указателе можно хранить адрес данных или адрес программного кода. Адрес занимает четыре байта и хранится в виде двух слов, одно из которых определяет сегмент, второе — смещение.

Слайд 65





Динамические переменные
ДП создаются в динамической памяти (в хипе, в куче) во время выполнения программы. 
Обращение к ДП осуществляется через указатели.
С помощью ДП можно обрабатывать данные, объём которых заранее не известен.
Описание слайда:
Динамические переменные ДП создаются в динамической памяти (в хипе, в куче) во время выполнения программы. Обращение к ДП осуществляется через указатели. С помощью ДП можно обрабатывать данные, объём которых заранее не известен.

Слайд 66





Виды указателей:
Описание слайда:
Виды указателей:

Слайд 67





Операции с указателями:
Для указателей определены операции: 
присваивания;
					p1 := p2;
проверки на равенство и неравенство:
      if p1 = p2 then …    или     if p <> nil then …
Описание слайда:
Операции с указателями: Для указателей определены операции: присваивания; p1 := p2; проверки на равенство и неравенство: if p1 = p2 then … или if p <> nil then …

Слайд 68





Операция разадресации
Описание слайда:
Операция разадресации

Слайд 69





Операция @ и функция addr
Описание слайда:
Операция @ и функция addr

Слайд 70





Стандартные функции для работы с указателями:
seg(x) : word — возвращает адрес сегмента для х;
ofs(x) : word — возвращает смещение для х;
addr(x) : pointer – содержит адрес аргумента x;
cseg : word — возвращает значение регистра сегмента кода CS;
dseg : word — возвращает значение регистра сегмента данных DS;
ptr(seg, ofs : word) : pointer — по заданному сегменту и смещению формирует адрес типа pointer.
Описание слайда:
Стандартные функции для работы с указателями: seg(x) : word — возвращает адрес сегмента для х; ofs(x) : word — возвращает смещение для х; addr(x) : pointer – содержит адрес аргумента x; cseg : word — возвращает значение регистра сегмента кода CS; dseg : word — возвращает значение регистра сегмента данных DS; ptr(seg, ofs : word) : pointer — по заданному сегменту и смещению формирует адрес типа pointer.

Слайд 71





Пример. Указатели.
program ka;
var w,a, i:integer;
    pw,pq:^integer;
    us,ut:word;
    begin
    write(‘ввод w, a='); readln(w,a);
pw:=@w;
    pq:=addr(a);
    us:=seg(w);
    ut:=ofs(w);
    writeln(us);
    writeln(ut);
  writeln(' w+a =',pw^+pq^);
  readln;
Описание слайда:
Пример. Указатели. program ka; var w,a, i:integer; pw,pq:^integer; us,ut:word; begin write(‘ввод w, a='); readln(w,a); pw:=@w; pq:=addr(a); us:=seg(w); ut:=ofs(w); writeln(us); writeln(ut); writeln(' w+a =',pw^+pq^); readln;

Слайд 72





Динамические переменные.
создаются в хипе (Heap)  во время выполнения программы с помощью подпрограмм NEW или GetMem:
Процедура  new( var p : тип_указателя ) 
Функция      new( тип_указателя ) : pointer
Процедура и функция NEW  применяются только для                              типизированных указателей.
Процедура getmem( var P : pointer; size : word ) –выделяет в хипе участок в size байт; адрес его начала хранится в P.
Эту процедуру можно применять и для указателей типа pointer.
Описание слайда:
Динамические переменные. создаются в хипе (Heap) во время выполнения программы с помощью подпрограмм NEW или GetMem: Процедура new( var p : тип_указателя ) Функция new( тип_указателя ) : pointer Процедура и функция NEW применяются только для типизированных указателей. Процедура getmem( var P : pointer; size : word ) –выделяет в хипе участок в size байт; адрес его начала хранится в P. Эту процедуру можно применять и для указателей типа pointer.

Слайд 73





Пример работы с динамическими переменными 
type rec = record
		    d : word;
		    s : string;
	   end;
	   pword = ^word;

var   p1, p2 : pword;
	   p3        : ^rec;
Описание слайда:
Пример работы с динамическими переменными type rec = record d : word; s : string; end; pword = ^word; var p1, p2 : pword; p3 : ^rec;

Слайд 74





p1^ := 3;     p2^ := 2; 
p1^ := 3;     p2^ := 2; 
p3^.d := p1^+2; 
p3^.s := ‘Биолог';
Описание слайда:
p1^ := 3; p2^ := 2; p1^ := 3; p2^ := 2; p3^.d := p1^+2; p3^.s := ‘Биолог';

Слайд 75





Мусор
При присваивании указателю другого значения старое значение теряется. 
Это приводит к появлению мусора (обозначен овалом), когда доступа к участку динамической памяти нет, а сам он помечен как занятый.
Описание слайда:
Мусор При присваивании указателю другого значения старое значение теряется. Это приводит к появлению мусора (обозначен овалом), когда доступа к участку динамической памяти нет, а сам он помечен как занятый.

Слайд 76





Освобождение динамической памяти 
Процедура  Dispose(var p : pointer) 
освобождает участок памяти, выделенный процедурой New.
Процедура Freemem(var p : pointer; size : word) 
освобождает участок памяти размером size, начиная с адреса p. 
Если память выделялась с помощью New, следует применять Dispose, в противном случае — Freemem.
Значение указателя после вызова этих процедур становится неопределенным.
Описание слайда:
Освобождение динамической памяти Процедура Dispose(var p : pointer) освобождает участок памяти, выделенный процедурой New. Процедура Freemem(var p : pointer; size : word) освобождает участок памяти размером size, начиная с адреса p. Если память выделялась с помощью New, следует применять Dispose, в противном случае — Freemem. Значение указателя после вызова этих процедур становится неопределенным.

Слайд 77





Лекция 15. Динамические структуры данных.
Описание слайда:
Лекция 15. Динамические структуры данных.

Слайд 78





Динамические структуры данных.
Линейные списки
Стеки
Очереди 
Бинарные деревья
Описание слайда:
Динамические структуры данных. Линейные списки Стеки Очереди Бинарные деревья

Слайд 79





ДСД
Описание слайда:
ДСД

Слайд 80





Стеки.
Описание слайда:
Стеки.

Слайд 81





Добавление элемента в стек.
1. new(p);
Описание слайда:
Добавление элемента в стек. 1. new(p);

Слайд 82





Очередь
    Порядок действий:
Начальное формирование очереди – создание первого элемента
Добавление элемента в конец очереди;
Выборка элемента
Описание слайда:
Очередь Порядок действий: Начальное формирование очереди – создание первого элемента Добавление элемента в конец очереди; Выборка элемента

Слайд 83





Формирование очереди
Type pnode=^node; 
           node=record 
                     d:word; 
                     s:string;
                     p:pnode;  end;
Var beg, fin,p : pnode; 
===== создаём первый элемент очереди ======
New(beg)     {выделяем динамическую память}
beg^.d:=1; beg^.s:=‘первый’; beg^.p:=nil; fin:=beg;
=========== добавляем элемент в очередь ======
New(p); 
P^.d:=2; p^.s:=‘второй’; p^.p:=nil; 
Fin^.p=p; { предпоследний  элемент указывает на последний}
Fin:=p;    { указатель на конец очереди }
Описание слайда:
Формирование очереди Type pnode=^node; node=record d:word; s:string; p:pnode; end; Var beg, fin,p : pnode; ===== создаём первый элемент очереди ====== New(beg) {выделяем динамическую память} beg^.d:=1; beg^.s:=‘первый’; beg^.p:=nil; fin:=beg; =========== добавляем элемент в очередь ====== New(p); P^.d:=2; p^.s:=‘второй’; p^.p:=nil; Fin^.p=p; { предпоследний элемент указывает на последний} Fin:=p; { указатель на конец очереди }

Слайд 84





Выборка из очереди
Writeln(beg^.d, beg^.s);
P:=beg; 
beg:=beg^.p
dispose(p);
If beg=nil     then  fin=nil;
Описание слайда:
Выборка из очереди Writeln(beg^.d, beg^.s); P:=beg; beg:=beg^.p dispose(p); If beg=nil then fin=nil;

Слайд 85





Линейные списки
начальное формирование списка;
добавление элемента в конец списка;
чтение элемента с заданным ключом;
вcтавка элемента в заданное место списка;
удаление элемента с заданным ключом;
сортировка списка по ключу.
Описание слайда:
Линейные списки начальное формирование списка; добавление элемента в конец списка; чтение элемента с заданным ключом; вcтавка элемента в заданное место списка; удаление элемента с заданным ключом; сортировка списка по ключу.

Слайд 86





Линейные списки (2)
Стек и очередь – частный случай линейного списка.
При чтении элемент ЛС не удаляется.
Для работы с ЛС надо определить указатель на его начало.
Описание слайда:
Линейные списки (2) Стек и очередь – частный случай линейного списка. При чтении элемент ЛС не удаляется. Для работы с ЛС надо определить указатель на его начало.

Слайд 87





Работа со списком. Пример.
Program List;
type pe=^tpelem;
  tpelem=Record t:real; p:pe end;
     Var plm,beg: pe;
         x:real; ch:char; N:byte;
  Begin
         New(plm); beg:=plm;
         plm^.p:=plm;
   while plm^.p<>Nil do begin
   write(‘Введите t='); readLn(plm^.t);
Write(‘Продолжить?(Y/N'); 
    readln( ch);
Описание слайда:
Работа со списком. Пример. Program List; type pe=^tpelem; tpelem=Record t:real; p:pe end; Var plm,beg: pe; x:real; ch:char; N:byte; Begin New(plm); beg:=plm; plm^.p:=plm; while plm^.p<>Nil do begin write(‘Введите t='); readLn(plm^.t); Write(‘Продолжить?(Y/N'); readln( ch);

Слайд 88





Линейные списки. Пример Не ГОТОВ (3)
Описание слайда:
Линейные списки. Пример Не ГОТОВ (3)

Слайд 89





Лекция 16. Объектно-ориентированное программирование.
Описание слайда:
Лекция 16. Объектно-ориентированное программирование.

Слайд 90





 Основные принципы ООП
Инкапсуляция
Наследование
Полиморфизм
Описание слайда:
Основные принципы ООП Инкапсуляция Наследование Полиморфизм

Слайд 91





ООП. Инкапсуляция
Описание слайда:
ООП. Инкапсуляция

Слайд 92





ООП. Наследование.
Описание слайда:
ООП. Наследование.

Слайд 93





ООП. Полиморфизм
ООП позволяет писать гибкие, расширяемые и читабельные программы. 
Во многом это обеспечивается благодаря полиморфизму, под которым понимается возможность во время выполнения программы с помощью одного и того же имени выполнять разные действия или обращаться к объектам разного типа. 
Чаще всего понятие полиморфизма связывают с механизмом виртуальных методов.
Описание слайда:
ООП. Полиморфизм ООП позволяет писать гибкие, расширяемые и читабельные программы. Во многом это обеспечивается благодаря полиморфизму, под которым понимается возможность во время выполнения программы с помощью одного и того же имени выполнять разные действия или обращаться к объектам разного типа. Чаще всего понятие полиморфизма связывают с механизмом виртуальных методов.

Слайд 94





Достоинства ООП 
использование при программировании понятий, близких к предметной области;
возможность успешно управлять большими объемами исходного кода благодаря инкапсуляции, то есть скрытию деталей реализации объектов и упрощению структуры программы;
возможность многократного использования кода за счет наследования;
сравнительно простая возможность модификации программ;
возможность создания и использования библиотек объектов.
Описание слайда:
Достоинства ООП использование при программировании понятий, близких к предметной области; возможность успешно управлять большими объемами исходного кода благодаря инкапсуляции, то есть скрытию деталей реализации объектов и упрощению структуры программы; возможность многократного использования кода за счет наследования; сравнительно простая возможность модификации программ; возможность создания и использования библиотек объектов.

Слайд 95





Недостатки ООП 
некоторое снижение быстродействия программы, связанное с использованием виртуальных методов;
идеи ООП не просты для понимания, в особенности для  практического использования;
для эффективного использования существующих объектно-ориентированных систем требуется большой объем первоначальных знаний;
неграмотное применение ООП может привести к значительному ухудшению характеристик разрабатываемой программы.
Описание слайда:
Недостатки ООП некоторое снижение быстродействия программы, связанное с использованием виртуальных методов; идеи ООП не просты для понимания, в особенности для практического использования; для эффективного использования существующих объектно-ориентированных систем требуется большой объем первоначальных знаний; неграмотное применение ООП может привести к значительному ухудшению характеристик разрабатываемой программы.

Слайд 96





Объект (класс)
Объект – это тип данных; его определение находится в разделе описания типов;
Объект похож на тип RECORD, но кроме полей данных в нём можно описывать методы – подпрограммы для работы с полями объекта.
Поля и методы = элементы объекта;
Внутри объекта описываются только заголовки методов.
Описание слайда:
Объект (класс) Объект – это тип данных; его определение находится в разделе описания типов; Объект похож на тип RECORD, но кроме полей данных в нём можно описывать методы – подпрограммы для работы с полями объекта. Поля и методы = элементы объекта; Внутри объекта описываются только заголовки методов.

Слайд 97





Объект (продолжение)
Видимостью  элементов можно управлять директивами private и public
Количество разделов privat  и public – произвольное. 
Всё,  что расположено после private, является невидимым из внешних файлов.
По умо все элементы являются public.
Описание слайда:
Объект (продолжение) Видимостью элементов можно управлять директивами private и public Количество разделов privat и public – произвольное. Всё, что расположено после private, является невидимым из внешних файлов. По умо все элементы являются public.

Слайд 98





Классы и объекты
Type  Tmns=class
        Private
  x,y:real;
s:string[15];
        Public
Constructor create; 
Procedure fp(u:word);
Function ff(w:real):boolean;
…..
End;

Могут быть  и другие секции … 

Описание методов в разделе implementation.
Описание слайда:
Классы и объекты Type Tmns=class Private x,y:real; s:string[15]; Public Constructor create; Procedure fp(u:word); Function ff(w:real):boolean; ….. End; Могут быть и другие секции … Описание методов в разделе implementation.

Слайд 99






Var exam: Tmns;
Procedure Tmns.fp(u:word);
Function  Tmns.ff( w:real):boolean;
Begin
Exam:= Tmns.create;
Описание слайда:
Var exam: Tmns; Procedure Tmns.fp(u:word); Function Tmns.ff( w:real):boolean; Begin Exam:= Tmns.create;

Слайд 100





Графика Delphi
Свойство Canvas
Методы типа Canvas ( рисование точек, линий, окружностей, прямоугольников)
Свойства ( цвет, толщина, стиль линий,цвет и вид заливки областей, свойства шрифта)
Описание слайда:
Графика Delphi Свойство Canvas Методы типа Canvas ( рисование точек, линий, окружностей, прямоугольников) Свойства ( цвет, толщина, стиль линий,цвет и вид заливки областей, свойства шрифта)

Слайд 101






Image.Canvas
Shape.Canvas
Описание слайда:
Image.Canvas Shape.Canvas

Слайд 102





Pen & Brush
Свойства Pen: 
Color,  Width,
Canvas.Pen.Width:=2;
Canvas.Pen.Color:={clBlack, clRed …}
Canvas.Brush.Color – цвет заполнения
Canvas.Brush.Style – стиль заполнения
Описание слайда:
Pen & Brush Свойства Pen: Color, Width, Canvas.Pen.Width:=2; Canvas.Pen.Color:={clBlack, clRed …} Canvas.Brush.Color – цвет заполнения Canvas.Brush.Style – стиль заполнения



Похожие презентации
Mypresentation.ru
Загрузить презентацию