
- •Самарский государственный университет путей сообщения
- •Информатика Основы программирования на языке qBasic
- •Введение
- •1) Константы
- •2) Переменные
- •1) Арифметические выражения
- •2) Условные выражения
- •3) Логические выражения
- •4) Символьные выражения
- •1) Оператор комментариев
- •2) Оператор ввода данных input
- •Input “Введите значения х, у”; х, у
- •3) Оператор вывода данных print
- •Р ис.1. Окно редактирования qBasic
- •Задание 2. Таблица умножения
- •Лабораторная работа №2. Программирование линейных алгоритмов
- •Задание 1. Программа нахождения суммы двух чисел
- •Задание 2. Программа нахождения суммы квадратов двух чисел, введенных с клавиатуры
- •Задание 3. Программа нахождения длины окружности и площади круга
- •Задание 4. Вычисление площади треугольника
- •Задание 5. Программа нахождения значения функции
- •Задание 6. Самостоятельное решение задач
- •Контрольное задание № 1 Вариант вашего задания задает преподаватель!
- •Отчет по заданию оформите в письменном виде!
- •Лабораторная работа №3. Разветвляющиеся алгоритмы
- •Задание 1. Использование условного оператора
- •Задание 2. Нахождение максимума двух чисел
- •Задание 4. Решение задач с использованием условного оператора
- •Задание 5. Решение задач на нахождение минимума и максимума
- •Задание 6*. Самостоятельное решение задач повышенной сложности
- •Тестовое задание Вариант вашего задания совпадает с номером вашего компьютера!
- •Контрольное задание №2 Вариант вашего задания задает преподаватель!
- •Отчет по заданию оформите в письменном виде!
- •Лабораторная работа №4. Программирование циклических алгоритмов
- •Пример 2. Алгоритм Евклида.
- •Пример 3. Табулирование функции на отрезке
- •Пример 4. Нахождение суммы
- •Задание 1. Решение задач по теме Номера задач задает преподаватель!
- •Номера задач задает преподаватель!
- •Контрольное задание № 3 Вариант вашего задания задает преподаватель!
- •Отчет по заданию оформите в письменном виде!
- •Лабораторная работа №5. Одномерные массивы
- •Оператор описания массива dimension
- •Пример 1. Ввод и вывод элементов массива
- •Пример 2. Заполнение элементов массива случайными числами
- •Пример 3. Расчет элементов массива по формуле
- •Пример 4. Нахождение максимального элемента массива и его номера
- •Пример 5. Нахождение суммы элементов массива
- •Пример 6. Нахождение количества элементов массива
- •Задание 1. Решение задач по теме Номера задач задает преподаватель!
- •Контрольное задание №4 Вариант вашего задания задает преподаватель! Отчет по заданию оформите в письменном виде!
- •Библиографический список
Лабораторная работа №4. Программирование циклических алгоритмов
Цель работы: Овладеть навыками программирования алгоритмов циклической структуры.
Алгоритм называется циклическим, если он содержит многократное выполнение одних и тех же ветвей при различных значениях промежуточных данных. Различают циклы с параметрами и циклы с условием.
В QBasic используется три формы оператора цикла, с помощью которых можно осуществить многократно повторяющиеся вычисления:
оператор цикла с предусловием;
оператор цикла с постусловием;
оператор цикла с параметром.
О
ператор цикла с предусловием WHILE:
WHILE <условие>
<оператор>
WEND
или
WHILE <условие>
<оператор 1>
<оператор 2>
…
<оператор N>
WEND
Если <условие> принимает значение TRUE, то выполняется <оператор> (или группа операторов), после чего повторяется проверка <условия>. В противном случае оператор WHILE прекращает работу и управление передается на следующий после него оператор программы.
2
)
Оператор
цикла с постусловием
DO …
WHILE:
DO
<оператор 1>
<оператор 2>
…
<оператор N>
LOOP UNTIL <условие>
Здесь оператор или группа операторов, записанная после слова DO, выполняется до тех пор, пока <условие> остается ложным (FALSE). Как только <условие> принимает значение TRUE, выполнение оператора цикла прекращается.
3) Оператор цикла с параметром FOR:
Оператор FOR используется в том случае, когда заранее известно сколько раз должен выполняться цикл. Структура оператора FOR:
FOR i = xn TO xk STEP h
<оператор
1>
<
тело цикла
…
<оператор N>
NEXT i
где
i – параметр цикла;
xn, xk – начальное и конечное значения переменной i;
h – изменение (шаг) значения параметра. По умолчанию h =1.
Операторы FOR и NEXT используются только совместно: оператор FOR определяет начало цикла и проверку условия выхода из цикла, когда параметр цикла превысит свое значение, а оператор NEXT - его конец.
Выход из цикла можно осуществить двумя способами: 1) естественным, когда цикл выполняется заданное число раз, т.е. при проверке обнаруживается, что параметр цикла превысил конечное значение; 2) не дожидаясь естественного окончания цикла с помощью управляющего оператора GOTO, передающего управление на какой-либо оператор программы.
Пример 1. Найти сумму четных чисел от 1 до 10.
REM Сумма четных чисел от 1 до 10
s = 0
FOR i = 2 TO 10 STEP 2
s = s + i
NEXT i
PRINT "Сумма четных чисел равна "; s
END
В результате выполнения программы должно получиться число 30.
Пример 2. Алгоритм Евклида.
Алгоритм Евклида используется при подсчете НОД (наибольшего общего делителя) двух натуральных чисел.
Этот алгоритм основан на утверждении о том, что:
Н
ОД(А,
В) = А, если А = В
НОД(А, В) = НОД(А, ВА), если А < В
НОД(А, В) = НОД(А В, В), если А > В
Программа подсчета НОД сводится к повторению одной и той же последовательности действий: 1) проверка равенства чисел; 2) если они равны, то НОД найден; 3) если они не равны, то среди чисел находится максимальное и из него вычитается другое число. Алгоритм повторяется до тех пор, пока числа не сравняются между собой.
REM Алгоритм Евклида
INPUT "'Введите числа a и b "; a, b
WHILE a <> b
IF a > b THEN
a = a b
ELSE
b = b a
END IF
WEND
PRINT "НОД чисел равен "; a