Будь умным!


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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

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

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

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

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

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

Курс:            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. Технология гидравлического разрыва пласта
2. Реферат- Лимон
3. Дистанционное образование с помощью Internet
4. 2012 1050 Зареєстровано в Міністерстві юстиції України 17 грудня 2012 р
5. Сущность и причины возникновения экономического романтизма
6. Во что обходится нерациональная оргструктура
7. Тема Рослинництво в рідному краї
8. детские инфекционные болезни
9. 214. В данной главе дается то что логически следовало бы излагать позднее.html
10. Русско-финская война
11. 95 ВУС Муронова средства связи
12. Реферат- Терминальные состояния
13. ВВЕДЕНИЕ 1 ОБЗОР ЛИТЕРАТУРЫ Состояние рынка молочных продуктов в России и в Краснодарском крае
14. реферат дисертації на здобуття наукового ступеня кандидата економічних наук Київ ~
15. на тему- ldquo;Козацька педагогіка як унікальне явище світової педагогічної думкиrdquo;
16. Приемы и уловки спора
17. Психология личности Структура личности Способности и задатки1
18. БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ имени Максима Танка Факультет социально ~ пед
19. Христианство1
20. Уренгойская Детская художественная школа РАССМОТРЕНОна заседан