
- •Тема: Алгоритм. Понятие алгоритма, свойства алгоритмов. Исполнители алгоритмов. Исполнитель – черепашка. Система команд. Алгоритмическая структура следование.
- •Свойства алгоритма
- •Система команд черепашки в среде л-Граф:
- •Задание
- •Тема: Алгоритмическая структура повторение. Оператор цикла.
- •Задания
- •Тема: Понятие процедуры. Процедуры без параметров.
- •Задания
- •Тема: Использование переменных и арифметических выражений в среде «л-граф», процедуры с параметрами.
- •Задания
- •Тема: Практика решения задач на процедуры с параметрами
- •Задания
- •Тема: Структура ветвления «Если-То-Иначе»
- •Задания
- •Алфавит и синтаксис языка
- •Структура программы на языке Паскаль
- •Стандартные типы данных
- •Инструкция присваивания
- •Задания
- •Тема: Логические выражения. Переменные булевского типа. Логические операции.
- •Задания
- •Тема: Инструкции ввода-вывода.
- •Задания
- •Тема: Организация ветвлений в программе. Инструкция if...Then...Else.
- •Задания
- •Тема: Усечённая инструкция if...Then. Вложенные инструкции if...Then...Else.
- •Задания
- •Тема: Компьютерная графика. Стандартные графические процедуры.
- •Задания
- •Тема: Организация циклов в программах
- •Задания
- •Тема: Процедуры. Параметры процедур.
- •Задания
- •Тема: Практика решения задач. Нахождение суммы, произведения, количества чисел в последовательности, введенной с клавиатуры. Цикл-счетчик.
- •Задания
- •Список литературы
Задания
Задание 1
Написать программу которая позволяет разместить на экране все фигуры, которые можно нарисовать с системе Микропаскаль.
Все параметры должны вводиться с клавиатуры.
Задание 2
Написать программу, которая рисует на экране снеговика.
Задание 3
Написать программу, которая рисует на экране елочку.
Тема: Организация циклов в программах
Цикл — это многократно выполняемая последовательность действий. Существует два вида цикла — цикл с предусловием (цикл ”пока”) и цикл с постусловием (цикл “до”).
Алгоритмическая блок-схема цикла с предусловием. (Прямоугольником обозначено тело цикла).
Циклу с предусловием (цикл “ПОКА”) в языке Паскаль соответствует инструкция WHILE ... DO ... .
Формат описания:
WHILE <логическое выражение> DO <инструкция> ;
Если в цикле необходимо выполнить несколько инструкций, то после служебного слова DO используются операторные скобки BEGIN...END.
Формат описания:
WHILE <логическое выражение> DO begin <инструкция 1> ; <инструкция 2> ; <инструкция 3> ; end;
Пример 1. «Звездное небо».
Написать программу, позволяющую нарисовать на экране N разноцветных точек. (N вводится с клавиатуры).
PROGRAM nebo ; VAR n,i,x,y,c : INTEGER ; BEGIN { ******* MAIN PROGRAM ******* } WRITELN('Введите количество звезд') ; READLN( n ) ; InitGraph ; i := 1 ; WHILE i<=n DO BEGIN x := random(640) ; y := random(350) ; c := random(16) ; PutPixel(x,y,c) ; i := i+1 ; END; ReadKey ; CloseGraph; END.
Пример 2. «Бегущий отрезок».
Написать программу, позволяющую сымитировать бегущий по экрану белый отрезок длиной L (L- вводится с клавиатуры), который бежит от левой стороны экрана до правой и там останавливается.
PROGRAM begotr ; VAR x1,y,x2,L : INTEGER ; BEGIN { ******* MAIN PROGRAM ******* } WRITELN( 'Введите длину отрезка' ) ; READLN( L ) ; InitGraph ; x2 := 0 ; x1 := L ; y := 175 ; WHILE x1<640 DO BEGIN Line(x1,y,x2,y,15) ; PutPixel(x2,y,0) ; x1 := x1+1 ; x2 := x2+1 ; END ; ReadKey ; CloseGraph ; END.
Второй вид цикла — цикл с постусловием.
Алгоритмическая блок-схема цикла с постусловием. (Плясать до упаду). (Прямоугольником обозначено тело цикла).
Циклу с постусловием (цикл “ДО”) в языке Паскаль соответствует инструкция REPEAT ... UNTIL ... .
Формат описания:
REPEAT <инструкция 1> ; <инструкция 2> ; . . . <инструкция n> ; UNTIL <логическое выражение>
Пример 1.2 «Звездное небо».
Что измениться в алгоритме решения? Описание цикла. Повторяем - задаем случайным образом координаты (x,y) и цвет (c) точки, ставим точку и меняем на единицу текущий номер I — до тех пор, пока текущий номер не станет больше N.
PROGRAMnebo; VAR n,i,x,y,c:INTEGER; BEGIN { ******* MAIN PROGRAM ******* } WRITELN('Введите количество звезд') ; READLN(n); InitGraph; i:=1; REPEAT x:=random(640); y:=random(350); c:=random(16); PutPixel(x,y,c); i:=i+1; UNTIL i>n; ReadKey; CloseGraph; END.