QBasic №2 - школа 73. воронеж.

advertisement
АЛГОРИТМИЗАЦИЯ
И
ПРОГРАММИРОВАНИЕ.
( ПОНЯТИЕ АЛГОРИТМА.
СВОЙСТВА АЛГОРИТМА.
ОБЩИЙ ВИД АЛГОРИТМА.
ЛИНЕЙНЫЙ АЛГОРИТМ. )
(QBASIC)
( часть II )
Методическое пособие для учащихся
общеобразовательных и профильных
классов.
составили учителя ОИВТ
школы N 73
Богданова О.А.
Милютин С.А.
Г. Воронеж
2001г
Настоящее пособие подготовлено в помощь учащимся и
учителю информатики по изучению темы "Линейный алгоритм". Это пособие является продолжением изучения темы
"Алгоритмизация и программирование". При объяснении
принципов работы алгоритма использован алгоритмический
язык. Для работы на мащине используется язык Qbasic. В
пособии содержатся задачи для самостоятельной работы и
контрольные вопросы. Изучение материала рассчитано на
8 - 10 уроков (2 урока в неделю). Методическое пособие
может быть использовано для преподавания в 10-х классах.
ЛИТЕРАТУРА:
1. Основы информатики и вычислительной техники.
Пробный учебник для 10-11 классов средней школы. Москва 1994 г.
2. Кушниренко А.Г, Лебедев Р.А., Сворень Р.А. Основы информатики и вычислительной техники.
Москва 1990г
3. Поснова М. Ф, Стрикелева Л.В,Поснов Н.Н. ЭВМ
для всех. Для чего и как работают персональные
компьютеры. Минск 1990г.
4. Файсман А.Профессиональное программирование на
Турбо Паскале. 1992г
5. Измайлов А.А.Главы из задачника. Информатика
N33 сентябрь 1995г.
2
§1. Понятие Алгоритма. Свойства алгоритма.
Слово "алгоритм" первоначально обозначало десятичную систему исчисления и правила арифметических действий в этой системе.
Сейчас под алгоритмом понимают точное предписание,
определяющие путь к достижению поставленной цели. Алгоритм может представлять собою некоторую последовательность вычислений, а может и последовательность
действий не математического характера.
Но, в любом случае, должны быть четко определены
начальные условия и то, что предстоит получить.
Для алгоритма важен не только набор действий, но и
то, как они организованы, т.е. в каком порядке выполняются.
Сам алгоритм можно облечь в форму приказов, которые нужно четко и беспрекословно выполнить.
Сборником алгоритмов можно назвать книгу кулинарных рецептов.
Для того чтобы алгоритм можно было реализовать на
машине, он должен подчиняться следующим свойствам:
С1 Дискретность - разбивка алгоритма на последовательность законченных действий (шагов). Каждое действие
должно быть закончено исполнителем, прежде чем он перейдёт к выполнению следующего действия.
Произвести каждое отдельное действие исполнителю
предписывает специальное указание в записи алгоритма,
называемой командой.
С2 Точность - исполнитель должен точно знать, какую
команду выполнять следующей.
Пример: “сказано - сделано”
С3 Понятливость - каждый алгоритм строится в расчёте
на конкретного исполнителя, который должен быть в состоянии выполнить каждую команду.
Пример: 1) первоклассник не может решить задачу за 11
класс; 2)Знание русского языка обусловлено его народом, и незнанием другого языка.
С4 Формальность - исполнение алгоритма сводится к выполнению конечного числа действий и всегда приводит к
решению задач.
Пример: 1)торт- испечен,
2) задача- решена и т.д.
С5 Массовость - с помощью одного и того же алгоритма
можно решать однотипные задачи и делать это неоднократно.
Пример: ax2+bx+c=0, задавая любые коэффициенты можно
решить любое квадратное уравнение
С6 Однозначность – единственность толкования правил
выполнения действий.
Пример: команда- встать, читай, нельзя подавать команду: читай, пиши и одновременно кушай.
С7 Конечность – обязательность завершения каждого действия.
Пример: 1)Клавиша ВВОД в конце строки; 2)Конец программы (END), 3)конец алгоритма (кон).
С8 Результативность – достижение определенных результатов с максимальной скоростью и минимумов шагов (операций, команд)
ПРОГРАММА ТОГДА ЦЕННА, КОГДА ОНА ИМЕЕТ МИНИМУМ ОПЕРАЦИЙ И МАКСИМАЛЬНУЮ СКОРОСТЬ ВЫПОЛНЕНИЯ.
Пример: на экране печатается в конце ответ: число
(Сумма =5)или слово (такого корня нет).
§ 2. ОБЩИЙ ВИД АЛГОРИТМА. ЗАГОЛОВОК
АЛГОРИТМА.
Существует много разных способов записи алгоритма.
Первоначально это можно сделать графически или на специальном языке проектирования. К языкам проектирования
относятся блок-схема и алгоритмический язык. А чтобы
этот алгоритм был понятен ЭВМ, это надо сделать на одном из языков программирования. В этом параграфе мы
познакомимся с различными способами записи алгоритма.
Графическое описание было распространено тогда, когда
программы составлялись на языках по своей структуре
близких к машинным. Мы с вами для проектирования будем
использовать в основном алгоритмический язык.
2.1 ГРАФИЧЕСКОЕ ОПИСАНИЕ АЛГОРИТМА. (БЛОКСХЕМА).
Для описания алгоритма используются следующие фигуры:
3
начало, конец программы
начало
начало
Оформление
экрана
Оформление
экрана
команды для оформления экрана
Ввод
А,В
аргументы
Тело программы
Ввод данных с клавиатуры
С=А+В
Команды программы
Печать
С
Конец
печать
показ на экране результатов
¦
Задача 1. Составить алгоритм нахождения суммы чисел
A и B и печатающей результат C на экране.
C=A+B
Перед тем, как будет подсчитана сумма A+B, переменным
A и B должны быть присвоены конкретные значения.
2.2. ОБЩИЙ ВИД АЛГОРИТМА НА АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ.
На алгоритмическом языке алгоритм записывается в общем виде так:
АЛГ имя алгоритма (переменные и их типы)
АРГ условия применимости алгоритма
РЕЗ цель выполнения алгоритма
НАЧ промежуточные переменные с их типами
тело алгоритма
КОН
Слова АЛГ, АРГ, РЕЗ, НАЧ, КОН называются служебными
и служат они для оформления алгоритма.
4
Задача 1 на этом языке запишется следующим
зом:
АЛГ Сумма (A,B ВЕЩ, С ВЕЩ)
АРГ A,B
РЕЗ С
НАЧ
C:=A+B
КОН
обра-
Имя алгоритма подбирается так, чтобы можно было
понять, для чего предназначен алгоритм.
2.3 ОБЩИЙ ВИД АЛГОРИТМА НА ЯЗЫКЕ QBASIC.
Программа, написанная на любом языке программирования, представляет собой некий набор инструкций, описывающий процесс выполнения алгоритма решения задачи.
Инструкции записываются по определенным правилам,
предусмотренным требованиями языка и соглашениями конкретного компилятора (интерпретатора), и оформляются в
виде текстового файла.
Такой файл называют исходным текстом программы. Специальная программа (в нашем случае QBASIC.EXE) просматривает исходный текст и, если в нем нет синтаксических ошибок, исполняет инструкцию немедленно.
Инструкции исходной программы называют по-разному:
командами, операторами, предложениями, предписаниями,
операциями.
В нашем курсе каждую инструкцию BASIC мы будем называть командой.
По функциям, выполняемым в программе, команды условно
можно разделить на четыре группы:
1)
команды описания (данных, функций, …);
2)
команды действия;
3)
команды управления ходом выполнения программы;
4)
команды ввода и вывода данных.
ПРАВИЛА НАБОРА СТРОК ПРОГРАММЫ:
1. Строки программы можно нумеровать.
(Нумерация возможна от 0 до 64000.)
2. Набор каждой строки заканчивается
нажатием на клавишу ENTER
.
3. Для вставки пропущенной строки, текст
программы можно раздвинуть.
4. При удалении ненужной строки текст
программы автоматически сдвигается.
5. При записи в одной строчке нескольких
команд, они разделяются двоеточием.
Общий вид алгоритма на языке QBASIC:
10
20
30
40
50
REM имя программы
¦заголовок
CLS : COLOR 2
¦прог?"что делает программа" ¦раммы
?"кто составил программу"¦
команда ввода данных
.
. команды программы
.
90 команда вывода данных
100 END
Команда PRINT (?) распечатывает на экране то, что
заключено в кавычках. Текст, заключённый в кавычки в
команде PRINT, будем называть комментарием.
Команда CLS очищает экран, и мы будем видеть результаты работы только нашей программы.
Команда COLOR дает возможность покрасить текст, фон
и рамку. В общем виде она выглядит следующим образом:
COLOR C, C1, C2
C – цвет (номер цвета) символов (0-31)
C1 – цвет фона (0-7)
C2 – цвет вокруг экрана (рамка 0-15)
Если C>15, будет установлен цвет фона C1-8, но символы
будут мерцать.
Если C1>7, будет установлен цвет фона C1-8.
5
Номер
Цвет (по русски)
Цвет (по аннглийски)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Черный
Голубой
Зеленый
Бирюзовый
Красный
Сиреневый
Коричневый
Белый
Серый
Ярко-голубой
Ярко-зеленый
Светло-бирюзовый
Ярко-красный
Ярко-розовый
Желтый
Ярко-белый
Black
Blue
Green
Cyan
Red
Magenta
Brown
White
Gray
Light blue
Light green
Light cyan
Light red
Light magenta
Yellow
High-intensity white
программу и т.д. Чтобы запустить программу, надо
нажать клавиши
Shift
F5
Или выбрать команду RUN-START.
Результаты своей работы программа выдает на выходной
экран QBASIC, который скрыт под окном редактора.
Окно Immediate, в частности, предназначено для непосредственного, немедленного исполнения той или иной
команды с целью увидеть ее результат или содержимое
переменных, а F6 – универсальный переключатель между
окном редактора и окном Immediate.
Команда REM дает возможность прокомментировать программу. При работе все что записано после этой команды
и до конца строки машиной пропускается.
Наша задача на языке QBASIC запишется так:
10
20
30
40
50
60
70
80
REM Сумма
CLS : COLOR 2
?"программа нахождения суммы"
?"программу составил(а) Ф.И.О."
INPUT "введи значения A,B-";A,B
C=A+B
PRINT "Сумма чисел =";C
END
:  команды в строке 20 разделяются этим знаком
§ 3.РАБОТА В СРЕДЕ QBASIC.
После запуска программы QBASIC на
основное окно текстового редактора,
торого находится подокно Immtdiate.
Основные операции с программой вы
редактора: набираете и редактируете
экране появляется
в нижней части копроводите в окне
текст, отлаживаете
§ 4.КОМАНДЫ ВВОДА/ВЫВОДА ДАННЫХ.
4.1 КОМАНДА ВВОДА ДАННЫХ С КЛАВИАТУРЫ.
Общий вид команды на языке QBASIC:
INPUT " комментарий "; пер1,пер2,...,перN
Правила работы:
На экране печатается комментарий и отводится ячейки
с именами под переменные. После комментария отводится
6
ячейка с именем под переменную, затем появляется мигающий курсор. Машина ждет ввода данных.
Например:
§ 5. Л И Н Е Й Н Ы Й А Л Г О Р И Т М. (С О С Т
А В Л Е Н И Е П Р О Г Р А М М.)
INPUT "Введи скорость (м/сек),время(сек)-";V,T
ЛИНЕЙНЫМ АЛГОРИТМОМ НАЗЫВАЕТСЯ АЛГОРИТМ,
КОМАНДЫ В КОТОРОМ ВЫПОЛНЯЮТСЯ ПОСЛЕДОВАТЕЛЬНО, Т.Е. В ТОМ ПОРЯДКЕ, В КАКОМ ОНИ ЗАПИСАНЫ.
На экране появится строчка:
Введи скорость (м/сек),время(сек)-
мигающий курсор
Машина ждет ввода значений скорости и времени. Вводим
значение скорости и времени, разделяя их запятыми.
64,5
ENTER
После этого V будет равно 64, а T будет равно 5.
Комментарий можно использовать только один раз. Формат записи команды жесткий.
*** ПРИМЕЧАНИЕ: В некоторых версиях языка Бейсик запрещено использование комментария в этой команде. Тогда для печати комментария используется команда PRINT,
а затем, для ввода значений, команда INPUT.
§ 4.2 . КОМАНДА ВЫВОДА ДАННЫХ НА ЭКРАН.
Общий вид команды на Бейсике:
PRINT "комментарий"; пер1, выражение, пер2
Например:
PRINT “Мне”; K% ;”лет”
Выведит на экран: Мне 16 лет (если значение K% равно
16). Перед значением числа выводится либо пробел, либо
знак «минус».
Если в качестве разделителя в списке указана запятая, то QBASIC выводит данные по зонам, каждая зона 14
позиций. Например, после выполнения команды
PRINT “Мне”, K% ,”лет”
На экране появтся:
Мне
14
лет
5.1 Использование линейного алгоритма при решении задач по физике и математике.
При составление алгоритмов для решения задач по физике и математике в комментариях необходимо указывать
единицы измерения величин, используемых при составлении алгоритма.
В программах, если это необходимо, нужно использовать формулы перехода от одних единиц измерения к другим.
ПРИМЕР 1:
Скорость равна 5 м/cек
Задайте угол (рад)-_
В программе необходимо пересчитать градусы в
радианы, применив формулу:


180

Этапы решения задач на ЭВМ
1.Формальная постановка задача.
2.Определение методов решения (математическая модель).
3.Составление сценария решения (алгоритм).
4.Составление программ.
5.Ввод программы.
6.Тестирование программ (выявление ошибок).
7.Сдача программ учителю.
ЗАДАЧА 1:
Cнаряд выпущен вертикально вверх с начальной
скоростью v0=60 m/c. Определить на какой высоте будет
снаряд через t=45 cекунд.
7
Формула:
H  V0 t 
gt 2
2
H  V0 t 
Переменные v0,t -аргументы (они должны быть даны, иначе мы не сможем решить задачу).
Тип этих величин – вещественный.
Переменная H - результат.
Тип этой величины - вещественный.
Переменная g =9.81 m/c2 константа.
Тип этой величины - вещественный.
Переменным -аргументам значения присваиваются
во время работы программы с помощью оператора ввода
данных с клавиатуры - INPUT.
Переменная-результат печатается на экран или
бумагу с помощью оператора PRINT.
Переменным -константам значения назначаются в
тексте программы командой присвоить.
5.2 БЛОК-СХЕМА ЛИНЕЙНОГО АЛГОРИТМА И ПРОГРАММА НА ЯЗЫКЕ БЕЙСИК.
(на примере разбираемой задачи)
10 REM ЗАДАЧА (имя программы)
начало
Оформление
экрана
g=9.81
20 CLS: COLOR 5 (Очистка экрана,
задание цвета)
30 ? «Программа вычисления высоты»
40 ? «Программу составила Петрова»
50 g=9.81 (присвоение значений
константам)
gt 2
2
Показ результата
70 H=V0*t-g*t^2/2
80 PRINT “Через “;t;” секунд снаряд
будет находится на высоте “;H;
“ метров.”
90 END
Конец
5.3 ПРОГРАММА НА АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ.
АЛГ задача (вещ v0,t,h)
АРГ v0,t
РЕЗ h
НАЧ вещ g
g:=9.81
h:=v0*t+g*t**2/2
КОН
Задача 2: Пловец, спрыгнув с пятиметровой вышки,
погрузился в воду на глубину 2 метра. С каким ускорением он двигался в воде.
H1 = 5 m
H2 = 2 m
Формулы:
V0  2H 1 g
2
A
Введи
V0,t
60 INPUT “Введи начальную скорость
(м/сек), время полета(сек):”;V0,t
Аргументы - H1,H2
Результат - A
Константа - g
V0
2H 2
8
Переменная V0 не является аргументом и не является
результатом, но для вычислений она нам нужна.
Такая переменная называется вспомогательной
или промежуточной.
На алгоритмическом языке она описывается в строке
НАЧ.
В Паскале она указывается в заголовке программы.
Примеры составленных программ:
10
20
30
40
50
60
70
80
90
100
110
REM ЗАДАЧА
CLS: COLOR 2
?"ПРОГРАММА ВЫЧИСЛЕНИЯ УСКОРЕНИЯ"
?"ПРОГРАММУ СОСТАВИЛА ИВАНОВА"
G=9.81
INPUT "ВВЕДИ ВЫСОТУ ВЫШКИ(м)-";H1
INPUT "ВВЕДИ ГЛУБИНУ (м)-";H2
V0=SQR(2*H1*G)
A=V0^2/(2*H2)
?"УСКОРЕНИЕ РАВНО ";A;" m/сек^2"
END
АЛГ ЗАДАЧА( ВЕЩ H1,H2,A);
АРГ H1,H2
РЕЗ А
НАЧ ВЕЩ G,V0
G:=9.81
V0:=SQR(2*H1*G)
A:=V0**2/(2*H2)
КОН
Задача 3: Определить первую и вторую космические
скорости на планете радиусом 8200 км, если ускорение
свободного падения g=11.9 м/сек2.
Формулы:
V1  gR , V2  2V1
Из орудия под углом =40 к горизонту
вылетает снаряд со скоростью V0=1000 м/c. Определить
дальность полета L.
Задача 4:
Формула:
L
V02 sin 2
g
Замечание: Градусы необходимо в программе перевести
в радианы.
Задача 5: Определить массу планеты, если ее радиус равен 8400 км, ускорение свободного падения g=10,2
m/c2 и гравитационная постоянная G равна
6,6710-11 м3/(кгс2).
gR 2
Формула: M 
G
§ 6.РАБОТА В ТЕКСТОВОМ РЕЖИМЕ НА БЕЙСИКЕ.
После загрузки машина
ной текстовый режим.
автоматически
включает цвет-
SCREEN 0 - включает цветной текстовый режим.
WIDTH 80: размер экрана:(25 X 80)
WIDTH 40: размер экрана: (25 X 40)
31 цвет символов и 7 цветов фона задаются командой
COLOR C1,C2. Можно включать мигающий режим, если задать цвет символов >15.
X
O
80(40)Экран можно рассматривать
как координатную плоскость.
Начало координат в левом
верхнем углу экрана.
Ось Y направлена вниз.
Y
25
Ось X-влево.
В этом режиме существуют следующие понятия: цвет переднего плана и цвет фона. Цветом переднего плана рисуются символы, поэтому его часто называют цветом символов. Цветом фона заполняется позиция символа на
экране (чтобы закрасить весь экран определенным фоном
необходимо задать следующую строку: COLOR C1,C2: CLS
9
), другими словами, этим цветом окрашиваются пиксели,
не вошедшие в рисунок символа. В частности, символ
“ПРОБЕЛ”- это просто прямоугольник (или квадрат),
окрашенный цветом фона.
Рисовать будем символами. Эти символы будем печатать в нужном участке экрана.
LOCATE Y,X,v – позиционирование текста на экране,
помещает первый символ в точку на экране с координатами (x, y), v- включает и выключает курсор (0- курсор
погаснет, а при 1- появляется вновь)
Основные команды при работе в текстовом режиме:
CLS- очистка экрана;
COLOR C1,C2- включить цвет (символов и фона);
PRINT- печать;
INPUT- ввод данных с клавиатуры;
SPACE$(N)- выдать N- пробелов;
BEEP- звонок;(PRINT CHR$(7))
SOUND CH,DL- включить звук (ch- частота(37-32767),
dl-длительность(1сек=18.2тикам));
SLEEP N- задержка n- секунд (N- целое);
INKEY$- ввод безподтверждения;
PLAY- оператор музыки;
SPC(N)- вывод n- пробелов;
LINE INPUT T$- ввод строки вместе с “,” ;
Задача 1: Cоставить программу, распечатывающею обложку
для тетради.
8 9
8
9
10
11
12
13
14
15
15
16
10 11 12 13 1415 16 17 18 19 20 21 22 23 24 25 26
Т
Е
Т
Р
А
Д
у ч Е н и к а
1 0 б
с р Е д н е й
ш к о л ы
Г о р о д а
И в А н о в а
Y
X
Ь
к л а с с а
N
7 3
В о р о н е ж а
В и к т о р а
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
REM ОБЛОЖКА
CLS:COLOR 2
?"ОБЛОЖКА ТЕТРАДИ"
?"СОСТАВИЛ ИВАНОВ"
DO :LOOP WHILE INKEY$=””
COLOR 2,3: CLS
LOCATE 9,10
?" Т Е Т Р А Д Ь"
LOCATE 11,8
?"ученика 10б класса"
LOCATE 13,8:COLOR 6
?"средней школы N 73"
LOCATE 15,10: COLOR 5
?"города Воронежа"
LOCATE 16,8: COLOR 1
?"ИВАНОВА ВАЛЕРИЯ"
END
6.1 Составление рисунков в текстовом режиме.
Задача 2:
Нарисовать
Елочку.
101112
8
9
10
*
***
*****
OOOOOOO
&&&&&&&&&
$$$$$$$$$$$
JJJ
Y
разноцветными
символами
X
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
REM ЕЛОЧКА
COLOR 2,1: CLS
COLOR 2
LOCATE 8,12: ?"*"
LOCATE 9,11: ?"***"
LOCATE 10,10: ?"*****"
LOCATE 11,9: COLOR 1
?"OOOOOOO"
LOCATE 12,8: COLOR 4
?"&&&&&&&&&"
LOCATE 13,8: COLOR 5
?"$$$$$$$$$$$"
LOCATE 13,12: COLOR 1
?"JJJ"
LOCATE 22,3: COLOR 23
?"ПРОГРАММУ СОСТАВИЛ ПЕТРОВ"
END
10
Задача 3: Составить рисунок кораблика. (В программе
не указан цвет отдельных частей, раставьте пожалуйста
посвоему усмотрению)
O
X
Y
*****O
****O
*****O
O
O
W
O
WWW
WWWWWWWWWWWWWWWW
WWWWWWWWWWWWWW
WWWWWWWWWWWW
10
20
30
40
50
60
70
80
90
100
110
120
130
REM КОРАБЛИК
WIDTH 40: CLS
LOCATE 10,13
?"*****O"
LOCATE 11,14:
LOCATE 12,13:
LOCATE 13,18:
LOCATE 14,18:
LOCATE 15,18:
LOCATE 16,10:
LOCATE 17,11:
LOCATE 18,11:
END
?"****O"
?"*****O"
?"O"
?"O
W"
?"O
WWW"
?"WWWWWWWWWWWWWWWW"
?"WWWWWWWWWWWWWW"
?"WWWWWWWWWWWW"
§ 7. РАБОТА В ГРАФИЧЕСКОМ РЕЖИМЕ НА
БЕЙСИКЕ.
До сих пор для оформления результатов работы наших
программ мы пользовались текстовым режимом видеоадаптера. В этом режиме на экран можно выдавать только
символы, имеющиеся в первой половине кодовой таблице
(ASCII) и в том варианте второй половины таблицы, который используется вашим драйвером экрана. В графическом режиме экран представляет собой мозаику точек
(пикселей), каждая из которых может быть окрашена в
тот или иной цвет. По- разному окрашивая точки, вы мо-
жете формировать геометрические фигуры, рисовать диаграммы и графики функций, красочные картинки и т.п.
Комбинируя программными средствами смену цветов на
экране, можно создавать различные визуальные эффектыот обычного калейдоскопа (это самое простое) до имитации движения людей и предметов (это называется анимацией). В графическом режиме (в отличие от текстового)
мы имеем возможность изменять цвет каждой точки. Точки, окрашенные в различные цвета, могут образовывать
линии и любые другие изображения. Количество цветов в
худшем случае равно двум. Следует помнить, что дисплей
может находится либо в текстовом, либо в графическом
режиме. Дело в том, что все, что мы на экране видим,
является результатом автоматического отображения содержимого видеопамяти. В зависимости от того, какой
режим в данный момент поддерживается текстовый или
графический содержимое видеопамяти интерпретируется
совершенно по-разному.
Для перевода монитора в графический режим прежде
всего надо написать команды:
SCREEN N%- установка режима
COLOR C1%,C2%- установка цветов
Здесь N-режим экрана (7, 9 или 12), С1- номер цвета
символов (0-15),С2- номер фона (0-15). В режиме 12
указывается только С1.
Сводные характеристики трех видеорежимов
Видеорежим
Разрешение
Текст
7
320x200
40x25
9
640x350
80x25
12
640x480
80x30
При включении графических режимов автоматически
экран очищается.
(0,0)
(639,0) X

(xt,yt)
(0,349)
(639,349)
Координаты отдельной точки определяется номером
столбца (xt) и номером строки (yt), на пересечении
которых эта точка находится. В графическом режиме (как
11
и в текстовом) имеются понятия “графический курсор” и
“текущая позиция курсора”, однако сам курсор не виден,
и эти понятия используются лишь в описании графических
команд.
Универсальные графические команды.
PSET(X,Y),C- вывод точки на экран, цветом С и с коор
динатами X,Y;
PRESET(X,Y)- вывод точки текущим цветом C на экран с
Координатами X,Y;
LINE(X1,Y1)-(X2,Y2),C- вывод линии, заданным цветом C
(начало линии (X1,Y1), а
конец в точке (X2,Y2));
(X1, Y1)
(X2, Y2)
LINE -(X3,Y3),C- продолжение рисование линии, задан
ным цветом C до точки (X3,Y3);
LINE(X1,Y1)-(X2,Y2),C,B –вывод прямоугольника
LINE(X1,Y1)-(X2,Y2),C,BF –вывод закрашенный
прямоугольника на экран,
заданным цветом C;
(X1, Y1)
(X2, Y2)
CIRCLE(X,Y),C ,R- вывод на экран окружности, заданным
цветом С и радиусом R в точке (X, Y);
E<1
E>1
E=1
DRAW- графический оператор (описан ниже);
PAINT(X,Y),C1,С2- закраска замкнутых областей, цветом
С1 до цвета С2 начиная с точки (X,Y)
POINT(X,Y)- выдает номер цвета точки (X, Y);
POINT(C)- выдает координаты точки с цветом =C;
А также команды: LOCATE, PRINT, INPUT, изученные ранее. Координаты должны задаваться только целые.
D R A W:
Графическое “перо” (DRAW) может перемещаться по
всему экрану, окрашивая пиксели в тот или иной цвет.
Оператор DRAW позволяет управлять движением “пера” с
помощью графических команд- примерно так же, как вы
управляете ручкой или карандашом.
Общий вид команды:
DRAW строка_символов
В строке_символов записывается последовательность графических команд, причем каждая команда состоит из латинских букв и целых чисел (например, Е10, С2 и т.д.)
Движение “пера” начинается с текущей позиции курсора,
а эту позицию можно задать оператором PRESET или PSET.
U
R
H
E

(x,y)
L
CIRCLE(X,Y),C ,R, ND, KD- вывод дуги на экран (NDKD
начало дуги в радианах, KDконец дуги в радианах);
ND
CIRCLE(X,Y),C ,R, ND, KD, E- вывод эллипса на экран,
цветом С, радиусом R и
степенью сжатости Е с цен
тром в точке (x,y);
R
G
F
D
Цвет. Команда Cn% устанавливает цвет рисования (n- номер цвета, 0-15)Например, команда С14 устанавливает
желтый цвет рисования.
Движение. Команда формата <x>n% описывается направление движения и длину смещения в точках. На месте <x>
записывается одна из восьми букв: L,H,U,E,R,F,D,G,
указывающих направление движения, а на месте n%- целое
12
число точек (на сколько точек переместиться курсор).
Например, по команде Е25 курсор сдвинется на 25 точек
по правой диагонали вверх от текущей позиции курсора.
По команде U25 курсор сдвинется на 5 точек вертикально
вверх. Если перед командой движения указать префикс
В,, курсор перемещается без рисования, например, BU5.
Команда Pn1%,n2% выполняет ту же функцию, что и оператор PAINT, закрашивает замкнутую область в нарисованной фигуре цветом n1 (n2-цвет границы области). В
качестве примера нарисуем на голубом графическом
экране сиреневый треугольник (стороны по 40 точек) и
закрасим его зеленым цветом:
10 CLS: SCREEN 9: COLOR 15,1
20 PRESET (280,180)
(320,140)
30 DRAW “C5R40”
40 DRAW “U40G40”
50 PRESET (300,170)
(280,180)
60 DRAW “P2,5”
(320,180)
70 END
Задание 4: Нарисовать на экране звезду с помощью
обычных графических команд.(с помощью графического пера) На листе бумаги
нарисуем звезду и обозначим координаты
всех точек, где перо меняет направление
X
Y
10
20
30
40
50
60
70
REM звезда
CLS: COLOR 2
?"Программа рисования Звезды"
?"Программу составил Фетисов Костя"
DO: LOOP WHILE INKEY$=””
SCREEN 7
LINE (60,10)- (90,40),1
80
90
95
98
110
120
130
LINE –(10,20),1
LINE –(110,20),1
LINE –(30,40),1
LINE –(60,10),1
DO: LOOP WHILE INKEY$=””
SCREEN 0
END
§ 8. СОСТАВЛЕНИЕ ДИАЛОГОВЫХ ПРОГРАММ.
Для составления простейшей диалоговой программы
следует помнить, что с помощью команды вывода машина
будет задавать нам вопросы, а отвечать мы будем с помощью команды ввода. Ниже приведен пример такой программы на Бейсике. Попробуй составить свою программу.
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190
REM ДИАЛОГ
CLS: COLOR 2
?"ЗДРАВСТВУЮТЕ!!! МЕНЯ ЗОВУТ ПЕНЕК"
?"Я ХОТЕЛ БЫ С ВАМИ ПОГОВОРИТЬ"
INPUT"КАК ВАС ЗОВУT ";IM$
?"ЧТО ДОСАДНОГО ПРОИЗОШЛО С ВАМИ"
INPUT" НА ЭТОЙ НЕДЕЛЕ? ";A$
?:?:INPUT " ПОЧЕМУ ? ";B$
?:?:INPUT " ОБЪЯСНИТЕ ПОДРОБНЕЕ ";B$
?:?:?"НУ А ВСЕ ЖЕ "
?:?:INPUT "ЕСЛИ ПОСПОКОЙНЕЕ -";B$
?:?"ИТАК, ПРИЧИНА ТОГО, ЧТО ВЫ СКАЗАЛИ ";IM$
?:? A$
?:?"НА САМОМ ДЕЛЕ ПРИЧИНА СОДЕРЖИТСЯ В ВАШЕМ"
?:?"ОТВЕТЕ. ";B$
?:?"СТРАННО ЭТО !"
?:?"ЧТОБЫ ЛУЧШЕ ВСЕ ПОНЯТЬ,"
?:?"ВЫПОЛНИТЕ ПРОГРАММУ ЕЩЕ РАЗ."
END
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ.
1. Составить алгоритм, находящий произведение двух
целых чисел.
2. Составить алгоритм, вычисляющий площадь произвольной окружности.
13
3. Составить алгоритм, вычисляющий стоимость электроэнергии, израсходованный потребителем.
(Стоимость одного кв.час. и кол-во задаются с помощью
команд ввода)
4. Составить алгоритм, вычисляющий квартплату за месяц. ( Стоимость одного квадратного метра и размеры
квартиры вводятся с клавиатуры ).
5. Вычислить площадь огорода, имеющего форму четырехугольника, план которого представлен на рис.1, если
известно, что стороны a и b образуют прямой угол.
a
d
b
Рис. 1.
6. Садовый участок имеет форму, представленную на
рис.2. Сколько проволоки потребуется, чтобы огородить
такой участок?
а
в
Рис. 2.
7. Сколько времени в минутах затратит школьник на
дорогу из школы до стадиона, если известна длина этого
расстояния S и средняя скорость движения школьника V
км/час?
8. Определить стоимость набора конфет, в который
входят следующие конфеты: Красная шапочка 500 г.
k
руб. Воронежские 100 г. b руб. Алые паруса 200 г. a
руб. Чародейка 250 г. v руб.
9. Вычислить молярную массу газа, L литров которого
при н.у. имеет массу M грамм.
10. Найти Х из пропорции
A + B
B - C
=
X
A + C
11. Сколько процентов от A + B - C приходится:
а) на A;
б) на В;
в) на С?
12. Составить алгоритм, оформляющий в текстовом
режиме на экране обложку полюбившейся книги.
13. Составить алгоритм, рисующий домик в текстовом
режиме.
14. Составить алгоритм, рисующий палатку и елочку
в графическом режиме.
15. Составить алгоритм, распечатывающий на экране
расписание уроков на два дня. (Использовать все
возможности цветного текстового режима)
16. Дан положительный угол  в градусах. Составить
алгоритм вычисляющий SIN, COS этого угла.
17.* Даны координаты вершин А, В, С параллелограмма
АВСD. Составить алгоритм, вычисляющий координаты вершины D.
А(1,2), В(3,5), С(4,8)
18.* Даны координаты вершин треугольника АВС. Составить алгоритм
вычисляющий
координаты центра
окружности, описанной около треугольника.
19.Определить скорость точек земной поверхности
на экваторе.

2
R , где R=6400 км
T
20.Пуля, летящая со скоростью 400 м/с, попадает в вал
и проходит до момента остановки 0,5 м. Определить силу
сопротивления вала движению пули, если ее масса 24 г.
A
mV12
A
, F 
L
2
21. Велосипедист движется по горизонтальной плоскости, описывая дугу окружности R=80 m, с максимально возможной при этом скоростью 64 км/ч . Определить
коэффициент трения  резины о почву.
14

V2
Rg
22.Из орудия под углом 7 a 0=30 50 0 к горизонту влетает снаряд со скоростью v 40 0=800 m/c. Определить
максимальную высоту и дальность полета L.
H
V02 sin 2 
V 2 sin 2
, L 0
2g
g
23. Определить линейную скорость Земли, если радиус
ее орбиты R=42400 км, масса Земли М =5,961024 кг.
G = 6.6710-11 Hм2/кг2
V
GM
R
24. По наклонной плоскости с углом наклона =40
скользит вниз брусок массой m=0,5 кг. Найти силу трения, если коэффициент трения =0,1.
F  mg cos 
25. Определить силу взаимного тяготения двух кораблей, удаленных друг от друга на 100m, если масса каждого из них 104 т.
F G
M1M 2
m3
11
;
G

6
,
67

10
kg  cek 2
R2
П Р И М Е Ч А Н И Е
Оператор PLAY: В стоке_символов команды Play записывается последовательность музыкальных команд. Интерпритируя эти команды, программа заставляет динамик поразному звучать динамик. Длительность и темп исполнения: Tn устанавливает темп (четвертых нот) в минутах
(32-255).
Темп
n
LARGO
4-=66
ADAGIO
66-76
ANDANTE
76-108
MODERATO
108-120
ALLEGRO
120-168
PRESTO
168-208
Например “Турецкий марш”(ALLEGRO)указываем Т120.
Lm-установить длительность звучания последующих нот,m
определяет длительность в долях от целой ноты, установленной Т(1-64). Например, L1-целая нота,L8-1/8,L321/32 и т.д.
Pm-устанавливает длительность паузы m-секунд.
ML-устанавливают стиль легато-плавный безотрывный переход от ноты к ноте
MS-устанавливает стиль стаккато- отрывистое исполнение
музыки
MN-устанавливает нормальный стиль исполнения
ОКТАВЫ: On-устанавливает октаву n(0-большая,1-малая,2первая,3-вторая,4-третья,5-четвертая,6-пятая) по
умолчанию третья октава (О4)
Ноты:C-ДО,D-РЕ,E-МИ,F-ФА,G-СОЛЬ,A-ЛЯ,B-СИ
Если за нотой указать “+” –диез(повышение на пол тона), “-”-бемоль(понижение).
Длительность звучания ноты задается L. Если нота завершается точкой, длительность ее звучания увеличивается в 1,5 раза.(G+4- соль-диез, сдлительностью L4). В
общем случае, пока звучит мелодия, выполнение других
команд программы приостанавливается (исполнение на переднем плане). MF-музыка звучит на переднем плане; MBисполнение переводится в фоновый режим, и другие командыпрограммы могут исполнятся на фоне музыки.
ВОПРОСЫ ДЛЯ КОНТРОЛЯ ЗНАНИЙ.
1.Дайте определение алгоритма.
2.Приведите примеры алгоритмов.
3.Какими свойствами должен обладать алгоритм?
4.Какие фигуры используются для графичекого описания алгоритма?
5.Как в общем виде записывается алгоритм на алгоритмическом языке? Что такое заголовок алгоритма?
6.Какие служебные слова используются при записи
алгоритма на алгоритмическом языке ?
7.Как в общем виде записывается программа на языке Бейсик?
15
8.Расскажите правила набора строк программы?
9.Какие команды вы будите использовать и как они
работают?
10.Что такое комментарий?
11.Что является признаком конца строки Бейсикпрограммы?
12.Как в общем виде оформляется команда ввода данных с клавиатуры? Как она работает?
13.Как в общем виде оформляется команда вывода
данных на экран? Как она работает?
14.Дайте определение линейного алгоритма.
15.Какие переменные мы называем аргументами?
С помощью какай команды задаются им значения в
программе?
16.Какие переменные мы называем результатами?
Какая команда показывает нам их значения?
17.Какие переменные называются константами?
Какой командой мы задаем им значения?
18.Какие переменные мы называем вспомогательными?
Какова их роль в алгоритме?
19.Расскажите правила работы в текстовом режиме?
Какие команды применяются и для чего?
20.Расскажите правила работы в графическом режиме?
Какие команды применяются и для чего?
Содержание:
§1. Понятие Алгоритма. Свойства алгоритма. ............................................ 2
§ 2. ОБЩИЙ ВИД АЛГОРИТМА. ЗАГОЛОВОК АЛГОРИТМА. ............ 2
2.1 ГРАФИЧЕСКОЕ ОПИСАНИЕ АЛГОРИТМА. (БЛОК-СХЕМА). 2
2.2. ОБЩИЙ ВИД АЛГОРИТМА НА АЛГОРИТМИЧЕСКОМ
ЯЗЫКЕ............................................................................................................. 3
2.3 ОБЩИЙ ВИД АЛГОРИТМА НА ЯЗЫКЕ QBASIC. ........................ 4
§ 3.РАБОТА В СРЕДЕ QBASIC. .................................................................... 5
§ 4.КОМАНДЫ ВВОДА/ВЫВОДА ДАННЫХ. ............................................ 5
4.1 КОМАНДА ВВОДА ДАННЫХ С КЛАВИАТУРЫ. .......................... 5
§ 4.2 . КОМАНДА ВЫВОДА ДАННЫХ НА ЭКРАН. ............................. 6
§ 5. Л И Н Е Й Н Ы Й А Л Г О Р И Т М. (С О С Т А В Л Е Н И Е П Р О
Г Р А М М.) ......................................................................................................... 6
5.1 Использование линейного алгоритма при решении задач по
физике и математике. ................................................................................... 6
5.2 БЛОК-СХЕМА ЛИНЕЙНОГО АЛГОРИТМА И ПРОГРАММА
НА ЯЗЫКЕ БЕЙСИК. .................................................................................. 7
5.3 ПРОГРАММА НА АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ. ..................... 7
§ 6.РАБОТА В ТЕКСТОВОМ РЕЖИМЕ НА БЕЙСИКЕ. ......................... 8
6.1 Составление рисунков в текстовом режиме. ...................................... 9
§ 7. РАБОТА В ГРАФИЧЕСКОМ РЕЖИМЕ НА БЕЙСИКЕ. ................ 10
§ 8. СОСТАВЛЕНИЕ ДИАЛОГОВЫХ ПРОГРАММ. .............................. 12
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ. ............................... 12
ВОПРОСЫ ДЛЯ КОНТРОЛЯ ЗНАНИЙ. ................................................... 14
Содержание:...................................................................................................... 15
Download