
- •Занятие 1. Введение Почему именно Delphi?
- •Что мы видим на экране
- •Контрольные вопросы:
- •Занятие 2. Мое первое приложение в Delphi Вывести текст в окне
- •Задания для самостоятельной работы
- •Кнопки. Какие они бывают и зачем они?
- •Задания для самостоятельной работы
- •Поле редактирования
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 3. Введение в язык программирования Pascal
- •Понятие алгоритма
- •Структура процедуры
- •Правила задания имен языка Pascal
- •Задания для самостоятельной работы
- •Тип данных
- •Числовой тип данных. Целые числа
- •Числовой тип данных. Вещественные числа
- •Описание данных
- •Задания для самостоятельной работы
- •Операции
- •Присвоение значения переменной. Оператор присваивания
- •Задания для самостоятельной работы
- •Задача «Простой калькулятор»
- •Встроенные функции
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 4. Разветвляющийся алгоритм
- •Логический тип данных
- •Описание данных логического типа
- •Логические выражения
- •Разветвляющийся алгоритм
- •Оператор if
- •Оператор выбора case
- •Задания для самостоятельной работы
- •Списки. Компоненты ListBox и ComboBox
- •Зависимые переключатели. Компоненты RadioButton, RadioGroup
- •Задание для самостоятельной работы
- •Добавление формы к проекту
- •Структура модуля Pascal
- •Как открыть форму
- •Задание для самостоятельной работы
- •Способность форм ссылаться друг на друга
- •Задание для самостоятельной работы
- •Просмотр форм и ассоциированных с ними модулей
- •Основные свойства, методы и события формы
- •Менеджер проектов
- •Опции пpоекта
- •Упpавление пpоектами
- •Компиляция и сборка проекта
- •Выполнение и отладка проекта
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 6. Начинаем рисовать
- •Рисование линий
- •Задание цвета
- •Рисование фигур
- •Свойства класса tBrush
- •Вывод текста
- •События формы OnPaint и OnResize
- •Задания для самостоятельной работы
- •Занятие 7. Циклы
- •Цикл со счетчиком: for
- •Цикл с предусловием: while
- •Цикл с постусловием: repeat..Until
- •Использование операторов Continue и Break в циклах
- •Задание случайных чисел. Функция Random. Процедура Randomize
- •Вложенные циклы
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 8. Массивы
- •Одномерные массивы
- •Двумерные массивы
- •Компонент tStringGrid
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Занятие 9. Строки и символы
- •Символьный тип данных
- •Строковый тип данных
- •Сравнение текстовой информации
- •Функции для работы с текстовой информацией
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 10. Работа с изображениями
- •Редактор Image Editor
- •Как отобразить рисунок в форме
- •Компонент Timer
- •Как заставить картинку двигаться
- •Случайное движение
- •Задание для самостоятельной работы.
- •Движение по закону
- •Задание для самостоятельной работы
- •Управляемое движение
- •Задание для самостоятельной работы
- •Как совместить разные виды движения
- •Задание для самостоятельной работы
- •Использование мыши
- •Занятие 11. Процедуры и функции
- •Описание и вызов процедуры
- •Описание и вызов функции
- •Где описывать процедуры(функции)
- •Передача параметров по ссылке и по значению
- •Контрольные вопросы
- •Задание для самостоятельной работы
- •Занятие12. Еще про компоненты Еще раз про списки
- •Функция MessageDlg
- •Задание для самостоятельной работы
- •Главное меню приложения. Компонент MainManu
- •Задание для самостоятельной работы
- •Кнопочная панель. Компонент ToolBar
- •Область редактирования. Компонент Memo
- •Контекстное меню. Компонент PopupMenu
- •Диалоговые окна Windows
- •Задание для самостоятельной работы
- •Занятие 13. Объектно-ориентированный подход (ооп) в программировании Основные понятия ооп
- •Основные принципы ооп
- •Тип данных запись (структура)
- •Задание для самостоятельной работы
- •Классы и объекты в Delphi
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Занятие 14. Работа с файлами
- •Общая технология работы с файлами в Delphi
- •Стандартный подход к работе с файлами
- •Описание файловой переменной
- •Открытие файлов
- •Запись в файл
- •Считывание из файла
- •Закрытие файла
- •Установка новой позиции в файле
- •Текстовые файлы
- •Конец файла
- •Стандартные подпрограммы для работы с файлами и каталогами
- •Пример работы с нетипизированными файлами
- •Пример работы с типизированными файлами
- •Пример работы с текстовыми файлами
- •Объектный подход к работе с файлами
- •Задания для самостоятельной работы
- •Контрольные вопросы
Задания для самостоятельной работы
Hарисовать на белом экране прямоугольник с границей красного цвета и зелеными диагоналями.
Hарисовать светофор
Hарисовать российский флаг, японский флаг
Hарисовать елочку зеленого цвета с желтой границей, как показано на рисунке:
Hарисовать снеговика
Нарисовать олимпийские кольца.
Изобразить домик в центре экрана, размеры произвольные, крыша – красная, стены – синие, двери, окна – зеленые. Внизу сделать подпись.
Hарисовать радугу на голубом фоне.
Hарисовать схему изображения городов, координаты которых вводятся с клавиатуры, причем размер кружочка, обозначающего город, зависит от численности населения города.
Занятие 7. Циклы
Часто бывает необходимо однотипные операции повторить несколько раз, например, нарисовать несколько разноцветных точек на экране, рисовать концентрические окружности на экране до тех пор, пока они не выйдут за границы экрана, посчитать сумму ряда чисел и т. д. Для решения подобных задач используют циклический алгоритм, цикл (повтор). В языке Pascal используется 3 вида циклов:
Цикл со счетчиком: for
Цикл с предусловием: while
Цикл с постусловием: repeat.. until.
Цикл со счетчиком: for
Цикл for используется, если известно число повторов (шагов) цикла. В таких циклах имеется переменная целого типа, которая называется счетчиком цикла. Оператор цикла состоит из двух частей:
в первой, называемой заголовком, указывается переменная – счетчик цикла, задается ее начальное и конечное значения, а также шаг изменения.
во второй части, называемой тело цикла, задаются операторы, которые будут повторяться заданное счетчиком число раз.
Блок-схема цикла изображена на рисунке:
Операторы тела цикла выполняются, пока значение счетчика цикла меньше конечного значения. Значение счетчика цикла автоматически увеличивается при каждом очередном проходе цикла на величину шага. Не рекомендуется в теле цикла изменять значение счетчика цикла.
Синтаксис оператора for имеет следующий вид:
For <счетчик>:=<начальное значение> {TO | DOWNTO} <конечное значение > Do
<оператор>;
Если перевести на русский язык все английские слова этого оператора, то эта фраза будет означать следующее: для счетчика от начального значения до конечного значения делать операторы цикла.
При этом <счетчик> всегда переменная типа integer;
в фигурных скобках указывается выбор из двух вариантов:
TO – обозначает, что шаг изменения счетчика равен 1;
DOWNTO – обозначает, что шаг изменения счетчика равен –1(минус 1).
<оператор> – любой, чаще всего составной оператор.
Если в теле цикла должны выполняться несколько операторов, они должны оформляться в виде так называемого составного оператора, т.е. заключаться в операторные скобки begin.. end.
Пример1. Посчитать сумму всех чисел от 1 до 100:
Var
sum, i: integer;
begin
sum:=0;
for i: = 1 to 100 do sum := sum + i;
end;
Пример 2. нарисовать 20 концентрических окружностей, исходящих из центра экрана, радиус каждой следующей окружности на 10 больше предыдущей.
procedure TForm1.FormPaint(Sender: TObject);
var i:integer;
x0,y0:integer;
begin
x0:=Width div 2 - 5;
y0:= Height div 2 - 5;
with canvas do
begin
pen.Color:=clRed;
pen.Width:=3;
{ делаем окружности прозрачными }
brush.Style:=bsClear;
for i:=1 to 20 do
begin
ellipse(x0,y0,x0+i*10,y0+i*10);
x0:=x0 - 5; y0:= y0 - 5;
end;
end;
end;
На рисунке изображено то, что получается в результате выполнения этого кода.