У вас вопросы?
У нас ответы:) SamZan.net

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ДЛЯ ПРАКТИЧЕСКИХ ЗАНЯТИЙ Тема- Программирование разветвляющихся алгорит

Работа добавлена на сайт samzan.net: 2015-12-26

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 20.2.2025

КАРАГАНДИНСКИЙ ГОСУДАРСТВЕННЫЙ МЕДИЦИНСКИЙ УНИВЕРСИТЕТ

Кафедра медицинской биофизики и информатики

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ДЛЯ ПРАКТИЧЕСКИХ ЗАНЯТИЙ

Тема: «Программирование разветвляющихся алгоритмов»

Дисциплина: «Информатика»

Курс:            I

Составитель: преп. Айкумбаева А.С.  

Караганда – 2010г.


Обсуждены и утверждены на заседании кафедры медицинской биофизики и информатики

Протокол № ______ от  “ _____” __________2010 г.

Зав. кафедрой  __________________Б.К.Койчубеков        


Тема:
 «Программирование разветвляющихся алгоритмов»

Цель:     изучение порядка действий и получение навыков программирования разветвляющихся алгоритмов, непосредственный перевод словесного алгоритма или его блок-схемы на выбранный язык программирования и ввод полученной программы в компьютер.

Задачи обучения:

  1.  Уметь ясно и четко разработать  алгоритм решения поставленной задачи, т. е. структуризации, разбиения задачи на последовательность простых модулей, каждый из которых легко может быть реализован на языке программирования..
  2.  Научиться однозначно и вполне определенно понимать, что будет результатом решения задачи.
  3.  Получение навыков отладки программы, иными словами, устранения ошибок и неточностей, допущенных в организации ввода - вывода данных
  4.  Cоставить блок - схему алгоритма и написать программу согласно варианту.

    Необходимо научиться решать задачи

Форма проведения:

- решение проблемных задач;

- дискуссия.

Задания по теме

Варианты заданий (смотрите пример выполнения ниже, в разделе - раздаточный материал)

  1.  Найти корни квадратного уравнения ax2+bx+c=0. Принять во внимание, что любой из коэффициентов может быть равен нулю. Вывести результат или сообщение об ошибке.
  2.  Найти квадрат наибольшего из двух чисел a и b. Вывести наибольшее число и его квадрат.
  3.  Определить, является ли число чётным или нечётным. Вывести результат.
  4.  Упорядочить 3 введённых числа по возрастанию и убыванию. Вывести результат.
  5.  Напишите программу, которая выводит на экран меню, содержащее список трех поэтов под номерами, затем запрашивает у пользователя номер поэта и выводит на экран какое-нибудь его четверостишие, после чего возвращается в меню.
  6.  Создайте программу с использованием операторов выбора, запрашивающую номер года нашей эры и печатающую его название по восточному календарю. Для проверки: 1966 г. — год красной лошади, 1984 г. — зеленой крысы.
  7.  Создайте программу с использованием оператора условного перехода. А сейчас мы попробуем сделать пока не очень красивый, но очень простой вариант телевизионной игры "О, счастливчик!". Придумайте пять любых вопросов, и к каждому из них четыре варианта ответов. Теперь я попробую словесно описать алгоритм, а вы — перевести его на Бейсик. Итак, запрашиваем у игрока имя, и узнаем, желает ли он играть. Если не желает, прощаемся, если желает — приветствуем и предлагаем первый вопрос с вариантами ответов. Запрашиваем у игрока с клавиатуры, какой вариант он выбирает. В случае правильного ответа начисляем ему сто очков и переходим ко второму вопросу. Если ответ неверен, то отправляемся на самое начало — снова регистрация и т. д. Первый вопрос — 100 очков, второй — 200, третий — 300, четвертый — 500, пятый — 1000. Если игрок правильно отвечает на все пять вопросов, то поздравляем его и заканчиваем программу.


Раздаточный материал

Структура алгоритма:

  •  Разветвляющиеся алгоритмы

блок-схема

запись на языке программирования QBasic

                       Нет (ложь)                              Да (истина)

 REM

INPUT

Условный

оператор или оператор Выбора

………

………

………

PRINT

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. Опишите структуру данного алгоритма?




1. темах волокнокраспределительнойкоробке FTTC хвост VDSL может иметь длину до 500 м а скорость передачи пре
2. М Российское педагогическое агентство
3. 072007 N 194ФЗ от 0110
4. Башта Яктылыгы~а Ила~ы~а иреш~се~
5. темах географических компонентов и феноменов взаимосвязанных в своем историческом развитии а также техног
6.  оказавшим большое влияние на развитие этой науки
7. Органы судейского сообщества
8. 488 интерфейс общего назначения разработан фирмой HP первоначально назывался HPIB
9. Понятие права приобретает еще большую убедительность если учесть что к пяти приведенным здесь отличиям
10. На тему Центральные банки Выполнила- Варкова Валер