Авторский учебник по работе с программной средой QBasic

Download Report

Transcript Авторский учебник по работе с программной средой QBasic

Язык
программирования
QBasic
Учебное пособие для изучения
программирования в QBasic
Разработала учитель информатики МОУ СОШ
№ 6 г. Усть-Лабинска Румбешт Р.Ф.
Содержание









Этапы создания программ.
Язык программирования QBasic.
Переменная, типы переменных.
Запись алгоритмов при помощи блок-схем.
Типы алгоритмических структур:
Линейная (следование);
Операторы графики
Ветвление (неполное, полное, выбор);
Цикл.
Массивы: одномерные, двумерные.
Способ записи алгоритма при помощи псевдокода.
Окно программы QBasic.
Операторы QBasic.
Этапы создания программы
Для представления алгоритма в виде, понятном
компьютеру, служат языки программирования.
Сначала разрабатывается алгоритм действий, а
потом он записывается на одном из таких языков. В
итоге получается текст программы - полное,
законченное и детальное описание алгоритма на
языке программирования. Затем этот текст
программы специальными служебными
приложениями, которые называются
трансляторами, либо переводится в машинный
код (язык нулей и единиц), либо исполняется.
Этапы создания программы
Алгоритм
Текст программы на
каком-либо языке
программирования
программист
Очистить экран
Ввести а
Вычислить площадь
Вывести результат
начало
Очистить экран
Машинный код
транслятор
CLS
INPUT a
s=a*a
PRINT s
END
001011101010
010101100101
010111010110
101101111010
Транслятор
Транслятор — средство для преобразования текстов из
одного языка, понятного человеку, в другой язык,
понятный компьютеру.
Транслятор
Интерпретатор
последовательно
анализирует и исполняет
каждую строку программы
Компилятор
проводит полный анализ
написанной программы и
формирует уже готовый к
исполнению машинный код
Языки программирования
Языки программирования - искусственные языки.
От естественных они отличаются ограниченным
числом "слов", значение которых понятно
транслятору, и очень строгими правилами записи
команд (операторов).
Однако следует иметь в виду, что в языках
программирования
не
допускаются
даже
незначительные (с точки зрения человека)
нарушения в правилах написания программ. Ведь
даже маленькая неточность может вызвать
невыполнимость программы или трудно уловимую
ошибку.
Программная среда для начинающих QBasic
создана в 1963 году XIX века
профессорами Дартмундского Колледжа
(США)
Дж. Кемени и Т. Куртс
это аббревиатура фразы «Beginners Allpurpose Symbolic Code», что в переводе
означает универсальный символьный
код для начинающих.
Любой язык состоит из:
Алфавита
- это набор символов,
применяемых в конструкциях языка.
Синтаксиса
- правила построений
конструкций языка
Семантики
- правила истолкования
конструкций языка
Алфавит Бейсика
1. Латинские буквы:
 заглавные
A-Z
 строчные
a-z
2. Русские буквы:
 заглавные
А-Я
 строчные
а-я
3. Цифры:
 от 0 до 9
Специальные символы
Пробел
|
Знак вставки
#
Диез
%
Процент
&
Амперсанд,
коммерческая «и»
_
подчеркивание
Знак
денежной
единицы
{ } Скобки
фигурные
[ ] Скобки
квадратные
@ Коммерческая «эт»
$
Знаки препинания
.
Точка ( используется
в записи десятичного
числа 8.34, .007)
!
Восклицательный
знак
,
Запятая ( при
перечислении
аргументов)
?
Вопросительный знак
(PRINT)
:
Двоеточие
”
Кавычки (для вывода
значений строковых
переменных)
;
Точка с запятой
(разделяет
операторы в одной
строке)
’
Апостроф (для
вставки комментария
– REM)
Знаки действий
+
Знак плюс
*
Знак умножения
(звезда, Asterisk)
-
Знак минус
^
Возведение в
степень (тильда)
/
Деление (наклонная черта,
слеш)
()
Круглые скобки
(для определения
приоритета
математических
операций
\
Деление нацело
(обратный слеш)
Знаки сравнения
=
Знак равенства
>
<
Знак больше
Знак меньше
>= Больше или равно
<= Меньше или равно
<> Не равно
К содержанию
Переменная. Типы
переменных
Переменная Это область в памяти компьютера,где
хранится некоторое значение.
Объявляя переменную или константу
заданного типа, вы отводите в памяти
компьютера место, где будет храниться
ее значение.
Переменная
summa
105
bukva
Д
Наглядное представление переменных
b=10
a = b +1
a
b
Характеристики переменной



Имя
Значение
Тип (числовая, строковая). Тип переменной
определяет размер и структуру памяти под
переменную.
Понятие переменной
Переменная
имя
a
тип
текущее значение
INTEGER
5
b
LONG
10,456
summa
SINGLE
-78
chislo1
DOUBLE
Д
STRING
Привет
stroka
Имя переменной записывается с
помощью латинских букв или букв
и цифр. В имени переменной
может быть до 40 символов.
Пример:
A2, SKOROCT, VREMIA, ITOG3
Числовая переменная - это переменная, в которой
хранится число:
Пример: A=23, X=2*f-8, S=V*t
Переменные числового типа:




Целые (INTEGER)
Длинные целые (LONG)
Обычной точности (SINGLE)
Двойной точности (DOUBLE)
Далее
Целые (INTEGER) – занимают в памяти 2
байта.
Диапазон от -32768 до 32767
Присвоить переменной целый тип можно
следующим образом:
1. Поставить в начале программы
DEFINT A-B.
2. С помощью суффикса A%.
3. Использовать оператор описания
DIM A AS INTEGER
Вернуться
Длинные целые (LONG) – занимают в памяти 4
байта.
Диапазон от -21 447 483 648 до
21 447 483 6487
Присвоить переменной целый тип можно
следующим образом:
1. Поставить в начале программы
DEFLNG A-B.
2. С помощью суффикса A&.
3. Использовать оператор описания
DIM A AS LONG
Вернуться
Обычной точности (SINGLE) – занимают в
памяти 4 байта.
Диапазон от -3.402823Е+38 до-2.802597Е и
2.8002597Е-45 до +3.402823Е+38
Присвоить переменной целый тип можно
следующим образом:
1. Поставить в начале программы DEFSNG A-B.
2. С помощью суффикса A!.
3. Использовать оператор описания
DIM A AS SINGLE
Вернуться
Двойной точности (DOUBLE) – занимают в
памяти 8 байт.
Диапазон от -1.797693134862331D+308 до 4.94065645841265D-324 и
4.940656458412465D-324 до
1.79769313486231D+308
Присвоить переменной целый тип можно следующим
образом:
1.
Поставить в начале программы DEFDBL A-B.
2.
С помощью суффикса A#.
3.
Использовать оператор описания
DIM A AS DOUBLE
Вернуться
Строковая(символьная) переменная:
1.строка переменного типа;
2.строка фиксированной длины.
Строка переменного типа -это переменная, в которой
хранится слово или фраза. Строка символьной
переменой – это последовательность длиной до
32567 символов таблицы ASCII. В памяти занимает
столько байт, какова её длина + 4 байта на
описатель.
-В конце имени строковой переменной ставится знак $.
Пример: D$, SLOVO$, ITOG$, ITOG2$
Присвоить переменной символьный тип можно следующим
образом:
1.
Поставить в начале программы DEFSTRING A-C,
2.
с помощью суффикса A$.
3.
Использовать оператор описания DIM A AS STRING
Строка фиксированной длины – символьная строка длиной и
N байт.
DIM A AS STRING*N
Задание 1.
Выписать имена переменных и
подчеркнуть правильные.
CAT, 67CAT, EX2$, SCHOOL1813,
1813SCHOOL, EX2$, 2EX$, D16,
ЗИМА$, ZIMA$, DOGOVOR5$
Константы – это числа, символы, строки, которые не
изменяют своего значения в процессе выполнения
программы
Неименованные константы символьные, числовые
применяются тогда, когда их значение заранее
известно и не подлежит изменению.
 Именованные константы бывают также символьные и
числовые. Чтобы использовать именованную
константу, её необходимо объявить при помощи
ключевого слова CONST.
Пример: CONST М%=66
CONST Т$=«число работников».

Присваивание-это операция передачи
новых данных в переменную,
обозначается знаком =.
Содержимое хранится в переменной до
тех пор, пока в эту переменную не будет
занесено новое значение.
Например:
A!=.00145
B$=“МАМА”
Задание
2.
Присвоить имена переменным,
содержащим значение:






2,3
X^2
Свое имя
Свой возраст
Дата рождения
5X2-3,14
-5+x
При выполнении программы:
Имя переменной не изменяется.
 Значение переменной может изменяться
несколько раз.
 Если значение переменной не задано, то
оно считается равным 0.

Встроенные функции
Функция
Назначение (математическая запись)
Пример/результат
Математические функции
ABS(арифм_выражение)
Модуль значения арифм_выражения(|X|)
ATN(арифм_выражение)
арктангенс значения арифм_выражения
( arctgx )
COS(угол)
Косинус аргумента (угол в радианах)
( cosx )
SIN(угол)
Синус аргумента (угол в радианах)
( sinx )
TAN(угол)
Тангенс аргумента (угол в радианах)
( tgx )
EXP(арифм_выражение)
Экспоненту значения арифм_выражения
(ex )
LOG(арифм_выражение)
Натуральный логарифм
( lnx )
SQR(арифм_выражение)
Корень квадратный из значения арифм_выражения (
X )
ABS(-3) / 3
SIN(PI/2) / 1
SQR(1.44) / 1.2
Функции преобразования числовых значений
FIX(арифм_выражение)
Целая часть арифм_выражения
FIX(24.3) / 24
FIX(-24.8) / -24
INT(арифм_выражение)
Наибольшее целое, которое меньше или
Равно значению арифм_выражения
INT(24.3) / 24
INT(-24,3) / -25
CINT(арифм_выражение)
Округляет значение арифм_выражения
по правилам арифметики
CINT(24.3) / 24
CINT(-24,8) / -25
CINT(-24,3) / -24
Программа – это алгоритм, записанный
на языке, понятном для компьютера.
Оператор – это команда, записанная на
языке программирования.
Программа состоит из отдельных строк.
Алгоритм
Появление алгоритмов связывают с зарождением
математики. Более 1000 лет назад (в 825 году)
ученый из города Хорезма Абдулла (или Абу
Джафар) Мухаммед бен Муса аль-Хорезми создал
книгу по математике, в которой описал способы
выполнения арифметических действий над
многозначными числами. Само слово алгоритм
возникло в Европе после перевода на латынь книги
этого математика.
Алгоритм – описание последовательности действий
(план), строгое исполнение которых приводит к
решению поставленной задачи за конечное число
шагов.
Запись алгоритмов
при помощи блоксхем
Представления алгоритма




В устной форме.
В письменной форме на естественном языке.
В письменной форме на формальном языке.
Для более наглядного представления
алгоритма широко используется графическая
форма - блок-схема, которая составляется из
стандартных графических объектов.
Вид стандартного графического объекта
Начало
Конец
Гуляю
Встречу?
Счетчик
Назначение
Начало алгоритма
Конец алгоритма
Выполняемое действие записывается
внутри прямоугольника
Условие выполнения действий
записывается внутри ромба
Счетчик кол-во повторов
Последовательность выполнения
действий
ввод
Ввод, вывод данных
Стадии создания алгоритма
1.
2.
Алгоритм должен быть представлен в форме,
понятной человеку, который его разрабатывает.
Алгоритм должен быть представлен в форме,
понятной тому объекту (в том числе и человеку),
который будет выполнять описанные в алгоритме
действия.
Исполнители алгоритмов
Объект, который будет выполнять алгоритм, обычно
называют исполнителем.
 Исполнитель - объект, который выполняет алгоритм.
Идеальными исполнителями являются машины,
роботы, компьютеры...
 Компьютер – автоматический исполнитель
алгоритмов.
 Алгоритм, записанный на «понятном» компьютеру
языке программирования, называется программой.
Типы алгоритмических
структур
1.
2.
3.
4.
Линейный алгоритм (описание действий, которые
выполняются однократно в заданном порядке);
Циклический алгоритм (описание действий,
которые должны повторятся указанное число раз
или пока не выполнено задание);
Разветвляющий алгоритм (алгоритм, в котором в
зависимости от условия выполняется либо одна,
либо другая последовательность действий)
Вспомогательный алгоритм (алгоритм, который
можно использовать в других алгоритмах, указав
только его имя).
Линейный алгоритм
Начало
X=(A+B)*C
Ввести A, B, C
A+B=D
X=D*C
Вывести X
Конец
Линейный алгоритм
Начало
Ввести x, a
Y=x*a+x^2
Вывести Y
Конец
Линейная
структура
программы
Введение в
программирование
Линейная структура программы
Программа имеет линейную
структуру, если все операторы
(команды) выполняются
последовательно друг за другом.
Линейная структура программы
Начало
Начало
После школы
иду гулять
Команда 1
Возвращаюсь
домой
Команда 2
Делаю уроки
Команда 3
Конец
Конец
Задача
Рассмотрим для примера программу
вычисления площади треугольника по 3
сторонам.
s  p( p  a)( p  b)( p  c)
, где
1
p  (a  b  c)
2
a
b
c
Составим алгоритм и запишем
его в виде блок-схемы:
Начало
Очистить экран
Ввод a,b,c
p=(a+b+c)/2
s=SQR(p(p-a)(p-b)(p-c))
Вывод s
Конец
Программа может иметь вид:
REM Вычисление площади треугольника
по 3 сторонам
CLS
INPUT "Введите сторону а: ", a
INPUT "Введите сторону b: ", b
INPUT "Введите сторону c: ", c
p=(a+b+c)/2
s=SQR(p(p-a)(p-b)(p-c))
PRINT " Площадь треугольника равна: ", s
END
Вопросы:
Что значит «Программа имеет
линейную структуру»?
 Какие еще структуры программ вы
знаете?
 Приведите пример задач, где
используется линейная структура?

Ветвление – это такой
вычислительный процесс…



При котором выбирается одно из нескольких
заранее предусмотренных направлений
вычислений
Каждое такое направление называют ветвью,
условие, определяющее выбор направления
– условием выбора или просто условием
После проверки условия выполняется только
одна из ветвей
Простое полное ветвление
условие
Ветвь да
IF условие THEN оператор ELSE оператор
IF условие THEN операторы
ELSE операторы END
Ветвь нет
Простое неполное ветвление

Отличается от полного отсутствием
ветви ELSE
IF условие THEN оператор
IF условие THEN операторы END
Условие – это логическое выражение




Это или операция сравнения
(знаки =, >, <, >=,<=, <>)
Или переменная типа boolean, которая
может принимать два значения: истина
или ложь
IF a>b THEN a =2 ELSE b =2
Какая переменная получит значение 2,
если обе равны 1 вначале? Если a=1 b=0?
Если a=0 b=1?
Разветвляющийся алгоритм
Пример ветвления- решение квадратного
уравнения
Дано a,b,c
D=a*a-4*b*c
Если D<0, то вывод решений нет
Конец ветвления
Если D=0, то x=-b/(2*a), вывод х
Конец ветвления
Если D>0, то х1=(-b+Sqr(d))/(2*a),
х2=(-b-Sqr(d))/(2*a) вывод х1,х2
конец ветвления
Пример ветвления- решение
квадратного уравнения
Дано a,b,c
D=a*a-4*b*c
Если D<0, то вывод решений нет
иначе Если D=0, то x=-b/(2*a), вывод х
иначе если D>0,
то х1=(-b+Sqr(d))/(2*a),
х2=(-b-Sqr(d))/(2*a)
вывод х1,х2
конец ветвления
Запись на языке QBasic
IF D<0 THEN …..
(операторы)
ELSEIF D=0
THEN...
(операторы)
ELSEIF D>0 THEN ….
(операторы)
END IF
Начало
Вычислить
значение У
при:
1. Х=-50
2. Х=-200
3. Х= 10
да
Y=5*x-10
с учетом условий
X<=-100
да
Y=x^2+1
Конец
нет
-100<=x<=0
нет
Y=|x|
Задача:
Составить алгоритм нахождения у при различных х. В
случае,
если X<=-20,
Y=3*X^3
если –20<=X<=30,
Y=|X|,
в противном случае
Y=30
Задача на дом
Составить блок-схему для вычисления
значений функции У в зависимости от
заданного с клавиатура аргумента Х.
-1/Х^2
при Х<=-1
X^2
при –1<X<=-2
Y=
-4
при X>2
Способы записи алгоритма:
псевдокод
Вопросы темы:





Что такое псевдокод?
Как записываются алгоритмы на школьном
алгоритмическом языке?
Команды школьного АЯ.
Чем отличается программный способ записи
алгоритмов от других?
Какие у машинных языков достоинства и недостатки?
Что такое псевдокод?
Псевдокод представляет собой систему
обозначений и правил, предназначенную
для единообразной записи алгоритмов.
В псевдокоде не приняты строгие синтаксические правила
для записи команд.
В псевдокоде имеются некоторые конструкции, присущие
формальным языкам
В псевдокоде имеются служебные слова.
Основные служебные слова
алг (алгоритм)
арг (аргумент)
сим(символьный) дано
лит(литерный) надо
для
от
да
нет
рез (результат)
лог (логический) если
до
при
выбо
р
нач (начало)
таб(таблица)
то
кон (конец)
инач
нц (начало цикла)
е
цел (целый)
кц (конец цикла)
вещ(вещественн
ый)
длин (длина)
знач
и
ввод
все
или
выво
д
пока
не
утв
Общий вид алгоритма, записанного при помощи
псевдокода:
алг название алгоритма (аргументы и
результаты)
дано | условия применимости алгоритма
надо | цель выполнения алгоритма
нач описание промежуточных величин
последовательность команд (тело
алгоритма)
кон
В предложении алг после названия
алгоритма в круглых скобках указываются:

характеристики (арг, рез)

тип значения (цел, вещ, сим, лит или лог)

всех входных (аргументы)

всех выходных (результаты)
переменных. При описании массивов (таблиц)
используется служебное слово таб,
дополненное граничными парами по каждому
индексу элементов массива.
Примеры предложений алг:
алг Объем и площадь цилиндра (арг вещ R, H, рез вещ V, S)
алг Корни КвУр(арг вещ а, b, c, рез вещ x1, x2, рез лит t)
алг Исключить элемент(арг цел N, арг рез вещ таб А[1:N])
алг Диагональ(арг цел N, арг цел таб A[1:N,1:N], рез лит
Otvet)
Пример заголовка алгоритма
алг Замена (арг лит Str1, Str2, рез лит
Text)
дано | длины подстрок Str1 и Str2
совпадают
надо | всюду в строке Text подстрока Str1
заменена на Str2
Пример заголовка алгоритма
алг Число максимумов (арг цел N, вещ
таб A[1:N], рез цел K)
дано | N>0
надо | К - число максимальных элементов
в таблице А
Пример заголовка алгоритма
алг Сопротивление (арг вещ R1, R2, цел
N, рез вещ R)
дано | N>5, R1>0, R2>0
надо | R - сопротивление схемы
Команды школьного АЯ
Оператор присваивания. Служит для
вычисления выражений и присваивания их
значений переменным.
Общий вид: А = В, где знак "=" означает
команду заменить прежнее значение
переменной, стоящей в левой части, на
вычисленное значение выражения,
стоящего в правой части.
Например, a:=(b+c)*sin(Pi/4); i:=i+1.
Для ввода и вывода данных используют
команды
ввод имена переменных
вывод имена переменных, выражения,
тексты
Для ветвления применяют команды
если и выбор,
для организации циклов — команды
для и пока,
Пример записи алгоритма на школьном АЯ
алг Сумма квадратов (арг цел n, рез цел S)
дано | n > 0
надо | S = 1*1 + 2*2 + 3*3 + ... + n*n
нач цел i
ввод n; S:=0
Нц
для i от 1 до n
S:=S+i*i
кц
вывод "S = ", S
кон
Чем отличается программный способ записи
алгоритмов от других?


При записи алгоритма в словесной форме, в виде
блок-схемы или на псевдокоде допускается
определенный произвол при изображении команд
Алгоритм, предназначенный для исполнения на
компьютере, должен быть записан на "понятном" ему
языке. ( необходима точная записи команд, не
оставляющей места для произвольного
толкования их исполнителем).
Какие у машинных языков достоинства и
недостатки?


Процесс написания программы на машинном
языке очень трудоемкий и утомительный.
Программа получается громоздкой,
труднообозримой, ее трудно отлаживать,
изменять и развивать.
Машинные языки и машинно-ориентированные
языки — это языки низкого уровня
Языки высокого уровня делятся на:
алгоритмические (Basic, Pascal, C и др.), которые
предназначены для однозначного описания
алгоритмов;
логические (Prolog, Lisp и др.), которые ориентированы
не на разработку алгоритма решения задачи, а на
систематическое и формализованное описание
задачи с тем, чтобы решение следовало из
составленного описания.
объектно-ориентированные (Object Pascal, C++, Java
и др.), в основе которых лежит понятие объекта,
сочетающего в себе данные и действия над нами
.
Среда QBasic
Экран программы
Создание новой программы
Для создания новой
программы нужно:
- Выбрать в строке
меню пункт Файл
- Выбрать пункт Новый
Открытие созданной программы
Для открытия старой
программы нужно:
- Выбрать в строке
меню пункт Файл
- Выбрать пункт
Открыть
- Выбрать из списка
нужный файл
- Нажать ОК
Сохранение программы
Для сохранения
программы нужно:
- Выбрать в строке меню
пункт Файл
- Выбрать пункт
Сохранить как
- Выбрать нужный диск,
каталог
- Выбрать из списка нужный
файл
- Нажать ОК
Функциональные клавиши
Клавиша
Действие
F1
Вывод подсказки для того элемента программы, на
который указывает курсор
F2
Вывод списка подпрограмм
F3
Поиск в тексте
F4
Просмотр экрана вывода
F5
Продолжение выполнения программы с текущего
оператора
F6
Перемещение в окно быстрого выполнения
(Immediate)
Выполнение программы до текущего положения
курсора
Выполнение следующего программного оператора
(пошаговое выполнение операторов программы)
F7
F8
F9
Установка или удаление контрольной точки
F10
Выполнение
процедуру)
следующего
оператора
(пропуская
Арифметические операции на языке
QBasic.
Операция
Обозначение
Пример
Результат
Сложение
+
2+5
7
Вычитание
-
10-8
2
Умножение
*
3*4
12
Деление
/
/
15/3
5
15/4
3.75
Целочисленное
деление
\
15\4
3
Возведение в
степень
^
2^3
8
Остаток от деления
MOD
13 MOD 5
3
Правила записи арифметических выражений






Арифметическое выражение записывается в одну
строку;
Используются специальные знаки арифметических
операций (+,-,*,/,^);
Соблюдается следующий порядок действий: скобки,
возведение в степень, деление и умножение,
сложение и вычитание;
Десятичные дроби записываются с помощью
десятичной точки: 1,5 – 1.5, 0,03 - .03;
Нельзя опускать знак умножения: 6ab – 6*a*b;
Число открытых скобок должно быть равно числу
закрытых скобок.
10,6 y  2
4  5,37х
Например: ((10.6*y-2)/(4+5.37*x))*sin(3.41^2)
 sin 3,412
Примеры записи математических выражений
U
I
R
T  2
I=U/R
l
g
at 2
s   0t 
2
T=2*3.14*SQR(L/G
)
s=v0*t+(a*t^2)/2
Задание: Запиши по правилам
программирования следующие выражения:
15  7 cos y
4,2  3,5 x 2
5 cos x  3 y  sin 2,52
32,7  5a 4b  5a
 2 cos4c
3
2c
2
2 89 y  7,1  3
3
16x


a  8,35x  

 2  ac  4 x 
4
2
4
5 y  3 cos 4 x
(8  x) 
5z  y 2
3
ОПЕРАТОРЫ QBASIC
Операторы
В языках программирования высокого
уровня программа - это перечень
действий.
Исполнение этих действий определено в
самом языке программирования, и их
принято называть операторами.
Некоторые операторы языка
QBasic
REM – оператор комментария.
Все что следует после этого оператора до конца строки
игнорируется компилятором и предназначено исключительно
для человека. Т.е. здесь можно писать что угодно.
пример:
REM Это комментарий
можно и так:
' Это тоже комментарий
Некоторые операторы языка
QBasic
END – оператор конца программы, является
необязательным.
пример:
END
CLS (Clear Screen)
Очищает экран монитора.
 Вводится обычно один раз в начале
программы
Пример:
CLS
X=2
A=10
F=70*x/a
Print F

Что выйдет после запуска программы?
PRINT (?) позволяет:



Выводить текстовую информацию,
заключенную в кавычки, на экран
монитора.
? “привет!”
Вычислять значения арифметических
действий
? 5*4-5,6^2 (найдите ошибку)
Выводить значения переменных на
экран монитора(найдите ошибку)
DAY$=“ Понедельник»
PRINT DAY$
Задание 1

Что появится на экране монитора при
выполнении следующих программ?
1) CLS
Q=4
D=Q+8
? Q, D
2) L=3*T
5)L=12
? L, T-4
X$=“Тебе”
3)A=9
age$=“лет’
B=36-A
? X$, L, age$
A=5
? “A=“; A : ? “B=“; B
4)F=4
6)H=15
F=F+1
P=9
? F; K+1
H=H+P
? “P=“; P*3; H
Решение задач 29, 30,
31, 32 на странице 25
Практикума
Задание 29. Напиши программу вычисления площади
прямоугольника со сторонами a=3 и, b= 4 см.
Задание 30 . Напишите программу вычисления скорости
пешехода V, если известно время Т- 2 часа, путь S= 10 км.
Задание 31.Напишите программу вычисления значения
выражения y=5x+6, если х=3.
Задание 32. Напишите программу вычисления значений
выражения y=3(x+1)2 +2(x+1)-3, если х=8,2.
Задание1* Вычислить площадь поверхности параллелограмма
по сторонам a, b, c (введенных с клавиатуры).
Задание2* Вычислить объем цилиндра по введенным с
клавиатуры r – радиусу и h – высоте цилиндра.
Задание3* Вычислить площадь треугольника по сторонам a b
и углу j между ними.
Для тех, кто не знает формулы, перейти по ссылке
Дальше
Формулы для расчета
1.Площадь поверхности параллелограмма
S=2ab+2bh+2ah
2.Объем цилиндра
V=Пr2h
3.Площадь треугольника
ab  sin j
S
2
Вернуться
INPUT (подсказка), имя переменной
Оператор INPUT вводит значение переменной
в память компьютера
 Используется для присваивания значения как
числовым, так и строковым переменным
Пример:
‘Программа расчета скорости
CLS
INPUT “Введите скорость“; S
“Введите время“; T
V=S/T
? “Cкорость равна”; V
Какой результат будет после запуска
программы?

Пример программы вычисления пути движения
REM Решение задачи.
-Оператор для пояснения заданий
CLS
-Оператор запуска на чистом экране
PRINT «Вычисление пути движения»-Печатает на экране заголовок
INPUT «Введите скорость движения V=»;V -Запрос ввода скорости
движения
INPUT «Введите время движения Т=»;Т -Запрос ввода времени
движения
S=V*T
-Оператор расчета пути движения
и присваивания значения переменной S
PRINT «Путь S=";S
Оператор вывода результата S на экран
Решение задач 33, 34, 35, 32 на странице 26
Практикума (на дом)
Задание 34. Вычислить значение функции. Значение х
задайте с клавиатуры.
5 x(4,8  x )
y
10x  90
2
Задание 35. Вычислите значение функции
Y=5x2+4,1a-8,25b3 , где х=3,1, значения a и b задать с
клавиатуры.
Условный оператор (ветвление)
Оператор проверяет выполнение условия, записанного
после слова IF и, в зависимости от результата,
выполняется одно из следующих действий:
-если условие верно, то выполняется оператор или
группа операторов, записанная после слова THEN;
-если условие неверно, то выполняется оператор или
группа операторов, записанная после слова ELSE,
затем компьютер приступает к выполнению
следующей строки программы;
-если слово ELSE отсутствует, то выполняется переход
к следующей строке программы.
УСЛОВНЫЙ ОПЕРАТОР (синтаксис)
IF……………………THEN……………….ELSE…..
(Если) Условие 1 (Тогда) Ветвь Да (Иначе) Ветвь Нет
END IF
(конец условия)
Запись условий
A>B
C<30
A$=”cat”
X< > 135
Y>=7
S<=F
больше
меньше
равно
неравно
больше или равно
меньше или равно
Запись сложных условий
If A>10 and A<=105 then …
If B=0 or C<>25 then …
Примеры программ:
‘Программа оценивания знаний
CLS
INPUT “Что ты получил по математике сегодня?”; z
IF z <=3 THEN
LOCATE 30,40
? “Не пойдешь на дискотеку!”
ELSE
LOCATE 30,60
? “Пойдешь на дискотеку, дам денег на
мороженое!”
LOCATE - оператор, управляющий выводом текста.
Экран монитора в текстовом режиме делится на
?? столбцов и ?? строк. Начало координат – в
левом верхнем углу
Начало
Вычислить
значение У
при:
1. Х=-50
2. Х=-200
3. Х= 10
да
Y=5*x-10
с учетом условий
X<=-100
да
Y=x^2+1
Конец
нет
-100<=x<=0
нет
Y=|x|
Пример программы с использованием условного оператора.
Задание - составить программу по заданной блок-схеме
начало
х
X>0
Y=x2
Y=x3
y
конец
Программа на языке QBasic
CLS
INPUT “x=“;x
If x>0 THEN y=x^3 ELSE y=x^2
? “y=“; y
Задание 36. Составьте блок-схему и напишите программу
вычисления квадрата число а, если a<5, или а+8 в противном
случае.
Задание 37. Составьте блок-схему и напишите программу
вычисления суммы q и w, если q>w; в противном случае - их
разности. Значения q и w задать с клавиатуры.
Задание 38. Составьте блок-схему и напишите программу ,
определяющую, к какой возрастной категории относится
пользователь: малыш (1-7лет), школьник (от 7 до 17 лет) или
взрослый (от 17 до 90 лет).
Задание 40. Составьте блок-схему и напишите программу, которая
при наборе буквы S вычисляет площадь прямоугольника, а при
наборе буквы Р – периметр прямоугольника. Стороны
прямоугольника задать с клавиатуры.
Задача:
Составить алгоритм нахождения у при
различных х. В случае,
если X<=-20,
Y=3*X^3
если –20<=X<=30,
Y=|X|,
в противном случае Y=30
Х
да
X<=20
нет
да
Y=3*X^3
нет
-20<X<=30
Y=|X|
У
Y=30
ОПЕРАТОР ВВОДА СЛУЧАЙНЫХ ЧИСЕЛ





RANDOMIZE TIMER –включает датчик
случайных чисел, используется в программе
один раз
RND(1) – выбирает случайное число в
интервале от 0 до 1, не включая 1
INT(x) – выделение целой части числа х
Например: RANDOMIZE TIMER
Х= INT(RND(1)*100) – выбор целого случай ного числа в интервале от 0 до 100.
Использование метки, подпрограмма






Метка – используется для обращения к
какой-либо строке программы
GOTO <метка> - переход к строке с меткой
Пример метки: vvod:, vivod:, rezultat:, F2:
Подпрограмма – часть программы, к которой
можно обращаться много раз. Подпрограмма
не может выполняться самостоятельно.
GOSUB <метка>- вызов подпрограммы
RETURN <метка>- выход из подпрограммы
Операторы графики
Вопросы темы:
Компьютерная система координат
 Оператор SCREEN
 Операторы PSET
 Оператор COLOR
 Оператор LINE
 Операторы CIRCLE
 Операторы PAINT

Компьютерная система координат
Для того, чтобы мы могли что-либо нарисовать на экране, нам
нужно уметь задавать положение на экране того, что мы
рисуем. Для этого с экраном связывается система
координат следующего вида:
(0,0)
X
Y
Ось Х направлена слева направо, ось Y сверху вниз.
Значения координат – целые положительные числа
Вернуться


Экран монитора может работать в двух режимах:
символьном и графическом.
В графическом режиме экран монитора разбит на
маленькие клеточки – пиксели.
Оператор SCREEN устанавливает количество
пикселей на экране монитора (разрешение).
Например:
SCREEN 7 – устанавливает режим 320*200 (x*y)
SCREEN 9 - устанавливает режим 640*350 (x*y)
Вернуться
Оператор PSET - выводит точку заданного
цвета
Например:
SCREN 7
PSET (10,50), 4 – выводит красную точку с
координатами (10,50).
Цвет, который задавался последним,
называется текущим цветом
Вернуться
Номера цветов
Темные цвета
0
Черный
1
Синий
2
Зеленый
3
Голубой
4
Красный
5
Фиолетовый
6
Коричневый
7
Серый
8
9
10
11
12
13
14
15
Светлые цвета
Темно-серый
Светло-синий
Светло-зеленый
Светло-голубой
Светло-красный
Светло-фиолетовый
Желтый
Белый
Вернуться
Оператор COLOR – устанавливает
цвет фона и изображения
COLOR номер цвета изображения, номер цвета
фона.
Пример записи оператора:
COLOR 4,14 – устанавливает изображение красного
цвета, фон – желтый.
COLOR ,14 – устанавливает желтый фон
COLOR 4 – устанавливает изображение красного
цвета
Вернуться
Оператор LINE
– изображает отрезок, прямоугольник или закрашенный
прямоугольник.
Изображение отрезка
LINE (x1,y1)- (x2,y2),номер цвета
устанавливают координаты двух точек и номер
цвета отрезка
 Изображение прямоугольника
LINE (x1,y1)- (x2,y2),номер цвета, В
устанавливают координаты двух противоположных
вершин (координаты диагонали), номер цвета,
команда В в операторе LINE является первой
буквой английского слова Box-коробка.
 Изображение закрашенного прямоугольника
LINE (x1,y1)- (x2,y2),номер цвета, ВF
F- команда, которая в операторе LINE является
первой буквой английского слова Full - полный

Вернуться
Задание: напишите программу, которая после
запуска выводит изображение
Вернуться
Оператор CIRCLE изображает окружность
X,Y
R
CIRCLE (x, y), R, Номер цвета
Где x, y - координаты центра
окружности
R – радиус окружности
Например:
CIRCLE (150, 100), 20, 4 – построена
окружность красного цвета
радиусом 20 пикселей с центром в
точке (150, 100).
Вернуться
Оператор PAINT – закрашивает замкнутую область
произвольной формы
PAINT (x, y), цвет заливки, цвет контура
Если цвет заливки и цвет контура совпадают, то в операторе
PAINT можно указывать только один цвет
Пример программы:
SCREEN 7
CIRCLE (150,100),30,4
PAINT (150,100),5,4
После запуска будет закрашена окружность в малиновый
цвет, граница – в красный
Вернуться
Задание: составьте программу, выводящую на экран
изображения:
Вернуться
Задание на дом: написать программу,
выводящую изображения:
Вернуться
Цикл
с параметром
СОДЕРЖАНИЕ
Общий вид алгоритма цикла с
параметром
 Особенности цикла типа “для“
 Блок-схема цикла с параметром
 Реализация цикла с параметром на
языке программирования BASIC
 Пример

Цикл - это одна из основных
структур алгоритмизации. Мы уже
знакомы с двумя типами циклов: цикл
типа “пока” и цикл типа “до”. Но в том
случае, когда заранее известно число
шагов, наиболее наглядно использовать
так называемый цикл с параметром или
цикл типа “для”.
Общий вид алгоритма цикла с
параметром:
для X от M до N шаг K
нц
тело цикла
кц
M, N - любые целые числа, K -любое
действительное число.
Если шаг K=1, то его можно не описывать, он
становится равным единице по умолчанию.
БЛОК-СХЕМА ЦИКЛА С ПАРАМЕТРОМ:
I=M, N, K
ТЕЛО ЦИКЛА
РЕАЛИЗАЦИЯ ЦИКЛА С ПАРАМЕТРОМ НА ЯЗЫКЕ
ПРОГРАММИРОВАНИЯ BASIC:
40 FOR I = M TO N STEP K
50 ( ТЕЛО ЦИКЛА )
60 NEXT I
ПРИМЕР:
Дано натуральное число N, вычислить N! (факториал)
алг факториал (нат I, N, нат P )
арг N
рез P
нач ввод N
P:=1
для I от 1 до N шаг K
нц
P:=P*I
кц
вывод P
кон
нач
N
P=1
I = 1, N, 1
P:=P*I
P
кон
10 rem pr1
20 input “ введите N”; N
30 P=1
40 for i=1 to N step 1
50 P=P*i
60 next i
70 print “P=“; P
80 end
1.
ОПЕРАТОР ЦИКЛА
FOR имя переменной = f TO b STEP c
<Тело цикла>
NEXT имя переменной
•FOR (для)
начало цикла
•NEXT(следующий)- конец цикла
•f
начальное значение переменной
•b
конечное значение переменной
•c
шаг, с которым изменяется значение
переменной
Массив



Массив - набор однотипных данных, хранящихся
вместе и имеющих общее имя.
Возможность объединения групп элементов в массив
позволяет, с одной стороны, облегчить массовую
обработку данных, а с другой - упростить
идентификацию элементов массива.
Каждому элементу массива может быть присвоено
одно числовое или символьное значение, поэтому
различаются массивы числовые и символьные.
Кроме того, массивы могут быть одномерными и
многомерными.
Одномерные массивы





Основные понятия:
Массив обозначается одним именем. Так всю
совокупность действительных чисел
1.6, 14.9, -5.0, 8.5, 0.46
можно считать массивом и обозначить одним
именем, например А. Образующие массив
переменные называются элементами массива.
Каждый элемент массива обозначается именем
массива с индексом, заключенным в круглые скобки.
A(1), A(2), A(3), ..., A(n).
Индекс определяет положение элемента массива
данных относительно его начала.
Для рассмотренного выше примера элементами
массива А являются:
A(1)=1.6, A(2)=14.9, A(3)=-5.0, A(4)=8.5, A(5)=0.46
ОПРЕДЕЛЕНИЕ МАССИВОВ
Прежде чем воспользоваться массивом, в
программу надо включить оператор DIM, задающий
максимально допустимый индекс. Это даст
возможность системе с Бейсиком зарезервировать в
памяти область достаточного размера.
 Массивы, содержащие от 1 до 10 элементов, можно
использовать без их объявления в операторе DIM.
Максимальное количество элементов любого
массива определяется только объемом свободной
ОП.
 Формат записи оператора DIM:
DIM имя_массива (максимальный_индекс)
 "Имя_массива" обычно выбирается по тем же
правилам, что и имена простых переменных.
"Максимальный_индекс" указывает максимально
допустимый в программе индекс и должен быть
положительным.

Примеры описания массивов:
DIM X(50)
' объявление одномерного
числового массива X для 50 чисел;
DIM V$(12)
'объявление одномерного
массива V для 12 символьных
элементов.
Объявление массива с переменным
размером.
INPUT K
DIM A(K)
........
Заполнение массива
Существует два способа присваивания значений
элементам массива:
 1) статический, с использованием операторов DATA,
READ и оператора присваивания;
 2) динамический, с использованием оператора INPUT
и функции RND.
При работе с массивами очень удобно пользоваться
оператором цикла FOR...NEXT. В качестве индекса
массива используют параметр цикла.

1. Пример статического заполнения массива.
DATA слива,ананас,груша
DATA яблоко,вишня,абрикос
DIM A$(6)
FOR I=1 TO 6
READ A$(I)
NEXT I
Цикл FOR...NEXT последовательно присваивает
значения всем переменным из списка.
2. Пример динамического заполнения массива
INPUT "Введите количество элементов массива ";N
DIM A(N)
FOR I=1 TO N
INPUT A(I)
NEXT I
В данном примере используется переменное задание
размерности массива.
3. Пример заполнения массива с помощью
стандартной функции RND
DIM V(12)
FOR I=1 TO 12
V(I)=INT(RND(1)*10)
PRINT V(I);
NEXT J
Порядок работы с массивами
1.
2.
3.
4.
объявление массива (задание
максимального размера массива);
заполнение массива;
обработка элементов массива;
вывод результата обработки.
ДЕЙСТВИЯ НАД ЭЛЕМЕНТАМИ ОДНОМЕРНОГО МАССИВА
Пример 1. Подсчитать общую сумму 10 чисел, записанных
статически в массив и количество отрицательных чисел в этом
массиве.
DATA 3,4,5,-8,10.67,2.7,765,-6.98,9,-1
DIM A(10)
FOR I=1 TO 10
READ A(I)
S=S+A(I)
IF A(I)<0 THEN N=N+1
NEXT I
PRINT " сумма=";S,"N=";N
END
Пример 2. Задан массив К(45). Определить
минимальный элемент массива и его индекс.
DIM K(45)
FOR I=1 TO 45
' Заполнение массива
INPUT K(I)
NEXT I
MIN=A(1) ' Переменной MIN присваивается первое
значение массива
FOR I=2 TO 45
IF A(I) < MIN THEN MIN=A(I):K=I
NEXT I
PRINT "Минимальный элемент=";MIN, "его индекс=";K
END
Пример 3. Задан массив A(18). В массиве поменять
местами значения 1-го и 2-го элемента, 3-го и 4-го и т.д.
Измененный массив вывести на экран.
DIM A(18)
FOR I=1 TO 18
A(I)=INT(RND(1)*10)
PRINT A(I);
NEXT I
FOR I=1 TO 18 STEP 2
SWAP A(I),A(I+1) ' Меняются местами значения элементов
массива
NEXT I
PRINT
FOR I=1 TO 18
PRINT A(I);
' Вывод измененного массива
NEXT I
END
Пример 4. Дан массив М(30). Элементы массива произвольные числа. Выдать на экран значения
каждого пятого элемента. Указанные элементы выдать
в строку.
DIM M(30)
FOR I=1 TO 30
M(I)=INT(RND(1)*15)
PRINT M(I);
NEXT I
PRINT
FOR I=5 TO 30 STEP 5
PRINT M(I);
' Вывод каждого пятого элемента
массива
NEXT I
Пример 5. Сформировать из N элементов
одномерный массив А и вывести его на печать
в виде K столбцов.
INPUT " Введите количество элементов массива ";N
DIM A(N)
FOR I=1 TO N
A(I)=INT(RND(1)*10)
NEXT I
INPUT " Введите количество столбцов ";K
FOR I=1 TO N
PRINT A(I);
IF I MOD K = 0 THEN PRINT
NEXT I
END
Пример 6. Составить программу вычисления и печати
значений функции Y=(SIN X+1) COS 4X
Значения аргумента заданы статически в массиве X(10).
Значения функции записать в массив Y(10) и распечатать в
пять строк.
DATA 5,6.78,56,7.34,678,89,5,23.9,10,34.7
DIM X(10),Y(10)
FOR J=1 TO 10
READ X(J)
NEXT J
FOR J=1 TO 10
Y(J)=(SIN(X(J))^2+1)*SQR(COS(4*X(J))^2)
PRINT Y(J);
IF J MOD 2 = 0 THEN PRINT
NEXT J
END
Назови массивы
A(I)
2. S(12)
3. D$(I)
4. F$(6)
1.
Что выйдет после запуска программы?
CLS
DIM a(5)
FOR i = 1 TO 5
READ a(i)
IF a(i) > 0 AND a(i) < 10 THEN PRINT a(i)
NEXT i
DATA 9,15,-8,7,6
Что выйдет после запуска программы?
CLS
DIM Z$(7)
FOR I-1 TO 7
READ Z$(I)
slovo=LEN(Z(I)
IF slovo=4 THEN PRINT Z(I)
NEXT I
DATA дом, окно, собака, кот, зима, улица
Двумерный массив (таблица)
1,68
1,57
1,70
1,73
1,59
1,61
1,65
1,78
1,80
1,64
1,66
1,74
DIM G(I,J)
Где G – имя числового двумерного массива
I-число строк
J-число столбцов
Что можно сказать о массивах?
1.
2.
3.
4.
DIM S(10,5)
DIM Z$(5,7)
DIM A$(i,j)
DIM G(i,j)
Задание : Создать и распечатать двумерный
массив
CLS
DIM R(4, 3)
FOR i = 1 TO 4
FOR j = 1 TO 3
READ R(i, j)
NEXT j
NEXT i
FOR i = 1 TO 4
FOR j = 1 TO 3
PRINT R(i, j);
NEXT j
PRINT
NEXT i
DATA
1.68,1.57,1.70,1.73,1.59,1.61,1.65,1.78,1.80,1.64,1.66,
1.74
Вернуться к списку