
- •Лабораторная работа №1 Разработка и отладка алгоритмов и программ.
- •Лабораторная работа № 2.
- •Лабораторная работа №3
- •Лабораторная работа № 4.
- •Лабораторная работа № 5. Разработка и отладка программ обработки массивов.
- •Лабораторная работа № 6.
- •Лабораторная работа № 7.
- •Лабораторная работа №8. Создание и подключение пользовательских модулей
- •Лабораторная работа № 9.
- •Лабораторная работа № 10.
- •Лабораторная работа № 11.
- •Лабораторная работа № 13
- •Лабораторная работа № 14.
- •Лабораторная работа № 15
- •Лабораторная работа № 16.
- •Лабораторная работа № 17.
- •Лабораторная работа № 18-19 Разработка программ с использованием алгоритмов на графах
- •Лабораторная работа № 21 Разработка приложений с использованием объектно-ориентированного программирования
- •Лабораторная работа № 21 (часть 2) Разработка приложений с использованием объектно-ориентированного программирования. Применение наследования
- •Лабораторная работа №22 «Интегрированная среда программирования Delphi. Стандартные компоненты»
- •Лабораторная работа № 23
- •Лабораторная работа №24 Разработка приложений с использованием дополнительных компонентов.
- •Лабораторная работа № 25
- •Лабораторная работа №26 Использование компонент вкладок Win32 и System
- •Лабораторная работа № 27 Обработка текстовых файлов с помощью изученных компонентов
- •Лабораторная работа № 28 Обработка графической информации
- •Лабораторная работа №29 Мультимедийные возможности Delphi
- •Лабораторная работа № 30 Создание и обработка таблиц базы данных
- •Лабораторная работа № 31
- •Лабораторная работа № 32
Лабораторная работа № 11.
ТЕМА: Разработка рекурсивных алгоритмов и программ.
ЦЕЛЬ РАБОТЫ:
Знакомство с понятием рекурсии. Выработка навыков составления программ с использованием процедур и функций.
ЗАДАНИЯ ПО ВАРИАНТАМ:
Вычислить сумму ряда
с позиции N до позиции M.
Вычислить сумму ряда
с позиции N до позиции M.
Вычислить сумму ряда
с позиции N до позиции M.
Вычислить сумму ряда
с позиции N до позиции M.
Вычислить сумму ряда
с позиции N до позиции M.
Вычислить сумму ряда
с позиции N до позиции M.
Вычислить сумму ряда
с позиции N до позиции M.
Вычислить сумму ряда
с позиции N до позиции M.
Вычислить сумму ряда
с позиции N до позиции M.
Вычислить сумму ряда
с позиции N до позиции M.
Вычислить сумму ряда
с позиции N до позиции M.
Вычислить сумму ряда
с позиции N до позиции M.
Вычислить сумму ряда
с позиции N до позиции M.
Вычислить сумму ряда
с позиции N до позиции M.
Вычислить сумму ряда
с позиции N до позиции M.
Контрольные вопросы
1.Что такое рекурсия?
2.Какие виды рекурсии существуют?
3.В каких случаях при использовании рекурсивной функции может наблюдаться зацикливание?
4.Когда возможна замена рекурсии на нерекурсивный алгоритм?
Лабораторная работа № 13
Тема: Использование процедур и функций модуля GraphABC.
Цель: научится применять на практике поцедуры и функции модуля GraphABC для создания простейших рисунков, состоящих из графических примитивов.
Задание: выберите один из приведенных ниже рисунков и постройте данное изображение программным образом. Цвета выберите по желанию. В верхнем углу напишите свою фамилию.
Контрольные вопросы:
Какие графические примитивы вы использовали? Как задать цвет фигуры? Цвет неправильной области? Как вывести надпись на рисунок?
Лабораторная работа № 14.
ТЕМА: Разработка алгоритмов и программ с использованием динамических массивов.
ЦЕЛЬ РАБОТЫ:
Получить практические навыки по разработке программ с использованием динамических массивов.
Развивать абстрактное мышление.
Задание.
Изучите предложенный пример создания динамической структуры – стек.
Разработайте пользовательский интерфейс для использования функций стека.
unit Stack;
interface
function Push(v: Integer): Boolean;
function Pop(var v: Integer): Boolean;
function Top(var v: Integer): Boolean;
implementation
type TpTElem = ^TElem;
TElem = record Info: Integer; Link: TpTElem end;
var sp: TpTElem;
function Push(v: Integer): Boolean;
var p: TpTElem;
begin
if MemAvail < 8 then begin Push:=False; Exit end;
New(p);
p^.Info:=v;
p^.Link:=sp;
sp:=p;
Push:=True;
end; {Push}
function Pop(var v: Integer): Boolean;
var p: TpTElem;
begin
if sp=nil then begin Pop:=False; Exit end;
p:=sp;
sp:=sp^.Link;
v:=p^.Info;
Dispose(p);
Pop:=True;
end; {Pop}
function Top(var v: Integer): Boolean;
var Res: Boolean;
begin
Res:=sp<>nil;
if Res then v:=sp^.Info;
Top:=Res;
end; {Top}
begin sp := nil end.
КОНТРОЛЬНЫЕ ВОПРОСЫ.
Статическая память
Автоматическая память
Динамическая память
Динамическая память в языке Turbo Pascal