
- •Введение
- •1. Основные понятия и определения.
- •1.1. Алгоритм.
- •1.2. Этапы программирования.
- •2. Язык программирования Quick Basic
- •2.1. Среда Qвasic
- •2.2. Имена
- •Dim_имя массива (размерность)[,имя массива (размерность)…]
- •2.3.3. Некоторые директивы языка.
- •2.3.4. Выражения
- •2.3.5. Функции
- •3. Операторы.
- •3.1. Оператор присваивания.
- •3.2. Операторы управления.
- •Goto_номер строки
- •If_выражение - условие _then_группа операторов [_else_группа операторов]
- •If логическое выражение then группа операторов 1
- •1 Вариант: 2 вариант:
- •3.2.3. Оператор множественного выбора
- •3.3. Операторы цикла.
- •3.4. Прекращение выполнения и завершение программы
- •3.5. Подпрограммы
- •Gosub_номер строки
- •3.6. Организация ввода.
- •Input [;][«подсказка»;]переменная[,переменная]
- •Data_ константа [,константа]… read_ переменная [,переменная]…
- •Randomize_база
- •3.7. Организация вывода.
- •Print_[выражение[,выражение]]…[;]
- •Print_using шаблон [_шаблон]…; выражение [,выражение]…[;]
- •3.8. Графика языка.
- •3.9. Работа с файлами.
- •Input_#номер файла[,переменная][,переменная]
- •Eof(номер файла)
- •4. Базовые алгоритмы.
- •5. Советы по выполнению задания.
- •Примеры решения задач.
- •6.1. Задачи на вычисление функций и сумм.
- •1. Вычислить функцию:
- •Задачи с использованием массивов.
- •6.2.1. Задание и распечатка массивов.
- •1. Элементы массива задаются с клавиатуры:
- •3. Элементы массива вводятся из блока data:
- •4. Элементы массива задаются случайными числами:
- •5. Элементы двухмерного массива ( матрицы ) задаются случайными числами:
- •6.2.2. Операции над элементами массивов.
- •Найти положительные элементы. Организовать из найденных элементов отдельный массив:
- •Найти элементы, кратные 3. Организовать из найденных элементов отдельный массив:
- •Найти максимальный элемент в каждой
- •Найти максимальный элемент в главной диагонали матрицы и его порядковый номер:
- •6.3. Задачи на приближенное вычисление площади фигур, объемов.
- •6.4. Задачи с использованием метода итераций.
- •6.4.1. Решение систем уравнений.
- •6.4.2. Вычисление корней уравнений.
- •6.5. Вычислить значения определенных интегралов.
- •Приложение 1 Список ошибок периода выполнения программы
- •Приложение 2 Список зарезервированных слов
- •Содержание
- •1. Основные понятия и определения.
- •1.1. Алгоритм.
- •Список литературы
1 Вариант: 2 вариант:
IF Z<0 THEN IF Z<0 THEN
F=(Z-5)/Z^2 F=(Z-5)/Z^2
ELSE IF Z<=1 THEN IF Z<=1 AND Z>=0 THEN
F=Z^2-1 F=Z^2-1
ELSE IF Z>1 THEN
F=1/(1-Z) F=1/(1-Z)
END IF PRINT "F=";F
PRINT "F=";F END
END
Пример 7:
IF R>0 THEN IF Р>0 THEN SP=SP+1 ELSE SO=SO+1
В этом примере:
при R>0 и Р>0 выполняется оператор SP=SР+1;
при R> 0 и Р0 выполняется оператор SO=SO+1;
при R0 выполняется оператор, следующий за оператором IF.
Пример 8:
IF R>0 AND А=5 THEN SP=SP+1 ELSE SO=SO+1
В этом примере:
при R>0 и А=5 выполняется оператор SP=SР+1;
при R<= 0 или А<>5 выполняется оператор SO=SO+1;
3.2.3. Оператор множественного выбора
Формат этого оператора:
SELECT CASE арифм_выражение или симв_выражение
CASE условие 1
< группа операторов 1>
CASE условие 2
< группа операторов 2>
……………….
[ CASE ELSE
< группа операторов n >]
END SELECT
Условие оператора CASE можно указать в одном из трех форматов:
CASE константа 1, константа 2, …
CASE IS знак_отношения константа
CASE константа 1 TO константа 2
Константы в условии должны быть того же типа, что и выражение в SELECT CASE.
Алгоритм этого оператора заключается в следующем:
1) вычисляется значение выражения, записанного в SELECT CASE; 2) проверяется, удовлетворяет ли это значение одному из указанных в CASE условий; 3) если значение удовлетворяет какому-то условию, выполняется блок операторов, следующий за данным CASE.
3.3. Операторы цикла.
Цикл это команда повторить многократно указанную последовательность команд алгоритмического языка. Когда известно количество повторений некоторого действия или группы действий, мы говорим о конструкции цикла со счетчиком (или цикла с параметром). В том случае, когда количество повторений указанных действий заранее неизвестно, а зависит от некоторых условий, мы говорим о конструкции цикла с условием выхода.
Циклы с параметром FOR имеет вид:
FOR_переменная = начальное значение_TO_конечное значение[_STEP_приращение]
Операторы тела цикла
NEXT_[переменная]
Переменная – управляющая переменная цикла, начальное значение, конечное значение, приращение – числовые выражения, определяющие начальное и конечное значения управляющей переменной и шаг ее приращения при повторении цикла
(приращение может быть отрицательным или положительным действительным или целым числом). Если шаг не задан, то по умолчанию значение приращения равно +1. Значения выражений, определяющих начальное, конечное значения, приращения не изменяются в процессе выполнения цикла. Каждому оператору FOR должен соответствовать оператор NEXT.
В общем случае после выполнения оператора FOR начинают выполняться строки программы, следующие за ним, пока не будет встречен оператор NEXT. По оператору NEXT текущее значение управляющей переменной увеличивается на значение приращения. Если новое значение управляющей переменной оказывается больше, чем конечное значение, то цикл заканчивается, и выполнение программы продолжается с оператора, следующего за оператором NEXT. Если же новое значение управля-
ющей переменной не превосходит конечного значения, то управление передается оператору, следующему за оператором FOR, т.е. на повторное выполнение цикла. После завершения цикла управляющая переменная равна последнему значению, увеличенному на шаг приращения. Возможно, что шаг <0, но тогда начальное значение будет больше чем, конечное значение.
Пример 8: Заполнить одномерный массив из пятнадцати элементов целыми случайными числами, значения которых лежат в интервале от –35 до 120, найти количество отрицательных элементов и их сумму.
DIM В(15)
SUM=0: KOL=0
FOR I=1 TO 15
В(I)=INT(RND*155)-35
IF B(I)<0 THEN SUM=SUM+B(I): KOL=KOL+1
NEXT I
В этом примере операторы присваивания SUM=0 и KOL=0 служат для задания начальных значений суммы и количества отрицательных элементов.
Циклы могут быть вложенными один в другой. Обязательное условие вложения циклов: цикл вложенный (внутренний) должен целиком помещаться внутри внешнего цикла.
FOR X=A TO B STEP H
...................
FOR Y=С TO D STEP N
……………
NEXT Y
……………
NEXT X
Циклы с предусловием начинается оператором WHILE:
WHILE_числовое выражение
Операторы тела цикла
WEND
Числовое выражение – любое числовое выражение. Заканчивается выполнение цикла с предусловием оператором WEND, который задается без операндов. При выполнении цикла с пред-
условием, вычисляется значение выражения в оператореWHILE. Если это значение «истина», то выполняются операторы цикла, следующие за оператором WHILE, до тех пор, пока не будет встречен оператор WEND. После этого управление передается оператору WHILE. Работа цикла будет завершена тогда, когда логическое выражение в операторе WHILE будет «ложь», в этом случае управление будет передано оператору, следующему за оператором WEND.
Пример 9: Вычислить функцию y=sin(x) при изменении x от 0,1 до 2 с шагом 0,01, найти значение х, соответствующее максимуму функции на заданном интервале.
X=0.1
MAX= - 1000
XMAX=0.1
WHILE X<=2
Y=SIN(X)
IF Y>MAX THEN MAX=Y: XMAX=X
PRINT X, Y
X=X+0.01
WEND
PRINT MAX, XMAX
END
Циклы с постусловием начинается оператором REPEAT:
REPEAT
Операторы тела цикла
UNTIL_числовое выражение
Числовое выражение – любое числовое выражение. При выполнении цикла c постусловием, сначала выполняются операторы тела цикла и вычисляется значение выражения в операторе UNTIL. Если это значение «ложь», то выполняются операторы цикла, следующие за оператором REPEAT, до тех пор, пока не будет встречен оператор UNTIL. Работа цикла будет завершена тогда, когда логическое выражение в операторе UNTIL будет ««истина», в этом случае управление будет передано оператору,
следующему за оператором UNTIL.
Пример 10: Вычислить функцию y=sin(x) при изменении x от 0,1 до 2 с шагом 0,01, найти значение х, соответствующее максимуму функции на заданном интервале.
X=0.1
MAX= - 1000
XMAX=0.1
REPEAT
Y=SIN(X)
IF Y>MAX THEN MAX=Y: XMAX=X
PRINT X, Y
X=X+0.01
UNTIL X>2
PRINT MAX, XMAX
END
Циклы могут быть вложенными друг в друга в любом сочетании, но внутренние циклы должны целиком помещаться внутри внешних циклов. Если вложены друг в друга два цикла FOR…NEXT, то они должны иметь различные управляющие переменные.
Примером использования вложенных циклов можно считать работу с двухмерными массивами (матрицами).
Пример 11: Задать значения элементов двумерного массива и распечатать его. В данном примере внешний цикл имеет управляющую переменную I, внутренний цикл имеет управляющую переменную J.
DIM А(5,8)
FOR I=1 TO 5
FOR J=1 TO 8
А(I,J)=INT(RND*200)-50
PRINT А(I,J);
NEXT J
NEXT I
END