- •Программирование на Delphi Методические указания
- •230700.62 - “Прикладная информатика”
- •Организация и методические указания по выполнению лабораторных работ
- •Тема № 1 среда программирования delphi
- •1.1. Теоретическая часть
- •1.2. Контрольные вопросы
- •1.3. Задания
- •Тема № 2 компоненты delphi
- •2.1. Теоретическая часть
- •2.2. Контрольные вопросы
- •2.3. Задания
- •3.1. Теоретическая часть
- •3.2. Контрольные вопросы
- •3.3. Задания
- •Лабораторная работа № 4 типы данных delphi
- •4.1. Теоретическая часть
- •4.2. Контрольные вопросы
- •4.3. Задания
- •Лабораторная работа № 5 процедуры и функции
- •5.1. Теоретическая часть
- •5.2. Контрольные вопросы.
- •Лабораторная работа № 6
- •6.1. Теоретическая часть
- •6.2. Контрольные вопросы
- •6.3. Задания
- •Литература
- •Рекомендуемая литература
5.2. Контрольные вопросы.
1. Что такое процедура?
2. Дайте определение функции.
3. Как объявляется процедура и функция?
4. Назовите функции и процедуры для порядковых типов данных.
5. Какие стандартные функции преобразования типов есть в Delphi?
6. Перечислите функции работы со строками.
7. Назовите процедуры и функции преобразования дат и времени.
5.3. ЗАДАНИЯ
Напишите программу, реализующую функцию обмена значений переменных.
Решение квадратного уравнения. Использовать собственную процедуру и вывод справочной информации.
Пересчет веса из фунтов в килограммы. Написать соответствующую процедуру, использовать компонент ListBox.
Написать программу, используя функцию, которая проверяет, является ли введенное пользователем число простым.
Написать программу с функцией вычисления стоимости телефонного разговора. Исходные данные: стоимость минуты разговора, город, длительность переговоров.
Написать программу, используя функцию, которая проверяет, является ли введенный пользователем год високосным.
Написать программу, используя функцию, которая показывает дату завтрашнего дня.
Написать программу, используя функцию, которая показывает дату вчерашнего дня.
Написать программу, используя функцию, которая осуществляет посимвольный вывод сообщения.
Написать программу, используя функцию, которая вычисляет объем тетраэдра по длине его ребра.
Лабораторная работа № 6
ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ
Цель работы: научиться применять циклическую структуру в программировании.
6.1. Теоретическая часть
Инструкция цикла с параметром имеет два возможных формата:
for <Параметр> := <Выражение1> to <Выражение2> do <Инструкция>;
for <Параметр>:= <Выражение1> downto <Выражение2> do <Инструкция>;
Параметр цикла (параметр) представляет собой переменную порядкового типа, которая должна быть определена в том же блоке, где находится инструкция цикла. Выражение1 и Выражение2 являются, соответственно, начальным и конечным значениями параметра цикла и должны иметь тип, совместимый с типом параметра цикла.
Инструкция цикла (инструкция) обеспечивает выполнение тела цикла, которым является инструкция после слова do, до полного перебора с соответствующим шагом всех значений параметра цикла от начального до конечного. Шаг параметра всегда равен 1 для первого формата цикла и −1 - для второго, т. е. значение параметра последовательно увеличивается (for...to) или уменьшается (for...downto) на единицу при каждом повторении цикла.
Примеры циклов с параметром:
var
n, k: integer;
s := 0;
for n := 1 to 10 do s := s + m[n] ;
for к := 0 to 2 do for n := 5 to 10 do
begin
arr1[k, n] := 0; arr2[k, n] := 1;
end;
В первом цикле выполняется расчет суммы десяти значений массива m. Во втором случае два цикла вложены один в другой, и в них пересчитываются значения элементов двумерных массивов arr1 и аrr2.
В качестве примера применения оператора for рассмотрим программу, осуществляющую вычисление суммы всех целых чисел от 1 до N.
var
i, N, Sum : Integer;
begin
Sum := 0;
for i := 1 to N do Sum := Sum + i;
end;
Инструкцию цикла с постусловием целесообразно использовать в случаях, когда тело цикла необходимо выполнить не менее одного раза и заранее неизвестно общее количество повторений цикла.
Инструкция цикла с постусловием имеет следующий формат:
repeat
<Инструкция1>;
<ИнструкцияN>;
until <Условие>;
Условие представляет собой выражение логического типа. Инструкции, заключенные между словами repeat и until, составляют тело цикла и выполняются до тех пор, пока логическое выражение Условие не примет значение True, т. е. тело цикла повторяется при значении Условия, равном False. Так как Условие проверяется только в конце цикла, инструкции тела цикла выполняются минимум один раз.
В теле цикла может находиться произвольное число инструкций без операторных скобок begin и end. По крайней мере одна из инструкций тела цикла должна влиять на значение Условие, в противном случае произойдет зацикливание.
Приведем для иллюстрации цикла с постусловием расчет суммы десяти значений массива m:
var
х: integer; sum: real; m: array[1..10] of real;
begin
x := 1; sum := 0;
repeat
sum := sum + m[x];
x := x + 1;
until(x < 10);
end;
Инструкцию цикла с предусловием целесообразно использовать в случаях, когда число повторений тела цикла заранее неизвестно и тело цикла может ни разу не выполняться. Формат инструкции цикла с предусловием:
while <Условие> do <Инструкция>;
Инструкция тела цикла выполняется до тех пор, пока логическое выражение Условие не примет значение False, т. е. в отличие от цикла с постусловием, данный цикл выполняется при значении логического выражения True.
В качестве примера рассмотрим расчет суммы десяти значений массива:
var
х: integer; sum: real; m: array[1..10] of real;
begin
x: = 1; sum: = 0 ;
while x <= 10 do
begin
sum := sum + m[x];
x : + x + 1;
end;
end;
Если перед первым выполнением цикла условие не удовлетворяется (значение логического выражения Условие равно False), то тело цикла не выполнится ни разу, и происходит переход на инструкцию, следующую за инструкцией цикла.
