
- •Технология программирования
- •Технология программирования
- •Оглавление
- •§1. Классификация и эволюция программного обеспечения
- •§2. Модульное и объектно-ориентированное программирование
- •Основные понятия ооп
- •Составные части объектного подхода
- •Инкапсуляция. Свойства
- •Наследование. Методы
- •Полиморфизм
- •§3. Визуальная среда программирования Структура проекта Delphi
- •Библиотека компонентов Delphi
- •Класс tButton (кнопки)
- •Класс tShape (фигуры)
- •§4. Основные типы данных в языке Паскаль
- •Класс tLabel (надписи)
- •Класс tEdit
- •Класс tMemo
- •Класс tMainMenu
- •Стандартные диалоги
- •Классы tOpenDialog и tSaveDialog
- •Класс tFontDialog
- •Инструкция case
- •§6. Программирование циклических алгоритмов
- •Цикл с параметром. Инструкция for
- •Цикл с предусловием. Инструкция while
- •Цикл с постусловием. Инструкция repeat … until
- •§7. Простейшие вычислительные методы
- •Метод прямоугольников
- •Метод Монте-Карло
- •Метод деления пополам
- •§8. Процедуры и функции
- •§9. Одномерные массивы
- •Класс tListBox
- •Класс tComboBox
- •§10. Двумерные и многомерные массивы
- •Класс tStringGrid
- •Алгоритмы поиска наименьшего и наибольшего элемента
- •§11. Алгоритмы поиска и сортировки. Понятие вычислительной сложности алгоритма
- •Алгоритм простого перебора
- •Алгоритм бинарного поиска
- •Алгоритм сортировки методом «пузырька»
- •Алгоритм сортировки включением
- •Понятие вычислительной сложности алгоритма
- •§12. Обработка исключительных ситуаций
- •§13. Программирование процессов реального времени
- •Класс tTimer
- •§14. Графическая подсистема Delphi Класс tImage
- •Класс tCanvas
- •§15. Динамическое создание компонентов. Конструкторы и деструкторы
- •§16. Тестирование и отладка программ
- •Методы тестирования программ
- •Средства отладки программ в Delphi
- •Трассировка программы
- •Точки останова программы
- •Наблюдение значений переменных
- •§17. Жизненный цикл программного обеспечения
- •Последовательный (каскадный) тип
- •Эволюционный (спиральный) тип
- •Библиографический список
- •Технология программирования
- •Редактор с.В.Пилюгина
- •620034, Екатеринбург, ул. Колмогорова, 66, УрГупс Редакционно-издательский отдел
Инструкция case
Инструкция case позволяет выбрать один из многих возможных вариантов развития программы. Выбор осуществляется в зависимости от значения указанной переменной (селектора). Для селектора допускается не любой тип данных, а только перечислимый. Из известных нам типов таковыми являются integer и char.
В общем виде инструкция записывается следующим образом:
case Селектор of
Значение1:
begin
{ инструкции 1 }
end;
Значение2:
begin
{ инструкции 2 }
end;
…
ЗначениеМ:
begin
{ инструкции N }
end;
else
begin
{ инструкции )
end;
end;
где
Селектор - выражение, значение которого определяет дальнейший ход выполнения программы (т. е. последовательность инструкций, которая будет выполнена);
Значение N - константа соответствующего типа (или список констант через запятую). Если константы представляют собой диапазон чисел, то вместо списка можно указать первую и последнюю константу диапазона, разделив их двумя точками. Например, список 1, 2, 3, 4, 5, 6 может быть заменен диапазоном 1..6.
Выполняется инструкция case следующим образом:
1. Сначала вычисляется значение выражения-селектора.
2. Значение выражения-селектора последовательно сравнивается с константами из списков констант.
3. Если значение выражения совпадает с константой из списка, то выполняется соответствующая этому списку группа инструкций. На этом выполнение инструкции саsе завершается.
4. Если значение выражения-селектора не совпадает ни с одной константой из всех списков, то выполняется последовательность инструкций, следующая за else.
Синтаксис инструкции case позволяет не писать else и соответствующую последовательность инструкций. В этом случае, если значение выражения не совпадает ни с одной константой из всех списков, то выполняется следующая за case инструкция программы.
Например, инструкция
case d of
‘+’: begin c:=a+b; end;
‘-’: begin c:=a-b; end;
‘*’: begin c:=a*b; end;
‘/’: begin c:=a/b; end;
else begin
ShowMessage(‘Неверная операция’);
end;
end;
§6. Программирование циклических алгоритмов
Алгоритмы решения многих задач являются циклическими, т. е. для достижения результата определенная последовательность действий должна быть выполнена несколько раз.
Алгоритм, в котором есть последовательность операций (группа инструкций), которая должна быть выполнена несколько раз, называется циклическим, а сама последовательность операций именуется циклом.
Цикл с параметром. Инструкция for
Инструкция for используется в том случае, если некоторую последовательность действий (инструкций программы) надо выполнить несколько раз, причем число повторений заранее известно.
В общем виде инструкция for записывается следующим образом:
for счетчик := нач_знач to кон_знач do begin
{инструкции, которые надо выполнить несколько раз – тело цикла}
end
где счетчик - переменная-счетчик числа повторений инструкций цикла;
нач_знач - выражение, определяющее начальное значение счетчика;
кон_знач - выражение, определяющее конечное значение счетчика.
Переменная счетчик, выражения нач_знач и кон_знач должны быть перечислимого типа( integer или char).
После каждого выполнения инструкций тела цикла счетчик циклов увеличивается автоматически.
Переменную-счетчик можно использовать внутри цикла (но ни в коем случае не изменять).
Пример: фрагмент программы, который вычисляет сумму первых 10 элементов ряда: 1 + 1/2+ 1/3 + ...
sum:=0; {первоначальное значение суммы}
for i := 1 to 10 do begin
sum:=sum+1/i; {постепенное накопление суммы}
end;
Обратите внимание, что если начальное значение счетчика больше конечного, то тело цикла не будет выполнено ни разу.
Если в инструкции for вместо слова to записать downto, то после очередного выполнения инструкций тела цикла значение счетчика будет не увеличиваться, а уменьшаться.
Если между begin и end находится только одна инструкция, то слова begin и end можно не писать.