Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Конспекты / Изучаем язык BASIC. Занятие 10. Циклы в алгоритмах и программах.

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



Осталось всего 2 дня приёма заявок на
Международный конкурс "Мириады открытий"
(конкурс сразу по 24 предметам за один оргвзнос)


  • Информатика

Поделитесь материалом с коллегами:

Занятие 10

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

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

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

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

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

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

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

hello_html_m1f073019.png   hello_html_m6aa928d1.png

 

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

На языке 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

hello_html_6ea00fc4.gif

CLS

INPUT “N= “;N

S=0

FOR I=1 TO N

S=S+1/I

NEXT I

PRINT “S= “;S

END

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

hello_html_416579ba.gifhello_html_55d5e6eb.gifhello_html_m32081fcd.gifhello_html_6095b016.gif



57 вебинаров для учителей на разные темы
ПЕРЕЙТИ к бесплатному просмотру
(заказ свидетельства о просмотре - только до 11 декабря)


Автор
Дата добавления 23.09.2015
Раздел Информатика
Подраздел Конспекты
Просмотров203
Номер материала ДВ-004613
Получить свидетельство о публикации
Похожие материалы

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