- •Раздел 2 Программирование на языке
- •Лабораторная работа № 1
- •1 Порядок решения задач на компьютере
- •2 Разработка линейных программ
- •Input "Ввести d, k,n"; d, k,n
- •3 Операторы read, datа, restore
- •3 Запуск qbasic, ввод и редактирование программ
- •Лабораторная работа № 2
- •2 Программы ветвления
- •Input X
- •Лабораторная работа № 3
- •1 Операторы цикла qb
- •2 Примеры программ с циклами
- •3 Контрольные вопросы
- •4 Задание
- •Лабораторная работа № 4
- •1 Программа вычисления арифметического ряда
- •2 Программы вычисления факториалов
- •3 Алгоритм итерационного цикла
- •4 Контрольные вопросы
- •5 Задания
- •Лабораторная работа № 5
- •1 Программа "цикл в цикле"
- •2 Программа "цикл и ветвление"
- •3 Программа "цикл в цикле и ветвление"
- •4 Контрольные вопросы
- •5 Задания
- •Лабораторная работа № 6
- •1 Одномерные массивы - векторы
- •2 Двумерные массивы – матрицы. Обработка массивов
- •3 Контрольные вопросы
- •4 Задания
- •Лабораторная работа № 7
- •1 Функции пользователя
- •3 Процедуры. Операторы sub и end sub
- •Лабораторная работа № 8
- •1 Графические операторы qbasic
- •2 Программа рисования графических объектов
- •3 Построение графиков функций
- •4 Контрольные вопросы
- •5 Задание
2 Программы вычисления факториалов
Пример 2 Вычислить значение факториала n = 8!
Факториалом n! называется произведение натуральных чисел от 1 до n, т.е. n! = 1∙2∙3∙…∙n. Например, 3!=1∙2∙3, 6!=1∙2∙3∙4∙5∙6.
Таким образом, в примере требуется найти произведение натуральных чисел от 1 до 8.
Программа:
CLS
n = 1 'первое число факториала
N = 1 'начальное значение факториала
L1: N = N*(n + 1) 'накопление факториала N!
n = n + 1 'следующее число факториала
IF n < 8 THEN L1 ' проверка достижения значения 8!
?N ' печать N
n |
N |
1 |
1 |
|
1*2 |
2 |
2!*3 |
3 |
3!*4 |
… |
… |
7 |
7!*8 |
Ручное выполнение программы:
Проверка показывает, что факториал формируется как произведение предпоследнего и последнего значений переменной n.
Пример 2 Вычислить сумму нечётных факториалов s = 1! + 3! +5! +7! +… до s = 1000.
Программа суммы нечётных факториалов может иметь вид:
N = 1: n = 1: s = 1 ' s – начальная сумма факториалов
WHILE s <= 1000 'проверка конца цикла
N = N*(n+1)*(n+2) 'вычисление нечётного факториала
s = s + N 'накопление суммы факториалов
n = n + 2 ' приращение n
WEND
?s
END
Пример 3 Вычислить сумму чётных факториалов
s = 2! + 4! +6! +8! +… до s = 1000.
Программа суммы чётных факториалов может иметь вид:
CLS: N = 2: n = 2: s = 2 ' s=2! – начальная сумма факториалов
80
DO UNTIL s > 1000 'проверка конца цикла
N = N*(n+1)*(n+2) 'вычисление чётного факториала
s = s + N 'накопление суммы факториалов
n = n + 2 ' приращение n
LOOP
?s
n |
N |
s |
2 |
2 |
2 |
|
2*3*4 |
2+4! |
4 |
4!*5*6 |
2+4!+6! |
6 |
6!*7*8 |
2+4!+6!+8! |
… |
… |
|
7 |
7!*8 |
|
n |
N |
s |
2 |
2 |
2 |
|
2*3*4 |
2+4! |
4 |
4!*5*6 |
2+4!+6! |
6 |
6!*7*8 |
2+4!+6!+8! |
… |
… |
|
7 |
7!*8 |
|
n |
N |
s |
2 |
2 |
2 |
|
2*3*4 |
2+4! |
4 |
4!*5*6 |
2+4!+6! |
6 |
6!*7*8 |
2+4!+6!+8! |
… |
… |
|
7 |
7!*8 |
|
n |
N |
s |
2 |
2 |
2 |
|
2*3*4 |
2+4! |
4 |
4!*5*6 |
2+4!+6! |
6 |
6!*7*8 |
2+4!+6!+8! |
… |
… |
|
7 |
7!*8 |
|
n |
N |
s |
2 |
2 |
2 |
|
2*3*4 |
2+4! |
4 |
4!*5*6 |
2+4!+6! |
6 |
6!*7*8 |
2+4!+6!+8! |
… |
… |
|
7 |
7!*8 |
|
-
n
N
s
2
2
2
2*3*4
2+4!
4
4!*5*6
2+4!+6!
6
6!*7*8
2+4!+6!+8!
…
…
7
7!*8