Информационно-образовательный портал для учителя информатики и ИКТ     вход :: регистрация
   

Информатика и информационно-коммуникационные технологии в школе

 
   

   24.05.2018г.

Доброе утро!  

Разделы портала
 
  Планы, конспекты, презентации, методические находки, дидактический материал к уроку
 
  Настройка и использование школьной компьютерной сети
 
  Краткий теоретический материал, который можно применять на уроке...
 
  Разные полезности, программы, инструкции, советы...
 
  Как сохранить здоровье на уроках информатики
 
  Примерные экзаменационные билеты и ответы
 
  Программы для скачивания...
 
  Правила для пользователей портала
 
  Компьютерное тестирование знаний. Наш проект. Cправочное online руководство по программе
 
 
Сервисы портала
все новости...
поиск по статьям сайта...
вопросы, обсуждения, решаем проблемы вместе ...
отзывы, замечания, предложения...
проверить свои знания, пройдя тесты в режиме online...
образовательные сайты, друзья портала...
для связи с администратором портала
 
Внимание! Опрос!

ЕГЭ по информатике - ... ?

очень сложный
сложный
нормальный
лёгкий
не знаю


результаты

____________________

  Полная или частичная перепечатка каким бы то ни было способом материалов данного сайта допускается только с письменного согласия автора.
  При цитировании или ином использовании материалов ссылка на портал www.klyaksa.net обязательна.

____________________
 
Наши проекты:

MyTestX - лего и удобно

 
 
Улыбнитесь
Программист ошибается дважды: первый раз - при рождении, а второй раз - при выборе профессии.

Реклама:


 


Rambler's Top100

Рейтинг@Mail.ru
Яндекс цитирования
 
 

Начало » Конспекты школьника » Часть 1 » [Учимся программировать][Циклы]

Учимся программировать!
Конспекты школьника.

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

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

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

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

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

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

  

 

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

На языке 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 до а. Например, 5! (факториал пяти) - это 5!=1*2*3*4*5.

REM Вычислить факториал числа
a=5
f=1
FOR I=1 TO a
f=f*I
NEXT
PRINT f
END

Вы, конечно, заметили, что до начала цикла мы присвоили переменной f значение равное единице. Иначе бы мы получили в результате ноль.

В субботу вечером вы смотрите телевизор. Время от времени поглядываете на часы и если время меньше полуночи, то продолжаете смотреть телевизор, если это не так, то вы прекращаете просмотр телепередач.

    

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

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

DO WHILE условие
Тело цикла
LOOP

В этом цикле проверяется условие и если оно выполняется (ИСТИНА), то выполняется тело цикла до ключевого слова LOOP, затем условие проверяется снова ... и так до тех пор пока условие истино.

DO UNTIL условие
Тело цикла
LOOP

Этот цикл отличается от предыдущего только тем, что он выполняется до тех пор пока условие не истинно (т.е. совсем наоборот).

Пример: Вывести все натуральные числа меньше данного.

REM Вывод всех чисел меньше данного
a=0
chislo=10
DO WHILE a<chislo
PRINT a
a=a+1
LOOP
END

Стоит обратить внимание на то, что цикл может быть не выполнен ни разу (если условие первоначально не истинно, например, a=5, а chislo=4). И наоборот, если условие будет истинно при любых значениях переменный, то цикл будет выполнятся бесконечное число раз (произойдет зацикливание).

Пример цикла, который будет выполнятся бесконечное число раз:

REM зацикливание
DO WHILE a=a
PRINT "Это сообщение будет выводится на экран постоянно"
LOOP
PRINT "А это сообщение вы не увидите никогда"
END

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

    

Циклы такого вида называют - циклы с постусловием.

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

DO
Тело цикла
LOOP WHILE условие

DO
Тело цикла
LOOP UNTIL условие

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

Пример: Вычислите сумму цифр в числе.

REM Сумма цифр числа
DIM a, chislo, s AS INTEGER
INPUT "Введите число: ", chislo
a=chislo
DO
s=s+a MOD 10
a=a/10
a=INT(a)
LOOP UNTIL a=0
PRINT "Сумма цифр числа ",chislo ," равна: ", s
END

Переменную s используем для хранения суммы цифр. До начала цикла в переменную a заносим значение переменной chislo. Все дальнейшие преобразования осуществляем с переменной а. В цикле берем остаток от деления на 10 (последняя цифра числа) и прибавляем к тому, что уже есть в переменной s; делим значение переменной а на 10, берем целую часть (т.е. отбрасываем последнюю цифру числа) и заносим в а. Цикл продолжается до тех пор пока значение переменной а не окажется равным нулю (перебрали все цифры числа). Результат выводим на экран.

 

предыдущий урок :: содержание :: следующий урок

 

 

 

 

 

 

 

 

 

 

[Добавить в избранное]

 
Рекомендуем:

MyTest

Компьютерное тестирование знаний учащихся, сертификация и аттестация сотрудников.
Деcять типов заданий, локальное и сетевое тестирование...
 
Узнать больше и скачать программу MyTestXPro...
 
Обсудить на форуме и принять участие в создании банка тестов...
 
Новая группа ВКонтакте:
vk.com/MyTestXPro



Рекомендуем купить
на Ozon.ru:


Новый учебник информатики (ФГОС, Углубленный уровень. 10-11 кл.)
Полякова К.Ю.

Год выпуска: 2017


 
Реклама:
 

Разместите нашу кнопку

на своем сайте...
Инструкция


 
 

 
Реклама:

По вопросам размещения вашей рекламы на страницах портала обращайтесь к администратору по системе обратной связи.
Все предложения обсуждаются индивидуально. Ждем.

 
 


↑    

Дизайн, программирование и идея портала Клякс@.net -bas- © 2004-2016г.

    ↑