Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Журнал л.р. по информатике 1 курс.doc
Скачиваний:
681
Добавлен:
09.04.2015
Размер:
1.4 Mб
Скачать

Лабораторная работа №7

Тема: Программная реализация несложного алгоритма

Цель: изучить на основе готовой программы операторы циклической структуры языка QBasic и научиться составлять программы с использованием операторов цикла «ДО» и «ПОКА».

Теоретические сведения к лабораторной работе

  1. Определение циклической программы

Если необходимо выполнить одинаковые действия, в которых изменяется только какая-либо величина, то применяются операторы цикла.

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

  1. Виды операторов цикла

  • Оператор цикла «ДО»

Общий вид оператора:

FOR K=Kнач TO Kкон STEP ∆K

Заголовок цикла

P

Тело цикла (перечень операторов)

NEXT K

Окончание цикла

Где FORимя оператора («ДЛЯ»)

K– переменная, называемая параметром цикла

Kнач– начальное значение параметра цикла

Kкон– конечное значение параметра цикла

∆K– шаг изменения параметра цикла

TOимя оператора («ДО»)

STEPимя оператора («ШАГ»)

NEXTимя оператора («СЛЕДУЮЩИЙ»)

Работа оператора:изменение параметра происходит в строкеNEXT,там же происходит сравнение с конечным значением. Если условие выполняется, то программа возвращается на строку, стоящую после оператораFOR, если не выполняется, то на строку, следующую заNEXT.

  • Оператор цикла «ПОКА

Общий вид оператора:

WHILE <условие>

Заголовок цикла

P

Тело цикла (перечень операторов)

WEND

Окончание цикла

Где WHILEимя оператора («ПОКА»)

<условие>– условие окончания цикла (логическое выражение)

P– группа операторов, включающая рабочий блок циклического алгоритма и блок изменения переменных

WEND– оператор, завершающий цикл

Работа оператора:сначала следует операторWHILE с условием, при котором цикл выполняется. ОператорWENDявляется последней строкой цикла. Доходя до оператораWEND,проверяется выполнение условия, указанного после оператораWHILE. Если оно не выполняется, то программа переходит к исполнению операторов, следующих заWEND.

Если ∆K=1, то конструкциюSTEP можно опустить.

  1. Тестирование готовой программы

Задача №1: составить программу для вычисления суммы чисел первой сотни, которые делятся на 3.

Решение задачи:

Определяем:

Параметр цикла – переменная x;

Начальное значение параметра цикла – x:=3;

Конечное значение параметра цикла – x:=99;

Начальное значение суммы – y:=0;

Рабочий блок – y:=y+x

Проверка окончания цикла – x<99;

Формула изменения параметра цикла – x:=x+3.

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

цикл типа «ДО»

CLS

Очистка экрана от предыдущих значений

REMПроизведение

Название программы

y=0

Начальное значение суммы

FOR x=3 TO 99 STEP 3

Начало цикла «ДО», указывается начальное значение параметра цикла x=3, конечное значение параметра цикла 99 и шаг изменения параметра цикла

y=y+x

Вычисление суммы чисел

NEXT x

Завершение цикла «ДО»

PRINT “сумма y=”; y

Вывод искомой суммы

END

Завершение программы

цикл типа «ПОКА»

CLS

Очистка экрана от предыдущих значений

REMПроизведение

Название программы

y=0:x=3

Начальное значение суммы и параметра цикла

WHILE x<=99

Начало цикла «ПОКА»

y=y+x

Вычисление суммы чисел

x=x+3

Изменение параметра цикла с указанием шага параметра

WEND

Завершение цикла «ПОКА»

PRINTсумма y=”; y

Вывод искомой суммы

END

Завершение программы

Задача №2: составить программу для вычисления значения суммы.

Решение задачи:

Определяем:

  1. Параметр цикла – переменная k;

  2. Начальное значение параметра цикла – k:=4;

  3. Конечное значение параметра цикла – k:=12;

  4. , где S– промежуточная сумма и.

  5. Начальное значение промежуточной суммы – S:=0;

  6. Рабочий блок –.

  7. Проверка окончания цикла – ;

  8. Формула изменения параметра цикла – k:=k+1.

цикл типа «ДО»

CLS

Очистка экрана от предыдущих значений

REMСумма

Название программы

INPUT «Введите x»; x

Ввод исходных данных

IF x=4 THEN GOTO 1 ELSE GOTO 2

Проверка знаменателя на 0, если знаменатель равен нулю, то осуществляется переход к завершению программы, если не равен нулю– то к строке начала цикла

2 S=0

Начальное значение суммы

FOR k=4 TO 12 STEP 1

Начало цикла «ДО», указывается начальное значение параметра цикла k=4, конечное значение параметра цикла 12 и шаг изменения параметра цикла

S=S+x^2*(k+1)/(x-4)

Вычисление промежуточной суммы

NEXT k

Завершение цикла «ДО»

z=31*x^2+5*S

Вычисление итоговой суммы

PRINT “Сумма z=”; z

Вывод искомой суммы

1: END

Завершение программы

цикл типа «ПОКА»

CLS

Очистка экрана от предыдущих значений

REMСумма

Название программы

INPUT «Введите x»; x

Ввод исходных данных

IF x=4 THEN GOTO 1 ELSE GOTO 2

Проверка знаменателя на 0, если знаменатель равен нулю, то осуществляется переход к завершению программы, если не равен нулю– то к строке начала цикла

2 S=0: k=4

Начальное значение суммы и параметра цикла

WHILE k<=12

Начало цикла «ПОКА»

S=S+x^2*(k+1)/(x-4)

Вычисление промежуточной суммы

k=k+1

Изменение параметра цикла с указанием шага параметра

WEND

Завершение цикла «ПОКА»

z=31*x^2+5*S

Вычисление итоговой суммы

PRINT “Сумма z=”; z

Вывод искомой суммы

1: END

Завершение программы