
- •Самарский государственный университет путей сообщения
- •Информатика Основы программирования на языке 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 Вариант вашего задания задает преподаватель! Отчет по заданию оформите в письменном виде!
- •Библиографический список
Лабораторная работа №3. Разветвляющиеся алгоритмы
Цель работы: Научиться использовать условный оператор для программирования разветвляющихся алгоритмов.
Алгоритм называется разветвляющимся, если он содержит несколько ветвей, отличающихся друг от друга содержанием вычислений. Выход вычислительного процесса на ту или иную ветвь алгоритма определяется условием.
Блок-схемы базовых структур разветвляющихся алгоритмов имеют вид:
1. Неполная развилка |
|
2. Полная развилка |
|
|
|
3. Вложенная развилка |
||
|
В QBasic для организации ветвления используется условный оператор. Условный оператор имеет несколько форматов записи, соответствующих приведенным блок-схемам.
1) Для неполной развилки условный оператор имеет укороченную структуру:
IF <условие> THEN <оператор>
Если <условие> справедливо (принимает значение TRUE), то программа выполняет тот оператор, который стоит после ключевого слова THEN, и дальше руководствуется обычным порядком действий. Если <уcловие>принимает значение FALSE, то оператор, стоящий после THEN не выполняется, и программа сразу переходит к оператору, следующему за условным оператором IF.
В случае, когда при выполнении условия требуется выполнить группу операторов используется структура:
IF <условие> THEN
<оператор 1>
< оператор 2>
…
<оператор N>
END IF
Важно!
Конструкция IF...THEN позволяет в зависимости от справедливости условия либо выполнить оператор, либо пропустить этот оператор.
Конструкция IF...THEN...END IF позволяет в зависимости от справедливости условия либо выполнить группу операторов, либо пропустить эту группу операторов.
Рассмотрим применение укороченного условного оператора при решении практических задач.
Пример 1. Проверить, равно ли введенное с клавиатуры число некоторому значению, и в случае равенства выдать на экран сообщение о равенстве значений.
Текст программы имеет вид:
REM Сравнение числа с каким-либо значением
INPUT "Введите а"; а
IF a = 7 THEN PRINT "Числа равны"
END
После запуска программы проверяется, равно ли введенное с клавиатуры число 7 или нет. В случае равенства на экран выводится сообщение “Числа равны”.
2) Для полной развилки (т.е. организации вычислений по двум направлениям) используется условный оператор IF...THEN...ELSE...END IF, который имеет структуру:
IF <условие> THEN
<группа операторов 1>
ELSE
<группа операторов 2>
END IF
Если <условие> принимает значение TRUE, то выполняется <группа операторов 1>, а <группа операторов 2> будет пропущена. Если <условие> принимает значение FALSE, то выполняется <группа операторов 2>, а <группа операторов 1> будет пропущена.
Важно!
Группа операторов может состоять только из ОДНОГО оператора.
П
ример
2.
Составить программу для нахождения
значения функции у
= |х
– 1| при произвольном значении х.
Как известно значение функции у
зависит от знака величины, записанной
под знаком модуля, и вычисляется по
формуле:
Текст программы имеет вид:
REM Нахождение модуля выражения
CLS
INPUT “Введите значение переменной х”; x
IF x - 1< 0 THEN
y = - x + 1
ELSE
y = x – 1
END IF
PRINT “y=”; y
3) Для вложенной развилки, когда требуется организовать вычисления по трем и более ветвям используется составной условный оператор, имеющий структуру:
IF <условие 1> THEN
<группа операторов 1>
ELSEIF <условие 2> THEN
<группа операторов 2>
ELSE
<группа операторов 3>
END IF
Если <условие 1> принимает значение TRUE, то выполняется <группа операторов 1>, а <группа операторов 2> и <группа операторов 3> будет пропущена. Если <условие 1> принимает значение FALSE, то <группа операторов 1> будет пропущена и программа перейдет к проверке <условия 2>. При этом если <условие 2> принимает значение TRUE, то выполняется <группа операторов 2>, а в противном случае <группа операторов 3>.
Пример
3.
Составить программу для вычисления
значения составной
функции
при произвольном значении х:
При решении таких задач нужно учесть, что условия на значения х делят числовую ось на три интервала (в нашем случае точки деления х = 0 и х = 1), поэтому при реализации алгоритма используется вложенный условный оператор, блок-схема которого приведена на рисунке:
R
EM
Cоставная
функция
CLS
INPUT “Введите значение х”; x
IF x < 0 THEN
y = EXP(– x + 1)
ELSEIF x > 1 THEN
y = 1 / x + SIN(x)
ELSE
y = TAN(x)
END IF
PRINT “y=”; y