
- •Тема: Алгоритм. Понятие алгоритма, свойства алгоритмов. Исполнители алгоритмов. Исполнитель – черепашка. Система команд. Алгоритмическая структура следование.
- •Свойства алгоритма
- •Система команд черепашки в среде л-Граф:
- •Задание
- •Тема: Алгоритмическая структура повторение. Оператор цикла.
- •Задания
- •Тема: Понятие процедуры. Процедуры без параметров.
- •Задания
- •Тема: Использование переменных и арифметических выражений в среде «л-граф», процедуры с параметрами.
- •Задания
- •Тема: Практика решения задач на процедуры с параметрами
- •Задания
- •Тема: Структура ветвления «Если-То-Иначе»
- •Задания
- •Алфавит и синтаксис языка
- •Структура программы на языке Паскаль
- •Стандартные типы данных
- •Инструкция присваивания
- •Задания
- •Тема: Логические выражения. Переменные булевского типа. Логические операции.
- •Задания
- •Тема: Инструкции ввода-вывода.
- •Задания
- •Тема: Организация ветвлений в программе. Инструкция if...Then...Else.
- •Задания
- •Тема: Усечённая инструкция if...Then. Вложенные инструкции if...Then...Else.
- •Задания
- •Тема: Компьютерная графика. Стандартные графические процедуры.
- •Задания
- •Тема: Организация циклов в программах
- •Задания
- •Тема: Процедуры. Параметры процедур.
- •Задания
- •Тема: Практика решения задач. Нахождение суммы, произведения, количества чисел в последовательности, введенной с клавиатуры. Цикл-счетчик.
- •Задания
- •Список литературы
Задания
Напишите программы, позволяющие получить на экране компьютера следующие картинки:
Задание 1.
|
Задание 2.
|
Задание 3.
|
Задание 4.
|
||
Задание 5.
|
Задание 6.
|
Задание 7.
|
Тема: Практика решения задач на процедуры с параметрами
Рассмотрим еще некоторые возможности языка Лого.
Команда MOVETO X Y — позволяет переместить черепаху в точку с координатами (X,Y).
Есть еще одно очень интересная псевдопеременная @RND, которая при каждом обращении возвращает псевдослучайное число в диапазоне от 0 до 1. То есть это вещественное число меньшее 1. Что сделать, чтобы получить число большее 1? Естественно, умножить на какое-то число. Например,
:A=int(@rnd*50) положит в :А случайное число от 0 до 50.
Если необходимо выбрать случайное число в диапазоне от N1 до N2 используется следующая формула:
:A=int(@rnd*(N2-N1+1)+N1)
Для того, чтобы генератор случайных чисел работал хорошо, выбирая каждый раз новые числа, перед его использованием необходимо включить процедуру, которая регенерирует (перезапускает) генератор случайных чисел.
RANDOMIZE.
Вспомним какой размер имеет экран среды Лого: 638 точек по горизонтали и 358 точек по вертикали. Тогда для получения какой-то псевдослучайной точки экрана надо задать следующие координаты:
:X=Int(@rnd*638) Y=Int(@rnd*358)
А как будет выглядеть произвольный цвет?
:C=Int(@RND*15)
Рассмотрим программу, которая рисует на экране M разноцветных снежинок, расположенных случайным образом на экране (возьмем размер экрана 600*350).
TO SN :A :N :C COLOR :C REPEAT :N [ FORWARD :A BACK :A RIGHT 360/:N ] END
:N1=30 :A1=5 :M=100 RANDOMIZE REPEAT [ :C1=INT(@RND*15) NODRAW MOVETO INT(@RND*600+:a1) INT(@RND*350+:a1) DRAW SN :A1 :N1 :C1 ]
Задания
Напишите программы, позволяющие получить на экране изображения
закрашенного квадрата
треугольника прямоугольного
треугольника равнобедренного
калейдоскоп, т. е. снежинки, расположенные случайным образом в 1 квадранте экрана, отражаются во 2,3 и 4 квадранты.
Тема: Структура ветвления «Если-То-Иначе»
Две Мы рассмотрели и изучили две основные алгоритмические структуры — следование и цикл. Сегодня мы рассмотрим последнюю алгоритмическую структуру - ветвящуюся, или ветвление, или Если-То-Иначе.
Решим задачу. Построить правильный N-угольник белого цвета, у которого в каждой третьей вершине нарисована голубая снежинка, а во всех остальных — зеленые снежинки.
-
TO SNOW :C :A :M COLOR :C REPEAT :M [ FORWARD :A BACK :A RIGHT 360/:M ] END :SIZE=40 :M1=12 :K=1 :N=9 REPEAT :N [ IF :K/3=INT(:K/3) [ SNOW 11 :SIZE/4 ] [ SNOW 10 :SIZE/4 ] COLOR 15 FORWARD :SIZE RIGHT 360/:N :K=:K+1 ] END
Значение переменной :K указывает номер вершины многоугольника. В зависимости от значения :K (номера вершины), мы должны нарисовать снежинку голубого (11-ый цвет) или зеленого (10-ый цвет) цвета. Для этого в этой программе используется команда выбора IF (если). Вызов этой команды осуществляется клавишами <Alt>+<F7>.
Формат команды:
IF <условие> [ Список команд 1 ] [ Список команд 2
]
Условие имеет вид отношения, при этом используются следующие обозначения:
-
<
—
меньше
<=
—
меньше или равно
=
—
равно
<>
—
не равно
>=
—
больше или равно
>
—
больше
Если условие истинно, выполняется список команд 1, иначе выполняется список команд 2.
В нашей программе после команды IF написано условие кратности трем величины :K:
:K/3=INT(:K/3)
Если :K кратно трем, то в K-ой вершине многоугольника рисуем снежинку голубого цвета, иначе рисуем зеленую снежинку.
Процедура SNOW описывает рисование снежинки, параметр :C определяет цвет снежинки.
Возможно использование краткой конструкции команды IF.
Формат краткой команды:
IF <условие> [ Список команд
]
В этом случае если условие истинно, выполняется список команд, стоящий в квадратных скобках, иначе выполняется команда, стоящая после квадратных скобок.
Для более удобного решения некоторых задач рассмотрим еще три псевдопеременные, которые соответствуют текущему состоянию черепахи.
@A - текущий угол поворота; X - текущая координата по оси X, @Y - текущая координата по оси Y.