Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Кафедра медицинской биофизики и информатики
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ДЛЯ ПРАКТИЧЕСКИХ ЗАНЯТИЙ
Тема: «Программирование разветвляющихся алгоритмов»
Дисциплина: «Информатика»
Курс: I
Составитель: преп. Айкумбаева А.С.
Караганда 2010г.
Обсуждены и утверждены на заседании кафедры медицинской биофизики и информатики
Протокол № ______ от “ _____” __________2010 г.
Зав. кафедрой __________________Б.К.Койчубеков
Тема: «Программирование разветвляющихся алгоритмов»
Цель: изучение порядка действий и получение навыков программирования разветвляющихся алгоритмов, непосредственный перевод словесного алгоритма или его блок-схемы на выбранный язык программирования и ввод полученной программы в компьютер.
Задачи обучения:
Необходимо научиться решать задачи
Форма проведения:
- решение проблемных задач;
- дискуссия.
Задания по теме
Варианты заданий (смотрите пример выполнения ниже, в разделе - раздаточный материал)
Раздаточный материал
Структура алгоритма:
блок-схема |
запись на языке программирования QBasic |
Нет (ложь) Да (истина) |
REM INPUT Условный оператор или оператор Выбора ……… ……… ……… END |
Начало программы начинается с команды REM (REMark комментарий, который используется в двух контекстах: 1. описывает содержание задачи; 2. используется в программе для комментария определенной строки программы, интерпретатор, встретив REM, игнорирует все последующие за этим словом символы, пример: REM *вычисление среднего артериального давления*), далее указывается последовательность действий, которые необходимо выполнить.
Эта последовательность может содержать следующие разделы:
- Ввод данных (в форме переменных, которые обозначаются символом или комбинацией символов латинского алфавита)
- Формулы (выражения), выбор которых зависит от поставленной задачи
- Операторы (их выбор связан с определенной структурой алгоритма линейной, разветвляющейся, циклической)
Конец программы - END
Организация ВВОДА/ВЫВОДА осуществляется путем обмена данными между оперативной памятью и внешними устройствами, она основана на работе с файлами.
Для работы с этими файлами используются процедуры:
INPUT и PRINT.
Пример: INPUT <список ввода>
<список ввода> - последовательность переменных (а,b,c ….) типа CHAR, STRING и любого целого или вещественного типа.
Операторы ……
PRINT <список вывода>
Безусловный переход (оператор goto)
Безусловный переход оператором goto предписывает программе свернуть с линейного пути и, беспрекословно повинуясь, перейти к метке, расположенной в любом месте программы.
В качестве метки используются натуральные числа с двоеточием после них. Метка указывается только в начале строки.
Ниже представлена метка 1 рядом со второй строкой и оператор goto в конце программы. Символ ? в данном случае означает пробел
CLS
1: ?"*"
?"?*"
9 "77* "
GOTO 1
Запустите программу и посмотрите что происходит! Программа зациклилась! В этом случае нажмите клавишу <Ctrl> и, не отпуская ее, клавишу <Break>. Это называется прервать выполнение программы.
Пояснение программы:
Программа очищает экран, затем рисует первую звездочку, под ней с отступом в один пробел вторую, потом ниже третью, а вот затем получает команду goto 1. Программа ищет метку, находит ее у команды рисования первой звездочки и начинает снова последовательно выполнять команды рисования первую, вторую, третью и снова приказ перехода, и так до бесконечности (вернее, до прерывания программы).
Условный переход (оператор IF)
Мало того, что условный переход подразумевает выполнение тех или иных команд в зависимости от проверяемого условия, так Бейсик предоставляет нам еще и несколько вариантов действий.
Начнем с классической конструкции:
IF условие... THEN выражение1... ELSE выражение2…
Или по-русски:
ЕСЛИ ... ТОГДА ... ИНАЧЕ
В записи условия можно использовать следующие символы:
= (равно);
> (больше);
< (меньше);
о или >< (не равно);
<= или =< (меньше или равно);
>= или => (больше или равно).
Пример
CLS
1:INPUT "Введите любое число"; Х
IF X>=0 THEN ? "Корень квадратный из X ="; SQR (X) ELSE ?"Корень квадратный из отрицательного числа вычислять отказываюсь. Дайте положительное число!":GOTO 1
Пояснение: В вышеуказанном примере - X>=0 это условие. Программа анализирует введенное значение и, в случае его положительности (при выполнении условия), вычисляет корень, а в случае отрицательности (не выполнения условия) просит у пользователя другое число.
Сложные условия.
Если для выполнения тех или иных действий нужно одновременное выполнение двух и более условий, то они объединяются логической связкой AND (И). AND- это логический оператор, используемый при построении сложных условий.
пример: CLS
INPUT "Как Вас зовут?"; N
INPUT "Каков Ваш рост в см"; R
INPUT "Каков Ваш вес в кг"; М
IF R>=180 AND M>=80 THEN ?"Вы - достойный кандидат
в гренадеры, "; N ELSE ? N; "1, к сожалению, вы в гренадеры
не годитесь"
Если есть несколько условий и для организации тех или иных действий достаточно выполнения хотя бы одного из этих условий, то применяется логическая связка OR (ИЛИ). OR - это логический оператор, используемый при построении сложных условий.
CLS
INPUT "Введите значение X"; X
IF X<0 OR X>=0 THEN PRINT "число положительное"
Оператор выбора SELECT
Для организации меню, т. е. выбора из нескольких возможностей, применяется оператор выбора, который позволяет, в зависимости от значения переменной, делать те или иные действия.
Она выполняет один из нескольких блоков операторов в зависимости от значения выражения.
SELECT CASE тест_выражение
CASE список_выражений1
[блок_ операторов_1]
[CASE список_выражений2
[блок операторов_2]}
[CASE ELSE
[блок_операторов_n]}
END SELECT
Здесь тест_выражение любое числовое или строковое выражение; список_выражений1, список_выражений2 ОДНО ИЛИ несколько выражений для сравнения с параметром тест_выражение, блок_операторов_1, блок_операторов_2, блок_ операторов_n один или несколько операторов в одной или нескольких строках.
Рассмотрим пример (данный оператор мы применяли при подсчете рейтинга):
Public Function Оценка (X)
Select Case X
Case "A"
Оценка = 4
Case "A-"
Оценка = 3.67
Case "B+"
Оценка = 3.33
Case "B"
Оценка = 3
Case "B-"
Оценка = 2.67
Case "C+"
Оценка = 2.33
Case "C"
Оценка = 2
Case "C-"
Оценка = 1.67
Case "D+"
Оценка = 1.33
Case "D"
Оценка = 1
Case "F"
Оценка = 0
End Select
End Function
Пояснение: в зависимости от значения X оператор Select выбирает значение, содержащееся в Case
Литература:
1. Фаронов В. В. Основы Турбо Паскаля. М.:МВТУ - ФЕСТО ДИДАКТИК, 1992. 285с.
2. Поляков Д.Б., Круглов И.Ю. Программирование в среде ТУРБО QBASIC. М.: Изд. МАИ, А/О "РОВУЗНАУКА" 992. 575с.
3. А.И. Вальвачев, В.О. Крисевич. Программирование на языке QBasic для персональных ЭВМ ЕС. Минск.: Высшая школа, 1989. 222с.
Контрольные вопросы:
1. Дайте определение разветвляющегося алгоритма?
2. Как осуществляется организация ввода-вывода в QBasic
4. Опишите процесс сохранения созданной вами программы в QBasic
5. Оператор условного и безусловного перехода, синтаксис написания
6. Оператор выбора, опишите его синтаксис?
7. Опишите структуру данного алгоритма?