- •Введение
- •Алгоритмизация задач Понятие алгоритма
- •Виды записи алгоритма
- •Типы алгоритмов
- •Свойства алгоритма
- •Языки программирования
- •Общие сведения о языке программирования бейсик
- •Алфавит языка basic. Идентификаторы, константы, переменные
- •Константы
- •Переменные
- •Переменные с индексами
- •Выражения на языке basic
- •Запись математических выражений на Бейсике
- •Операции отношения Числовые операции отношения
- •При сравнении на равенство двух вещественных чисел рекомендуется ввести погрешность и сравнивать абсолютную величину разности этих двух чисел с величиной веденной погрешности. Например, так:
- •Строковые операции отношения
- •Структура программы. Комментарии в программе
- •Оператор присваивания
- •Операторы управления Операторы перехода и оператор stop
- •Условные операторы
- •Операторы цикла
- •Функции пользователя
- •Подпрограммы Операторы gosub и return
- •Оператор on - gosub
- •Операторы ввода - вывода Операторы read, dата и restore
- •Оператор input
- •Операторы вывода Оператор print
- •Дополнительные возможности оператора print
- •Оператор print using – форматный вывод
- •Средства подготовки и отладки программ Основные директивы интерпретатора
- •Выполнение программы в среде basic
- •Примеры составления типовых программ
- •Обработка одномерных массивов
- •Использование вложенных циклов при работе с индексированной переменной
- •Задания для лабораторных и самостоятельных работ Задание 1. Составить блок-схему алгоритма и программу вычисления функций:
- •Задание 2. Составить блок-схему алгоритма и программу разветвляющегося процесса:
- •Задание 4. Программирование алгоритмов циклической структуры
- •Задание 5. Составление алгоритмов и программ обработки одномерных массивов
- •5.1. Составление простейших алгоритмов обработки одномерных массивов
- •5.2. Решение циклических задач с использованием характерных приемов
- •Задание 6. Составление алгоритмов и программ обработки двумерных массивов
- •Задания для самостоятельной работы
- •2. Выполнить указанное преобразование над элементами массивов:
- •Описание множеств
- •Контрольная работа №1
- •1.Вычислить и вывести на экран значение функции
- •Тестовые задания
- •Список литературы
- •Методические указания и задания по алгоритмизации и программированию по дисциплине «Информатика»
Операторы цикла
Циклические программы (участки программ) можно записывать, используя операторы IF и GOТО. Но для упрощения процедуры составления циклов и с целью их четкого выделения в программе могут быть использованы специальные операторы FOR … NEXT, WHILE … WEND, DO …LOOP.
Оператор FOR, называемый заголовком цикла, всегда предшествует повторяющейся группе операторов, составляющих так называемое тело цикла.
Формат оператора FOR:
<номер строки> FOR <имя переменной> = <выражение 1> ТО <выражение 2> [SТЕР <выражение 3>]
Имя переменной в операторе FOR называют управляющей переменной или параметром цикла, а <выражение 1>, <выражение 2> и <выражение 3> представляют собой начальное значение параметра цикла, конечное значение параметра цикла и шаг изменения параметра цикла соответственно. Если " STEP <выражение 3> " опущено, то шаг изменения параметра цикла полагается равным 1.
Во время выполнения оператора FOR вычисляются или задаются параметры цикла (начальное и конечное значения управляющей переменной, величина шага изменения) и присваивается начальное значение управляющей переменной. Тело цикла начинается вслед за оператором FOR и завершается оператором NEXT, который имеет следующий формат:
<номер строки> NEXT [имя переменной]
Здесь [имя переменной] соответствует управляющей переменной в заголовке цикла. При выполнении оператора NEXT производится изменение значения управляющей переменной на величину шага и проверка условия окончания цикла. Цикл повторяется до тех пор, пока значение управляющей переменной не станет строго больше (при положительном шаге изменения) или строго меньше (при отрицательное шаге изменения) конечного значения. Можно выйти из цикла и в том случае, если параметр цикла не достигает конечного значения. Для этого используют операторы условного и безусловного перехода.
При использовании вложенных циклов (циклов в цикле) требуется, чтобы область действия внутреннего цикла полностью находилась в области действия внешнего цикла.
Операторы FOR и NEXT не могут выполняться в операторе IF.
С помощью конструкции WHILE … WEND можно реализовывать выполнение ряда операторов до тех пор, пока выполняется определённое условие.
WHILE Условие
[ Оператор 1]
[ … ]
[ Оператор N]
WEND
До тех пор, пока соблюдается условие, последовательно выполняются операторы от 1 до N. Если условие цикла больше не соблюдается, то выполнение программы продолжается, начиная с оператора, следующего за WEND. Если условие цикла WHILE не выполняется с самого начала, то управление сразу же передаётся оператору, расположенному за WEND.
Функции пользователя
Кроме стандартных функций, предназначенных для вычисления математических выражений, в языке Basic допускается употребление функций, определяемых пользователем. Если в программе необходимо несколько раз вычислить одно и то же выражение при различных значениях некоторого параметра, то целесообразно создать "свою" функцию. Описать функцию можно с помощью определяющего оператора DEF, формат которого следующий:
<номер строки> DEF FNА ( <аргумент> ) = <выражение>
где FNА - имя функции, состоящее из обязательных букв FN и имени произвольной переменной А.
Пример:
10 DEF FNA(X) =SIN(X)^2 -COS(X)^2
Аргумент (Х), употребляемый в описании функции (в операторе DEF), называют формальным параметром функции. Выражение, записываемое в правой части определения функции, может быть произвольным арифметическим выражением, зависящим, как правило, от формального параметра. Однако оно не обязательно должно зависеть от аргумента и может содержать также другие переменные, определенные в программе, которые не являются аргументом, например:
30 DEF FNА(Х) = Х*В + TAN(C/X)
Если в программе введено описание функции, то можно обращаться к нему, т.е. употреблять обозначение этой функции (указатель функции) в различных операторах, выражениях и т.п. В указателе функции все формальные параметры должны быть заменены фактическими, например, в программе:
10 DEF FNA(Х) = Х^2 + SIN(Х)
20 А = FNA(2.5) + 2*FNA(3)
Формальный параметр Х вначале получает значение 2.5, а затем 3. Фактические параметры могут быть любыми арифметическими выражениями. При обращении к функции сначала вычисляется значение фактического параметра, далее он подставляется вместо формального параметра в описание функции, и вычисляется значение выражения, записанного в правой части определения функции. Это значение является значением указателя функции при данных фактических параметрах.
Оператор DEF является неисполнимым оператором и поэтому может размещаться в любой части программы, например, в начале.
Пример:
Пусть X и Y - натуральные числа. R - остаток от деления X на Y. Выразить R(X,Y), где R функция от X и Y.
В этом примере R(X,Y) - функция двух аргументов:
R = X - INT(X/Y) * Y - остаток от деления X на Y.
Функция должна быть определена следующим образом:
DEF FNR(X,Y) = X – Y * INT(X/Y)
