Циклические операторы. Оператор цикла со счетчиком
Оценка 4.6

Циклические операторы. Оператор цикла со счетчиком

Оценка 4.6
Рабочие тетради
doc
информатика
10 кл—11 кл
25.04.2017
Циклические операторы. Оператор цикла со счетчиком
Занятие строится таким образом, что после прослушивания теоретического материала (10 –15 мин.), учащимся предлагается практическое задание, которое выполняется ими за 20 - 30 мин. и корректируется в процессе изучения материала в более сложную задачу по изучаемой теме. Автор сознательно избегал сложных примеров, будучи убежденными, в том, что гораздо важнее для учащихся понимание алгоритмов предлагаемых задач, приобретение навыков разработки алгоритмов, их программирования и выполнения на компьютере в течение одного занятия. Такой подход к изучению языка программирования позволяет сосредоточить внимание на самом процессе программирования, который в данном случае более важен для изучения языка, чем решение сложной задачи, наверняка трудной большинству учащихся. Такие задачи, по мнению авторов, неоправданно занимают большое количество учебного времени, превращая учителя из инициатора процесса обучения в диктатора.
Занятие 5ч1.doc
Циклические операторы. Оператор цикла со счетчиком        Занятие 5 1. Урок 1. Организация   циклических   операций  операторами   безусловного   и условного переходов. 2. Урок 2. Оператор цикла со счетчиком. 3. Урок 3. Практическая работа. 4. Контрольные вопросы и упражнения.  Цикл   ­   это  последовательность  операторов,  которая  может  выполняться  более одного  раза.    В  TP  7.0 имеется несколько операторов организации циклических операций, которые будут нами рассмотрены. Урок  1. Организация    циклических     операций    операторами   безусловного   и    условного переходов 1.1. Оператор безусловного перехода. 1.2. Оператор условного перехода. 1.3. Организация циклической операции.  Практический пример. Pascal­программа   состоит   из   операторов,   которые   выполняются   последовательно   один   за   другим.   Иногда требуется  изменить последовательный  ход выполнения  операторов  программы.  Для этих  целей  служат  операторы безусловного   и   условного   переходов,   которые   предназначены   для   изменения   порядка   выполнения   операторов   в программе. 1.1. Оператор безусловного перехода В  TP  7.0 существует только один оператор безусловного перехода, который изменяет последовательность выполнения   операторов   в   программе  без   всякого   условия.   После   выполнения   оператора   безусловного   перехода, выполняется оператор, помеченный меткой. Оператор безусловного перехода имеет следующий формат: GoTo  <Метка>; где <Метка>  ­  идентификатор (имя метки), или целое число (без знака) от 0 до 9999. Все используемые в программе метки перечисляются в разделе Label описательной части программы. В теле программы метка записывается в начале необходимой строки. После метки ставится двоеточие. Частое использование оператора безусловного перехода в программе может привести к путанице и  логическим ошибкам. 1.2. Оператор условного перехода Оператор условного перехода изменяет последовательность выполнения операторов программы, по какому либо логическому условию. После выполнения оператора условного перехода выполняется оператор, помеченный меткой. Оператор  условного перехода имеет следующий формат: if  <Логическое условие>  then    [else  ]; <Логическое условие>   ­  булевы выражения, операнды которых могут быть записаны явно или вычислены в где программе;   ­  операторы безусловного перехода. Квадратные скобки означают, что эта запись может отсутствовать. Рассмотрим,   на   примере   программы   вычисления   таблицы   умножения   двух   чисел,     действие   операторов безусловного и условного переходов. Program V1L06P1;{Таблица умножения двух чисел с операторами безусловного и условного  переходов} Uses Crt; Label met,100; Var a,b,c,i:integer; {} begin ClrScr; Write('Введи целое двухзначное число a: '); Read(a); Write('Введи целое двухзначное число b: '); Read(b); i:=1; met: {Начальное значение счетчика} {Метка расположена в отдельной строке} {Описание меток} {Описание переменных} c:=a*i; if i>b then GoTo 100; WriteLn(a:3,' * ',i:3,' = ',c:5); i:=i+1;     {Условный переход} {'c' назначен формат вывода 5 знакомест} {Счетчик итераций} 31 Циклические операторы. Организация циклических операций операторами безусловного и условного переходов. Оператор цикла со счетчиком GoTo met; {} 100: ReadKey end.     {Безусловный переход} {Метка расположена в строке процедуры} Произведения двух чисел будут вычисляться до тех пор, пока счетчик будет меньше 9. Это обеспечивается безусловным   переходом   на   оператор   вычисления   произведения   (метка  met)   и   условным   переходом   на   оператор, помеченный меткой 100. Оператор условного перехода работает следующим образом. Если (if) логическое условие  (b>9)  верно (true), то  (then)  выполнится  оператор,  помеченный  меткой  100,  если нет,  то  вновь  будут    выполняться    операторы, стоящие за меткой met  до тех пор,  пока  переменная b не будет больше 9.  Следующая программа позволяет вычислить таблицу умножения двух чисел с использованием только одного оператора безусловного перехода. Program V1L06P2;{Таблица умножения двух чисел с операторами безусловного и условного  переходов} Uses Crt; Label met; Var a,b,c,i:integer; {} begin ClrScr; Write('Введи целое двухзначное число a: ');Read(a); Write('Введи целое двухзначное число a: ');Read(b); i:=1; met: {Начальное значение счетчика} {Описание меток} c:=a*b; WriteLn(a:3,' * ',i:3,' = ',c:5); i:=i+1; if i>b then ReadKey else GoTo met {} end. {Счетчик итераций} {Условный переход} Возможные результаты работы программ Вариант 1 Введи целое число a:  3 Введи целое число b:  5  Вариант 2 Введи целое число a:  123  Введи целое число b:  5   3 * 1 =     3   3 * 2 =     6   3 * 3 =     9   3 * 4 =    12   3 * 5 =    15 123 * 1 =  123 123 * 2 =  246 123 * 3 =  369 123 * 4 =  492  123 * 5 =  615 Условный переход в этой программе работает следующим образом. Если (if) логическое условие верно (true), то  (then) выполняется оператор  ReadKey,  иначе  (else) осуществляется  переход  на метку  met. В этой программе обошлись одной меткой. Урок  2. Оператор цикла со счетчиком Данный оператор позволяет организовать циклическую операцию, в которой до выполнения цикла известны начальное  и  конечное  значения счетчика повторений цикла.  Оператор цикла со счетчиком имеет следующий формат: for  <Переменная цикла> :=  <Н. з. с.>  to  <К. з. с.>  do  <Оператор>; где <Переменная цикла> ­  идентификатор ­ счетчик; <Н.з.с.>,   <К.з.с.>   ­   начальное и конечное значение счетчика соответственно, которые задаются явно или могут быть вычислены в программе. Переменная цикла должна иметь целый тип;   <Оператор>  ­  простой или составной оператор. В случае составного оператора,  группа операторов заключается в операторные скобки  begin  и  end. Оператор работает следующим образом. Циклическое выполнение оператора или группы операторов будет происходить   до   тех   пор,   пока   счетчик   будет   меньше   своего   конечного   значения.   В   процессе   выполнения   цикла показания счетчика увеличиваются на 1 с каждой итерацией. 32 {Начальное значение суммы} {Увеличение значения счетчика на 1} {Накопление суммы} Program V1L06P3; {Вычисление суммы целых чисел 1 до n} Uses Crt; Var summa,i,n: integer; {} begin ClrScr; Write ('Введи количество чисел:  '); ReadLn(n); summa:=0; {Циклическая операция} for i:=1 to n do summa:=summa+i; WriteLn ('Сумма чисел от 1 до ',n,' равна  ',summa); {} ReadKey end. Результат работы программы Введи количество целых чисел:  10 Сумма чисел от 1 до 10 равна   55   Program V1L06P4; {Вычисление произведения чисел от 1 до n} Uses Crt; Var p,i,n: longint; {} begin ClrScr; Write ('Введи количество целых чисел:  '); ReadLn(n); p:=1; В случае, когда возникает необходимость уменьшения показаний счетчика, используют следующий формат команды: for  <Переменная цикла> :=  <Н. з. с.>  downto  <К. з. с.>  do  <Оператор>; где <Переменная цикла> ­  идентификатор ­ счетчик; <Н.з.с.>,   <К.з.с.>   ­   начальное и конечное значение счетчика соответственно, которые задаются явно или могут быть вычислены в программе. Переменная цикла должна иметь целый тип; <Оператор>  ­  простой или составной оператор. В этом случае показания счетчика будут уменьшаться на 1 с каждой итерацией. Следующие простые программы демонстрируют использование оператора цикла со счетчиком. В приведенной ниже программе использован цикл с уменьшением показаний счетчика в учебных целях. {Начальное значение произведения} {Циклическая операция} for i:=n downto 1 do p:=p*i; {Уменьшение значения счетчика на 1} {Накопление произведения} WriteLn ('Произведение чисел от ',n, ' до 1 равно ',p); ReadKey end. Результат работы программы Введи количество целых чисел:  10 Произведение чисел от 1 до 10 равно  3628800 Алгоритм этих программ одинаков и заключается в накоплении результата в переменной, начальное значение которой задается. Урок  3.  Практическая работа 1. Используя программу  V1L06P3,  вычислить сумму четных значений переменной цикла. 2. Используя программу  V1L06P4, вычислить произведение чисел меньше 50, которые делятся на 3, на 5. 3. Вычислить y   1   1 n    n при  n = 2, 20 200, 2000, 3200. 4. Генератор случайных чисел генерирует 50 вещественных чисел от 0 до 5. Определить количество чисел, попадающих в диапазон  от 0.25  до 0.32 33 Циклические операторы. Организация циклических операций операторами безусловного и условного переходов. Оператор цикла со счетчиком    При решении задач 1 и 2 использовать операции   div  (целочисленное деление) и   mod  (остаток от деления целых чисел) и оператор логического условия  if … then … else. При решении задачи 3 использовать для возведения в степень   n  алгоритм многократного умножения числа само на себя (например,   a3   =   a*a*a) и накопления результата, в какой либо переменной.  Для проверки результата вычислить функцию   y, используя   математические функции  Ln (x)  и  Exp (x). При решении задачи 4 использовать процедуру  Randomize   и   функцию   Random  (x). Показать динамику расчета функции  y. Контрольные вопросы и упражнения 1. Что представляет собой циклическая операция?  Приведите примеры из жизни. 2. Как организовать счетчик итераций? 3. Как организовать циклическую операцию операторами условного и безусловного переходов? 4. Как работает оператор цикла со счетчиком? 5. Как накопить в какой либо переменной результат суммы нескольких чисел? 6. Как  накопить в какой либо переменной  результат  произведения  нескольких чисел? 7. На какую величину изменяется показание счетчика  в операторе цикла со счетчиком? 8. Напишите оператор цикла со счетчиком для вычисления суммы трех чисел, в котором начальное значение счетчика меньше конечного? 9. Напишите оператор цикла со счетчиком для вычисления произведения трех чисел, в котором начальное значение счетчика больше конечного? 10. Как получить результат возведения в степень 1024 любого числа на экране дисплея? 11. Напишите программу вычисления произведения двух целых чисел без операции умножения. 12. Напишите программу вычисления произведения трех целых чисел без операции умножения. 13. Напишите программу вычисления степени двух  целых чисел. 14. Напишите программу вычисления суммы 10­ти случайных целых чисел, которые генерируются в диапазоне 0 ­:­ 50. 15. Вычислить S 100  i  2          . 2  1 i i   1 1 16. Напишите программу определения количества четных и нечетных целых чисел, полученных их случайной генерацией в диапазоне  от  0 ­:­ 20. Количество чисел задавать с клавиатуры. 17. Напишите программу определения количества положительных и отрицательных целых чисел, полученных их случайной генерацией в диапазоне  от  20 ­:­ 20. Количество чисел задавать с клавиатуры. Для заметок, вопросов и ответов ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ 34 ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ 35

Циклические операторы. Оператор цикла со счетчиком

Циклические операторы. Оператор цикла со счетчиком

Циклические операторы. Оператор цикла со счетчиком

Циклические операторы. Оператор цикла со счетчиком

Циклические операторы. Оператор цикла со счетчиком

Циклические операторы. Оператор цикла со счетчиком

Циклические операторы. Оператор цикла со счетчиком

Циклические операторы. Оператор цикла со счетчиком

Циклические операторы. Оператор цикла со счетчиком

Циклические операторы. Оператор цикла со счетчиком
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
25.04.2017