Урок Информатики «Организация циклических программ на ЭВМ»

Тема: Организация циклических программ на ЭВМ.

Количество учебных часов: 2ч.

Актуальность темы: Понимание основ и принципов программирования, а также овладение практическими навыками представления программ в виде алгоритмов обеспечивает более глубокое представление о возможностях и методах информационных технологий в школе. Умение представлять задачу в виде последовательности элементарных действий на языке программирования способствует также и развитию в дальнейшем способности к формализации любых других задач, в том числе и при принятии клинических решений.

$Цель занятия: овладение практическими навыками составления программ с использованием операторов цикла.

Студент должен знать:

  • назначение циклов

  • синтаксис оператора цикла WHILE

  • синтаксис оператора цикла UNTIL

  • синтаксис оператора цикла FOR

  • структуру циклического алгоритма.

Студент должен уметь:

  • запускать систему про$граммирования QBASIC

  • вводить и редактировать текст программы

  • использовать цикл WHILE при составлении программ

  • использовать цикл UNTIL при составлении программ

  • использовать цикл FOR при составлении программ

  • писать циклические программы на языке QBASIC.

Базисные вопросы

  1. Что включает в себя система программирования?

  2. Как запустить систему программирования $QBasic?

  3. Как сохранить программу на диске?

  4. Как открыть программу, хранящуюся на диске?

  5. Как записывается и выполняется усл$овный оператор, записанный в полной и сокращенной формах?

  6. В каких случаях выполняется серия команд, стоящая после слова ELSE в условном операторе?

  7. С помощью каких операторов реализуется алгоритм с командой выбора на языке QBasic?

  8. Какие возможны варианты записи условий в операторе выбора и условном операторе на языке QBasic

Вопросы по теме занятия

  1. Какие алгоритмы называются циклическими?

  2. Каким образом исполняется команда повторения?

  3. Каким образом записывается команда повторения с параметром?

  4. Каким образом записывается команда повторения с параметром?

  5. Каково назначение операторов FOR, NEXT?

  6. Что будет с циклом без служебного слова STEP?

Иформационно$-дидактический блок

ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ

При решении задач часто возникает необходимость многократного повторения однотипных действий при различных значениях параметров, определяющих эти действия.

$Алгоритмы, реализующие такие действия, называются циклическими, а многократно повторяемая последовательность действий (тело цикла) — циклами. Использование циклов позволяет выполнять большие объемы вычислений с помощью компактных программ.

Различают циклы с заданным и заранее неизвестным числом повторений.

ЦИКЛЫ С НЕИЗВЕСТНЫМ ЧИСЛОМ ПОВТОРЕНИЙ

Иногда заранее неизвестно, сколько раз надо повторить цикл, но известно, что он должен выполняться, пока справедливо некоторое условие.

$

Блок-схема

QBasic

WHILE условие

тело цикла

WEND

DO WHILE или UNTIL

тело цикла $

LOOP

DO

тело цикла$

LOOP WHILE или UNTIL

Цикл выполняется до тех пор, пока условие истинно (WHILE) или пока ложно (UNTIL). Условие может проверяться до начала тела цикла или после него.

Задача: Вычислить сумму: 22 + 23 + 24 + 25.

Решение:

Команда для накап$ливания суммы выглядит так: S = S + очередное слагаемое.

Слагаемые отличаются друг от друга только значением показателя степени. Если ввести переменную X (параметр цикла), можно определить каждое слагаемое по формуле 2X где X меняется от 2 до 5 с шагом 1. Тогда S определится так:
S = S + 2^X

CLS

S=0: X=2

WHILE X

S=S+2^X

$ X=X+1

WEND

PRINT «S=»; S

Выполнение программы осуществляется следующим образом:

Вначале функция CLS очищает экран, затем переменной S присваивается значение 0 и переменной Х присваивается значение 2, после чего проверяется условие WHILE Xпока X) производить следующие операции:

S=S+2^X

X=X+1

К значению S прибавляем значение 2 в степени Х, значение Х увеличивается следом за S на 1 единицу. Как только Х станет больше 5, выполнится оператор $вывода значения на экран PRINT.

ЦИКЛЫ С ИЗВЕСТНЫМ ЧИСЛОМ ПОВТОРЕНИЙ

$ Команда повторения с параметром позволяет наглядней записывать алгоритмы циклической структуры. Параметром цикла является переменная X, которая последовательно принимает значения от Хнач до Хкон в соответствии с указанным шагом Хшаг. Механизм выполнения команды повторения с параметром аналогичен команде повторения (цикл «пока» (WHILE)). Использование команды повторения с параметром (цикла «для» (FOR)) вместо команды повторения (цикла «пока» (WHILE)) позволяет упростить запись алгоритма.

Блок-схема

$QBasic

FOR X=Xнач TO Xкон STEP Xшаг

тело цикла

NEXT X

FOR оператор начала цикла.

$ При Xшаг =1 служебное слово STEP можно опустить.

NEXT оператор конца цикла.

Сначала оператор FOR устанавливает начальное, конечное значения параметра и значение шага. Потом выполняется тело цикла для указанного начального значения параметра. Затем оператор NEXT вначале изменяет параметр на величину шага и проверяет условие окончания цикла. Если текущее значение параметра не превышает конечного значения, NEXT переводит вычислительный процесс в строку, следующую за оператором FOR, в противном случае – в строку, следующую за оператором NEXT. В отличие от цикла с неизвестным числом повторений, параметр в данном цикле может изменяться только на величину шага, т.е. Х=Х+Хшаг.

Задача: Каждая бактерия делится на две в течение одной минуты. В начальный момент времени имеется одна бактерия. Составить программу, которая рассчитывает количество бактерий на заданное целое значение момента времени.

$

CLS

INPUT Введите время: “; T

B = 1

FOR I = 1 TO T

B = B + B

NEXT I

PRINT Через “; T; “минут будет “; B; “бактерий

ВЛОЖЕННЫЕ ЦИКЛЫ

Циклы могут быть вложены один в другой. Например, представленная ниже программа подсчитывает текущий рейтинг практических занятий по введённым оценкам. Программа проверяет также правильность введения оценки (от 1 до 5), при вводе 0 – ввод оценок заканчивается и программа выдаёт значение рейтинга.

$CLS
PRINT
PRINT «=================================================»
PRINT «Программа считает текущий рейтинг.»
PRINT «Введите оценки (1,2,3,4, или 5)»
PRINT «0 завершает ввод оценок и выдается результат .»
PRINT «=================================================»
PRINT
SUM = 0
N = 0
DO
DO
INPUT
«GRADE: «, GRADE
IF GRADE OR GRADE>5 THEN
PRINT
Неправильное значение! Введите снова
END IF
LOOP UNTIL
0 AND GRADE
SUM = SUM + GRADE
N = N + 1

LOOP UNTIL
GRADE=0
N = N — 1
R = (SUM/(5*N))*100
PRINT
PRINT
«=================================================»$
PRINT
PRINT
«СПАСИБО! РЕЙТИНГ СОСТАВЛЯЕТ «;R;»%.»

Содержание занятия:

Контроль исходного уровня знаний

В начале занятия преподаватель оценивает исходный уровень знаний студентов, используя тесты, представленные в приложении 1.

Работа с преподавателем

Преподаватель объясняет студентам основные правила работы в среде программирования QBasic и составления циклических алгоритмов на языке QBasic. Под руководством преподавателя студенты пишут и запускают на выполнение примеры программ, представленные в информационно-дидактическом блок$е.

Самостоятельная работа

    1. Переделать программу подсчёта рейтинга, представленную в дидактическом блоке, так, чтобы она вначале спрашивала число занятий, по которым будут введены оценки и затем с помощью цикла FORNEXT осуществляла их ввод.

    2. Преподаватель раздаёт студентам варианты заданий для самостоятельного выполнения. Студенты должны составить программу на языке QBasic для решения предложенной задачи. Составленная программа должна выводить описание задачи и только затем предлагать ввести необходимые данные для решения задачи. Желательно при этом использовать процедуры и функции. Варианты заданий представлены ниже:

    1. Определить количество цифр во введённом числе.

    2. Найти

    3. Найти

    4. Найти $

    5. Напечатать все целые цифры от a до b.

    6. Найти

    7. Напечатать таблицу умножения для первых 10 чисел.

    8. Напечатать таблицу умножения чисел от a до b.

    9. Найти среднее арифметическое N введённых чисел.

    10. Найти среднеквадратичное отклонение N введённых чисел.

    11. Рассчитать коэффициент корреляции для 2 переменных, представленных N случаями каждая.

    Контроль итогового уровня знаний

    В конце занятия преподаватель проверяет выполнение студентами заданий для самостоятел$ьной работы и проводит устный опрос по вопросам, представленным в приложении 2.

    Рекомендуемая литература по занятию

    1. Уоллес Вонг. Основы программирования для «чайников».– Пер. с англ.– М: Издательский дом «Вильяме», 2002.– 336 с.

    2. Задачи по программированию / С.А. Абрамов, Г.Г. Гнездилова, Е.Н. Капустина, М.И. Сем$он.– М.: Наука. Гл. ред. физ.-мат. лит., 1988.– 224 с.

    3. Касаткин В.Н. Информация, алгоритмы, ЭВМ.– М.: Просвещение, 1991.– 192 с.

    Приложение 1

    Тестовые вопросы для оценки исходного уровня знаний.

    1 вариант

    1. Характеристика циклического алгоритма:

    1. содержит один или несколько циклов;

    2. не содержит логических условий и имеет одну ветвь вычислений;

    C) содержит одно или несколько логических условий;

    D) не содержит вычислений;

    Е) все ответы верны.

    2. Для чего$ нужны операторы цикла:

    a) для определения порядка выполнения программы

    b) для вычисление различных функций

    c) для многократного повторения однотипных действий

    d) для настройки QBasic$

    e) для облегчения работы в операционной системе

    3. Многократно повторяемая последовательность действий называется:

    a) константой

    b) оператором

    c) переменной

    d) параметром

    e) циклом

    4. Выберите оператор цикла c неизвестным числом повторений:

    a) IF$

    b) WHILE

    c) FOR

    d) END

    e) ELSE

    5. Выберите оператор цикла c известным числом повторений:

    a) WHILE

    b) IF

    c) FOR

    d$) END

    e) ELSE

    6. Какой цикл выполняется до тех пор, пока условие истинно:

    a) END

    b) IF

    c) FOR

    d) WHILE

    $ e) ELSE

    7. Какой цикл выполняется до тех пор, пока условие ложно:

    a) FOR

    $ b) IF

    c) UNTIL

    d) WHILE

    e) ELSE

    8. Тело цикла располагается в операторных скобках:

    a) DO, LOOP UNTIL

    b) IF, THEN, ELSE

    c) FOR, TO

    d) WHILE, UNTIL

    e) ELSE, END

    9. Тело цикла располагается в операторных скобках:

    a) ELSE, END

    $b) IF, THEN, ELSE

    c) FOR, TO

    d) WHILE, UNTIL

    e) DO, LOOP WHILE

    10. До каких пор выполняется тело цикла в цикле с известным числом повторений:

    a) пока не прервешь вычисление самостоятельно

    b) пока текущее значение параметра не превышает конечного значени$я

    c) до завершения программы

    d) до тех пор пока истинно значение после оператора WHILE

    $ e) пока программа не достигнет оператора END

    2 вариант

    1. Алгоритм содержащий один или несколько циклов называется:

    1. циклический;

    2. линейный;

    C) разветвлённый;

    D) подпрограммой;

    Е) все ответы верны.

    2. Для многократного повторения однотипных действий используют:

    $a) подпрограммы

    b) оператор ELSE

    c) операторы цикла

    d) настройки QBasic

    e) мышь

    3. Циклом называется:

    $ a) линейный алгоритм

    b) многократно повторяемая последовательность действий

    c) переменная изменяемой величины

    d) параметр

    e) константа

    $4. WHILE — это:

    a) оператор цикла c неизвестным числом повторений

    b) оператор цикла c известным числом повторений

    c) продолжение оператора FOR

    d) оператор конца программы

    e) оператор выбора

    5. FOR — это:

    a) оператор цикла c неизвестным числом повторений

    b) оператор цикла c известным числом повторений

    $ c) продолжение оператора FOR

    d) оператор конца программы

    e) оператор выбора

    6. WHILE выполняется до тех пор, пока:

    a) условие ложно

    b) невыполнимо

    c) неопределимо

    d) самодостаточно

    e) условие истинно

    $7. UNTIL выполняется до тех пор, пока:

    a) условие ложно

    b) невыполнимо

    c) неопределимо

    d) самодостаточно

    $ e) условие истинно

    8. В операторных скобках DO, LOOP UNTIL располагается:

    a) тело цикла

    b) оператор конца программы

    $c) файл программы

    d) оператор начала программы

    e) окно результатов

    9. В операторных скобках DO, LOOP WHILE располагается:

    a) окно результатов

    b) оператор конца программы

    c) файл программы

    d) оператор начала программы

    e) тело цикла

    10. До тех пор, пока текущее значение параметра не превышает конечного значения, выполняется:

    a) тело цикла в цикле с неизвестным числом повторений

    b) определение зависимости программы от пользователя

    $ c) тело цикла в цикле с известным числом повторений

    d) расчёт корреляций в программе STATISTICA

    e) завершение программы

    Приложение 2

    Контрольные вопросы для заключительного контроля знаний
    1. Что называ$ют циклическими алгоритмами?

    2. Какую функцию выполняет оператор FOR?

    3. Каково назначение операторов WHILE, DO?

    4. Служебное слово STEP?

    5. Каким образом исполняется команда повторения?

    6. $ Каким образом записывается команда повторения с параметром?

    7. Каково назначение операторов FOR, NEXT?

    8. Что будет с циклом без служебного слова STEP?

    Post Comment