Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Алгоритмика в теории и практике

.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
475 Кб
Скачать

DRAW ''s19 m+20,+15 m+0,-15 m+5,+10 m+3,+2 m+1,-0 m+1,-1 m+3,-3 m+1,-1 m+2,-5 m+2,-17 m-25,+2 m-6,+4 m-1,+5 m+3,+2 m+12,+2 m-21,+0 bm+5,+2 p14,1 bm+10,-10 p4,1''

Данная программа состоит из задания начальной точки, а затем строится цепочка, состоящая из команд относительного смещения.

Примеры решения задач по теме

1. Составьте программу для рисования на экране следующих фигур:

Решение:

CLS

SCREEN 9

LINE (100, 5)-(75, 25), 2:LINE (75, 25)-(125, 25), 2 LINE (125, 25)-(100, 5), 2:LINE (55, 65)-(145, 65), 2 LINE (145, 65)-(100, 45), 2:PAINT (100, 55), 2, 2 LINE (100, 65)-(40, 90), 2:LINE (40, 90)-(160, 90), 2 LINE (160, 90)-(100, 65), 2:PAINT (100, 75), 2, 2

LINE (300, 50)-(400, 120), 6, B:LINE (370, 7)-(380, 37), , B LINE (350, 5)-(300, 50), 1:LINE (350, 5)-(400, 50), 1

LINE (300, 50)-(400, 50), 1:PAINT (350, 15), 1, 1

LINE (315, 70)-(340, 95), 6, B:LINE (360, 70)-(385, 95), 6, B LINE (327.5, 70)-(327.5, 95), 6:LINE (315, 82.5)-(340, 82.5), 6 LINE (372.5, 70)-(372.5, 95), 6:LINE (360, 82.5)-(385, 82.5), 6

CIRCLE (100, 220), 50, 12, 2.2, .95, 1:CIRCLE (100, 170), 40, 12, , , 1 / 3 LINE (60, 169)-(139, 169), 12:CIRCLE (82, 155), 22, 12, 6.2, 3.5, 1.2 CIRCLE (118, 155), 22, 12, 5.9, 3.1, 1.2

CIRCLE (82, 148), 5, 12, , , 1:CIRCLE (118, 148), 5, 12, , , 1 CIRCLE (82, 270), 15, 12, 2.1, 6.28, 1 / 2

CIRCLE (120, 270), 15, 12, 3.14, 1.1, 1 / 2

11

1. Операторы графики

LINE (400, 230)-(500, 290), 14, B:CIRCLE (450, 260), 27, 14 CIRCLE (355, 245), 27, 14, , , 1 / 3

CIRCLE (545, 245), 27, 14, , , 1 / 3

LINE (382, 245)-(410, 220), 14:LINE (518, 245)-(490, 220), 14

LINE (410, 220)-(490, 220), 14:LINE (328, 242)-(375, 195), 14

LINE (572, 242)-(525, 195), 14:LINE (375, 195)-(525, 195), 14

2. Нарисуйте три окружности, центры которых лежат на одной прямой на расстоянии 45 точек друг от друга по оси Y.

Решение:

cls screen 9

circle (100,100), 50, 4 circle (100,145), 50, 4 circle (100,190), 50, 4

3. Нарисуйте робота, используя возможные команды DRAW.

Решение:

CLS : SCREEN 9

DRAW''BM300, 250 U100 R200 D100 L200''

DRAW''BM350, 150 U100 R100 D100''

DRAW''BM350, 250 D100 L10 U100''

DRAW''BM450, 250 D100 R100 U100''

DRAW''BM300, 200 G100''

DRAW''BM500, 200 E100''

DRAW''BM400, 50 NE20 NH20''

4. Используя операторы для рисования линий и прямоугольников, составьте программу для рисования на экране следующей фигуры:

12

Решение:

CLS : SCREEN 9

LINE (500, 70)-(450, 25): LINE (450, 25)-(400, 50) LINE (400, 50)-(375, 100): LINE (375, 100)-(400, 125) LINE (400, 125)-(350, 125): LINE (350, 125)-(300, 150)

LINE (300, 150)-(225, 250): LINE (225, 250)-(200, 325)

LINE (200, 325)-(250, 275): LINE (250, 275)-(250, 300) LINE (250, 300)-(275, 275): LINE (275, 275)-(300, 300) LINE (300, 300)-(275, 300): LINE (275, 300)-(325, 400) LINE (325, 400)-(325, 275): LINE (325, 275)-(575, 200) LINE (575, 200)-(575, 175): LINE (575, 175)-(425, 75)

LINE (425, 75)-(435, 60): LINE (435, 60)-(500, 70) LINE (435, 45)-(445, 55), , B

13

2. Операторы ввода/вывода

Величины, имя значение, тип

Часто при составлении программ приходится сначала вычислять необходимые числовые параметры, а затем использовать их.

Для этих целей в алгоритмических языках используются ВЕЛИЧИНЫ.

Этот термин взят из математики. Любая величина имеет имя, значение и тип.

Общаясь между собой люди на вопрос «кто это?» или «что это такое?» отвечают одним словом, которое обозначает данный предмет или человека. Чтобы сообщить информацию о предмете или явлении, его нужно обозначить-дать ему имя.

Имя служит для обозначения величины, с которой необходимо производить какие либо действия. Имя переменной образуется из одного или нескольких символов (букв или цифр), причем первый символ должен быть обязательно буквой.

Например: А, АNС, LI2, А1, SDY,VFR57 SUMMA

Если для человека имя связано с каким-либо объектом, то для компьютера это определенная ячейка оперативной памяти. При трансляции составляется таблица, в которой каждому имени переменной ставиться в соответствии конкретный числовой адрес ячейки памяти.

Каждая величина должна иметь значение. С помощью значе- ния величины можно сравнивать и отмечать изменения, которые с ними происходят, например, изменение веса, места жительства, количество отсутствующих на уроке, изменение цвета. Значение величин выражаются числами или словами. Например, длину можно определить числом, а окрас собаки — словом. Значение величине присваивается с помощью оператора присваивания (=). Имя должно стоять всегда слева от знака равно, а ее значение или арифметическое выражение, определяющее значение переменной справа.

А=87 переменной с именем А присвоено значение 87 В=43+А переменной с именем В присвоено значение 43+А

Для запоминания информации в ПК отводится ПАМЯТЬ (как классная доска). Информацию можно читать, стирать и записывать новую.

14

Место, отведенное под величину в памяти называют ячейкой («полочка»). Если она не определена (нет значения), то «полка» пустая.

Итак, чтобы у величины было значение его надо присвоить с помощью знака = (равно)

à=5 â=6.9

При присваивании нового значения величине, старое «затирается» в памяти и записывается новое.

à=5 à=7 à=–1

В результате такой последовательности в ячейке памяти, определяющей значение переменной А останется величина равная –1.

Величине можно присваивать и арифметическое выражение. Тогда компьютер сначала вычисляет выражение справа от знака «присвоить», а затем полученное значение записывает в ячейку памяти.

Поэтому в информатике правомерно такое выражение n=n+1, т. е. в этом случае предыдущее значение извлекается из ячейки, добавляется к нему 1 и затем новое значение записывается вместо старого. Такое выражение обычно используется в счетчиках.

Разберем пример:

А=2: В=7: С=А+В: А=А+С В данном примере величине А присваивается значение равное

2, а величине В- равное 7. Значение величины С складывается из значений А и В и равно 9. Затем изменяется значение А: из ячейки извлекается число 2, к нему добавляется значение С, равное 9, затем результат записывается в ячейку, определяющую значение величины А. В результате величины будут иметь следующие значе- ния: А=11 В=2 С=7

Величины по ТИПУ бывают символьные или числовые. Символьные — это сочетание символов, букв, слов и т. д.

Для обозначения символьной переменной к имени добавляется знак доллара $, а присваемое значение заключается в скобки.

Например : В$, dom$, dom1$

kricha$= «черепица» V$= «Компьютер»

15

2.Операторы ввода/вывода

Ñэтими переменными нельзя производить арифметические действия. Действие сложение — это складывание слова из букв и слогов, или предложения из слов.

Например,

если A$="погода" В$="хорошая" C$=В$+А$, то значение переменной С будет C$="хорошая погода"

èëè A$="2" B$="3" C$=A$+B$="23"

Числовые величины в свою очередь могут быть целые или вещественные (дробные).

Для обозначения целых чисел к имени переменной можно добавлять знак %. Например : А% SUMMA%, это экономит компьютерную память, т. к. под целую переменную отводится места меньше, чем под дробные числа.

Вещественные переменные имеют две формы представления: основную и экспоненциальную.

Основная форма отличается от обычной записи дробных десятичных чисел только тем, что целая и дробная части отделяются точкой, а не запятой.

При выводе целых и вещественных чисел в основной форме выделяются 9 позиций: одна для знака числа (вместо + используется пробел), одна для десятичной точки и семь позиций для цифр числа.

Следовательно, числа с большей целой частью или маленькие правильные дроби невозможно представить в этой форме.

Например числа 12345678 и 0,000000012 Для расширения диапазона и сокращения записи чисел испо-

льзуется экспоненциальная форма вещественного числа. В этой форме можно любое число представить умножением на степень числа десять.

Например : 1,2 =1,2*10 =12*10 ^= 120* 10 ^=0,12*10 =0,012*10

Существует множество представлений одного и того же числа в такой форме.

Число с нулевой целой частью и ненулевой первой цифрой дроби называют нормализованным.

Дробная часть нормализованного числа называется мантиссой числа.

Показатель степени числа десять — порядком числа.

В рассмотренном примере нормализованным является число 0,12. При этом порядок равен 1, а мантисса 12.

16

Для записи числа в экспоненциальной форме знак умножения на 10 опускается, число 10 заменяется на букву Е (англ. Exponent — показатель степени), а далее в той же строке записывается порядок числа со знаком (+ опускается). Порядок должен находиться в интервале от –9809 до +9809.

При выводе числа в экспоненциальной форме выделяется 15 позиций: одна для знака числа (+ заменяется пробелом), одна для десятичной точки, семь позиций для цифр мантиссы, одна для буквы Е, одна для знака порядка (вместо + пробел), и четыре для цифр порядка.

Например. 12345678

0.1234568Å+8

0,000000012

0.12Å-7

При отбрасывании лишних разрядов производиться округление числа.

Величины могут быть постоянными — константы (которые в процессе работы программы не изменяют своего значения) и переменными — меняющими в течении работы программы значе- ние, хотя бы один раз.

Запись простых арифметических выражений в линейной форме

При записи арифметических выражений с помощью клавиатуры невозможно без специальных программ написать, например, сложные многоэтажные дроби, изобразить квадратный корень. Поэтому для записи любого арифметического выражения применяется линейная форма записи (т. е. мы как бы вытягиваем нашу сложную формулу в одну строку).

Для такого преобразования используются следующие математи- ческие знаки:

+ — сложение

– — вычитание * — умножение

/— деление

^— возведение в степень

sqr(x) — вычисление квадратного корня

Приоритетность выполнения действий как и в математике. Для изменения порядка действий применяются только круглые скобки.

17

2. Операторы ввода/вывода

Разберем примеры:

Запишите в линейной форме следующее арифметическое выражение:

1).

2x 2 x 3

a b

При преобразовании данного выражения будем заменять математические знаки согласно вышеуказанным соглашениям. Не забывайте о порядке действий. Действие которое должно выполняться первым, а имеет более низкий приоритет заключается в круглые скобки. В данном примере надо числитель и знаменатель заключить в скобки. В результате получаем следующее выражение в линейной форме

(2 * x^2 SQR(x^3))(a b).

2).

 

1

x 3

 

 

 

 

 

x

SQR (1 x x^3) (2 * X )

 

2x

 

 

Во втором примере знаменатель надо заключить в скобки, т. к. деление и умножение имеет одинаковый приоритет. Если не поставить скобок, то компьютер сначала произведет деление числителя на 2, а затем результат умножит на Х, а это приведет к неверному результату.

Для вычисления тригонометрических функций используются практически одноименные стандартные функции, но все аргументы (а это могут быть значения углов, выраженные обязательно в радианах, переменные, арифметические выражения) заключаются в круглые скобки.

Надо помнить следующие правила записи при возведении в степень аргумента или значения функции. Ниже приведены примеры.

SIN X2=SIN(X^2)

SIN2 X= (SIN(X))^2

Для различных преобразований и вычислений часто в программировании используеются еще две функции. Это функция определения целой части числа, переменной или арифметического выражения — INT(X). В стандартном варианте дробная часть числа отбрасывается без округления.

18

И вторая функция определения остатка от деления одного целого числа на другое. Если предположить что число А=10, число В=7, то результатом работы функции С= А mod В будет число 3.

Оператор вывода информации

Чтобы видеть результаты работы компьютера, когда мы строим алгоритм решения какой-либо формулы или задачи, необходимо ответ напечатать на экране. Для этого применяется специальный оператор PRINT. Но надо помнить, что при таком выводе мы будем работать с текстом, а не с графикой. А это означает, что теперь экран монитора разбивается на строки и позиции. Здесь мы уже не можем управлять каждой точкой экрана, как при рисовании линий и окружностей. Каждая буква, цифра и любой другой символ клавиатуры имеет определенный размер и может выводится только на строке и в определенной позиции, чтобы знаки не сливались и удобно читались. (Ведь в своих тетрадях вы тоже стараетесь писать слова на разных строчках и отделять одну букву от другой).

Поэтому надо помнить, что экран имеет в нормальном режиме 25 строк и 80 колонок.

Оператор вывода информации на экран имеет следующий вид.

PRINT A, B, C

А, В и С это имена переменных, значение которые надо вывести на экран.

Для вывода сообщений на экран слова должны помещать в кавычки:

PRINT "Знакомство с оператором вывода"

Если в операторе PRINT переменная или текст помещается в кавычки, то он выводится на экран без изменения. Это рекомендуется делать при выводе значений переменных, чтобы определить какое значение к какой переменной относится.

Например в программе CLS: A=5 : PRINT"А=";A

На экране мы увидим текст А=5

Если выводимые переменные разделяются запятой, то на экран выводятся значения этих переменных через 14 позиций.

19

2. Операторы ввода/вывода

Для более плотной записи вывода надо в качестве разделителя переменных использовать ; (точку с запятой).

Если запятая или точка с запятой стоят за последней переменной в строке, то следующий оператор вывода, который встретится в программе, будет печатать значения на этой же строке.

Если в операторе отсутствуют переменные, то на экран выводится пустая строка (например, это можно использовать для отделения одной части текста от другой).

Выводом значений или слов на экране можно управлять с помощью специальных функций управления выводом:

LOCATE X,Y — где X — номер строки, Y — номер позиции в строке

SPC(n) — вывод n пробелов (от 1 до 255) TAB(n) — переход к позиции n (n от 1 до 255)

Данные функции необходимо использовать перед оператором вывода.

На блок-схемах оператор ввода изображается в виде следующей фигуры (которая называется параллелограмм)

Разберем примеры:

1. В следующем фрагменте программы записаны операторы, которые позволяют выводить на экран переменные, используя вышеуказанные функции.

CLS

очистить экран

 

A=5 :PRINT A: присвоить переменной А значение 5 и напечатать

A=50

присвоить А значение 50

 

LOCATE 10,30 : PRINT A

вывести значение А в строку

 

 

 

10 позицию 30

 

B= 7: C= 12 : D=25

присвоить переменным В, С,

D значения 7,

 

 

12, 25

 

 

TAB (20):PRINT A, B значения А и В выводятся с 20 позиции

 

 

строки 11

 

PRINT C;D;

 

значения C и D выводятся с 1

позиции

 

 

строки 12

 

A=100

 

присвоить переменной А значение 100

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]