
- •Тема: Алгоритм. Понятие алгоритма, свойства алгоритмов. Исполнители алгоритмов. Исполнитель – черепашка. Система команд. Алгоритмическая структура следование.
- •Свойства алгоритма
- •Система команд черепашки в среде л-Граф:
- •Задание
- •Тема: Алгоритмическая структура повторение. Оператор цикла.
- •Задания
- •Тема: Понятие процедуры. Процедуры без параметров.
- •Задания
- •Тема: Использование переменных и арифметических выражений в среде «л-граф», процедуры с параметрами.
- •Задания
- •Тема: Практика решения задач на процедуры с параметрами
- •Задания
- •Тема: Структура ветвления «Если-То-Иначе»
- •Задания
- •Алфавит и синтаксис языка
- •Структура программы на языке Паскаль
- •Стандартные типы данных
- •Инструкция присваивания
- •Задания
- •Тема: Логические выражения. Переменные булевского типа. Логические операции.
- •Задания
- •Тема: Инструкции ввода-вывода.
- •Задания
- •Тема: Организация ветвлений в программе. Инструкция if...Then...Else.
- •Задания
- •Тема: Усечённая инструкция if...Then. Вложенные инструкции if...Then...Else.
- •Задания
- •Тема: Компьютерная графика. Стандартные графические процедуры.
- •Задания
- •Тема: Организация циклов в программах
- •Задания
- •Тема: Процедуры. Параметры процедур.
- •Задания
- •Тема: Практика решения задач. Нахождение суммы, произведения, количества чисел в последовательности, введенной с клавиатуры. Цикл-счетчик.
- •Задания
- •Список литературы
Задания
Задание 1.
Усовершенствовать программу, рисующую елку. Для этого объявить процедуру, позволяющую нарисовать треугольник.
Задание 2.
Написать программу, позволяющую получить на экране еловый бор. (Елки, расположенные случайным образом на экране.)
Задание 3.
Написать программу, позволяющую разбросать по экрану случайным образом разноцветные мячи разных размеров. (Количество мячей задается с клавиатуры).
Задание 4.
Написать программу, которая позволяет нарисовать закрашенный треугольник.
Задание 5.*
Написать программу, которая позволяет изобразить в центре экрана правильный N-угольник, вписанный в окружность радиуса R.
Задание 6.*
Написать программу, которая позволяет изобразить на экране ромашку из закрашенных окружностей.
Задание 7
Составить программу, в результате выполнения которой переменная A меняется значением с переменной B, а переменная C - с переменной D. При решении определите процедуру, осуществляющую обмен значениями двух переменных.
Задание 8
Даны стороны двух треугольников. Найти сумму их периметров и сумму их площадей. Определить процедуры для расчета периметра и площади треугольника по его сторонам.
Задание 9
Найти площадь кольца, внутренний радиус которого равен R1, а внешний - R2. Определить и использовать процедуру вычисления площади круга.
Задание 10
Найти площадь выпуклого четырехугольника, вершины которого заданы своими координатами.
Тема: Практика решения задач. Нахождение суммы, произведения, количества чисел в последовательности, введенной с клавиатуры. Цикл-счетчик.
Рассмотрим следующую задачу. Пусть с клавиатуры вводится последовательность чисел. Признаком конца ввода является ввод числа 0. Требуется написать программу, которая считает количество введенных чисел и их сумму.
PROCEDURE VVOD (Var num: Integer); Begin WRITELN ('Ввести целое число'); READLN (num);
END;
VAR А, Sum, Коl : INTEGER ; BEGIN Sum:=0; Коl:= 0; RЕРЕАТ VVОD(А); Sum:=Sum+А; Коl:=Коl+1; UNTIL А=0; WRITELN('Сумма введеных чисел= ', Sum, ' а количество = ', Коl); END.
В языке программирования Паскаль есть еще одна конструкция цикла, которая введена для удобства пользователей. Это цикл-счетчик, он назван так потому, что выполняется определенное количество раз. Цикл как будто «считает» сколько раз он выполняет необходимые действия.
Формат описания:
FOR <переем. цикла> := < начальное значение> ТО < конечное знач.> DO <инструкция> ;
или
FOR <перем.цикла> := <нач. значение> DOWNTO <кон. значение> DО <инструкция> ;
где <переменная цикла> — переменная типа INTEGER, принимающая значение с начального до конечного с шагом +1 — в случае ТО, -1 — в случае DOWNТО. Значение переменной цикла изменяется автоматически. Изменение ТО на DOWNTO в среде Микропаскаль происходит при нажатии на клавишу пробел;
<начальное значение> — любое целочисленное арифметическое выражение, значение которого является начальным значением переменной цикла;
<конечное значение> — любое целочисленное арифметическое выражение, значение которого является конечным значением параметра цикла;
<инструкция> — действие, повторяемое до тех пор, пока начальное значение переменной цикла не станет больше — в случае ТО (меньше — в случае DOWNТО) конечного значения. Если в цикле необходимо выполнить несколько инструкций, то после служебного слова DО используются операторные скобки ВЕGIN...ЕND.
Значения арифметических выражений вычисляются только один раз при входе в цикл.
Значение переменной цикла нельзя изменять в теле цикла. Несоблюдение этого правила приводит к непредсказуемым последствиям.
Инструкция FOR соответствует циклу с предусловием.
Рассмотрим пример: Нарисуем на экрана компьютера 15 вертикальных разноцветных линий. Расстояние между линиями зададим с клавиатуры (значение в пределах от 10 до 40).
program ex1 ; |
|
program ex1 ; |
const N = 15 ; |
|
const N = 15 ; |
var |
|
var |
STEP : INTEGER ; |
|
STEP : INTEGER ; |
procedure IN_DATA ( var PIX : integer ) ; |
|
procedure IN_DATA ( var PIX : integer ) ; |
begin |
|
begin |
REPEAT |
|
REPEAT |
WRITE( ‘Введите число пикселей между линиями от 10 до 40: ’ ) ; |
|
WRITE( ‘Введите число пикселей между линиями от10 до 40: ’ ) ; |
READLN( PIX ) ; |
|
READLN( PIX ) ; |
IF not((PIX>=10) and (PIX<=40)) THEN |
|
IF not((PIX>=10) and (PIX<=40)) THEN |
WRITELN(‘Ошибка при вводе данных’); |
|
WRITELN(‘Ошибка при вводе данных’); |
UNTIL (PIX>=10) and (PIX<=40) ; |
|
UNTIL (PIX>=10) and (PIX<=40) ; |
end; |
|
end; |
procedure PICTURE ( PIX : integer ) ; |
|
procedure PICTURE ( PIX : integer ) ; |
var K : integer ; |
|
var K : integer ; |
begin |
|
begin |
FOR K := 1 TO N DO |
|
K := 1 ; |
LINE( KPIX, 0, KPIX , 349, K ); |
|
WHILE K <= N DO |
end ; |
|
begin |
|
|
LINE( KPIX, 0, KPIX , 349, K ) ; |
|
|
K := K + 1 ; |
|
|
end ; |
|
|
end ; |
begin |
|
begin |
IN_DATA ( STEP ) ; |
|
IN_DATA ( STEP ) ; |
INITGRAPH ; |
|
INITGRAPH ; |
PICTURE ( STEP ) ; |
|
PICTURE ( STEP ) ; |
READKEY ; |
|
READKEY ; |
CLOSEGRAPH ; |
|
CLOSEGRAPH ; |
end. |
|
end. |