Изучаем язык BASIC. Занятие 10. Циклы в алгоритмах и программах

Раздел Информатика
Класс -
Тип Конспекты
Автор
Дата
Формат doc
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Занятие 10

Циклы в алгоритмах и программах.

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

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

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

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

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

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

Изучаем язык BASIC. Занятие 10. Циклы в алгоритмах и программах. Изучаем язык BASIC. Занятие 10. Циклы в алгоритмах и программах.

Циклы с известным числом повторов называются - циклы со счетчиком.

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

FOR Счетчик=НачЗнач TO КонЗнач [STEP шаг]

тело цикла

NEXT [Счетчик]

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

Пример: Вывести на экран все числа от 1 до 100. Для этого можно было бы написать следующую программу:

REM Вывод чисел от 1 до 100

PRINT 1

PRINT 2

PRINT 3

PRINT 4

PRINT 5

PRINT 6

PRINT 7

...

PRINT 98

PRINT 99

PRINT 100

END

Всего каких-то 102 строчки ;-). Хотя эту же программу можно написать намного короче:

REM Вывод чисел от 1 до 100

FOR I=1 TO 100

PRINT I

NEXT

END

Немного исправив программу можно сделать, чтобы она выводила все числа от a до b.

REM Вывод чисел от a до b

a=55

b=107

FOR I=a TO b

PRINT I

NEXT

END

В этом случае счетчик при первом прохождении цикла принимает значение переменной a, после чего выполняются операторы до ключевого слова NEXT. После этого счетчик увеличивается на единицу и сравнивается со значение переменной b, если счетчик меньше, то цикл выполняется еще.

Легко сделать чтобы программа выводила числа в обратном порядке. Для этого шаг цикла должен быть равен -1 (минус один). В этом случае значение счетчика каждый раз после прохождения цикла будет уменьшено на единицу.

REM Вывод чисел от b до a

a=55

b=107

FOR I=b TO a STEP -1

PRINT I

NEXT

END

Пример: Вычислить сумму двухзначных натуральных чисел.

REM Вычислить сумму двухзначных натуральных чисел

FOR I=10 TO 99

s=s+I

NEXT

PRINT "Результат = ",s

END

Программа перебирает числа от 10 до 99 каждый раз выполняя действия s=s+I. С точки зрения математики это совершенно бессмысленная запись, но рассмотрим её внимательней.

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

В результате операции а=5 переменная а получает значение 5.

В результате операции с=a+b переменная с получает значение равное сумме значений переменной а и b.

В результате операции s=s+I переменная s получает значение равное сумме предыдущего значения переменной s и значения переменной I. Т.е., если до операции присваивания значение s было равно 5, а переменной I равно 3, то после операции значение переменной s будет равно 8 (5+3, старое значение s + значение I).

Значит после выполнения нашей программы в переменной s будет хранится сумма всех двузначных чисел от 10 до 99.

Найти сумму всех чисел от 1 до N

CLS

INPUT "N= ";N

S=0

FOR I=1 TO N

S=S+I

NEXT I

PRINT "S= ";S

END

Найти сумму всех четных чисел от 1 до N

CLS

INPUT "N= ";N

S=0

FOR I=0 TO N STEP 2

S=S+I

NEXT I

PRINT "S= ";S

END

I/2=I\2 - четные

I/2<>I\2 - нечетные

I/3=I\3 - кратные 3

I/3<>I\3 - некратные 3

Второй вариант

CLS

INPUT "N= ";N

S=0

FOR I=1 TO N

IF I/2=I\2 THEN S=S+I

NEXT I

PRINT "S= ";S

END

Подсчитать сумму квадратов двузначных чисел.

cls

S=0

FOR I=10 TO 99

s=s+I^2

NEXT

PRINT "Результат = ",s

END

Изучаем язык BASIC. Занятие 10. Циклы в алгоритмах и программах.

CLS

INPUT "N= ";N

S=0

FOR I=1 TO N

S=S+1/I

NEXT I

PRINT "S= ";S

END

Домашнее задание.

Изучаем язык BASIC. Занятие 10. Циклы в алгоритмах и программах.Изучаем язык BASIC. Занятие 10. Циклы в алгоритмах и программах.Изучаем язык BASIC. Занятие 10. Циклы в алгоритмах и программах.Изучаем язык BASIC. Занятие 10. Циклы в алгоритмах и программах.

© 2010-2022