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

Циклические структуры. Материал к урокам информатики в 8 - 9 классах

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

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

Циклические структуры (8 – 9 класс)


Цикл WHILE

С помощью конструкции WHILE ... WEND можно реализовать выполнение ряда операторов до тех пор, пока выполняется определенное условие.


WHILE Условие

Тело цикла

WEND


До тех пор пока соблюдается условие, последовательно выполняются операторы тела цикла. Ключевое слово WEND закрывает конструкцию по аналогии с командой END IF. Если условие цикла больше не соблюдается, то выполнение программы продолжается, начиная с оператора, следующего за WEND. Если условие цикла WHILE не выполняется с самого начала, то управление сразу же передается оператору, расположенному за WEND. Следите за тем, чтобы действия внутри цикла влияли на WHILE-условие.

Цикл DO

Вариант 1: Вариант 2:

DO DO WHILE {или UNTIL} Условие

Тело цикла Тело цикла

[EXIT DO] [EXIT DO]

LOOP WHILE {или UNTIL} Условие LOOP


{WHILE I UNTIL} - Ключевыми словами WHILE или UNTIL определяется способ проверки условий. При использовании WHILE цикл выполняется до тех пор, пока соблюдается условие (значение логического выражения истинно). И, наоборот, при использовании UNTIL цикл выполняется только тогда, когда условие не соблюдается (значение логического выражения ложно).


EXIT DO - оператор EXIT DO преждевременно прерывает выполнение цикла. В первом варианте цикл выполняется, по крайней мере один раз, так как проверка условия находится в конце цикла, а во втором варианте цикл может вообще не выполняться, если соответствующее условие с самого начала не позволяет входить в него. Как видно из синтаксического описания, DO...LOOP может работать без проверки условий. В этом случае из бесконечного цикла можно выйти с помощью оператора EXIT DO.


Цикл FQR...NEXT

Используя оператор FOR...NEXT, можно программировать циклы, количество прохождений которых зависит от значения счетчика.


hello_html_m2094ae99.gif

Тело цикла

[EXIT FOR]

NEXT X


Х- счетчик - арифметическая переменная, которая изменяется при повторении цикла. Ее часто называют управляющей переменной цикла.

hello_html_4a3770a7.gif — начальное значение - арифметическое выражение, задающее начальное значение счетчика.

hello_html_m3cdcec4f.gif — конечное значение - арифметическое выражение, задающее конечное значение счетчика.

hello_html_m24f10c10.gif — шаг - арифметическое выражение, задающее приращение счетчика при каждом прохождении цикла. Значение шага по умолчанию принимается равным +1.

EXIT FOR — Прерывает выполнение цикла.


Операторы между FOR и NEXT повторяются до тех пор, пока управляющая переменная цикла не превысит конечное значение. После каждого прохождения цикла переменная цикла изменяется на величину шага. Если шаг — положительное число, то начальное значение переменной цикла должно быть меньше конечного значения, иначе цикл ни разу не выполнится, и, наоборот, если шаг отрицательный, то начальное значение переменной цикла должно быть больше конечного, иначе опять-таки цикл ни разу не отработает. В остальных случаях количество прохождений цикла с шагом — это ближайшее большее целое от выражения: "(конечное значение — начальное значение+1) / шаг", если шаг положительный, и "(конечное значение—начальное значение -1) / шаг", если шаг отрицательный.

Примеры


  1. Разработать программу нахождения и вывода на экран всех чисел, оканчивающихся на 5, и делящихся на 3, из диапазона чисел от 5 до 1000.

CLS

FOR i = 5 ТО 1000 STEP 5

х = i MOD 3

IF x = 0 THEN PRINT i;

NEXT i

END


  1. Определите, является ли число простым, или нет. Натуральное число N называется простым, если его делителями являются только два числа: 1 и N.

CLS

INPUT "Введите число N=", N

IF N <= 3 THEN 10

d = 2

IF N MOD 2 = 0 THEN 20

d = 3

FOR i = 1 TO N

d = d + 2

IF N MOD d = 0 THEN 20

IF N <= d * d THEN 10

NEXT i

10 PRINT "Число N-простое."

INPUT "Для продолжения - Enter.", z

END

20 PRINT "Число N-составное. Оно делится на"; d

INPUT "Для продолжения - Enter.", w

END


  1. Составить программу, которая сгенерирует случайное число между 1 и 20. Дать играющему 5 шансов, и после того, как введено число, программа должна сообщать больше или меньше введённое вами число, или поздравить с победой, или пожелать игроку победы в следующий раз, указав ему, что он на этот раз проиграл.

PRINT "Игра - угадай!"


n = INT(RND * 10) + 1

PRINT "Секретное число находится в промежутке от 1 до 10"

WHILE g <> 10 ‘ цикл до предположении = 10

INPUT "Попыток "; g

tr = tr + 1 'это счётчик попыток

WEND

PRINT "Молодец! Вы угадали моё секретное число с "; tr; "попыт(ок),(ки)"

END

Задания


  1. Вычислить значения функции Y= 5*Х2 – 4*Х + 11 на отрезке (-5,5) с шагом 1,5;


  1. Вычислите сумму, если N вводится с клавиатуры: 3*2 + 5*2 + ... + (2N+1)*2.


  1. Вычислите произведения, если А и N вводятся с клавиатуры:


а. (1+12)*(1+22)...(1+N2);


б. A*(A-N)*(A-2N)...(A-N*N);


в. 2*4*6*.,.*2*N.


  1. Определить является ли произвольное число кратным трем.


  1. Дана последовательность чисел, введенная с клавиатуры. Найдите сумму отрицательных членов этой последовательности и произведение положительных, количество отрицательных и положительных.


  1. Вывести минимальное натуральное число большее 200, которое делится на 17.


  1. Найти максимальное из натуральных чисел, не превышающих 5000, которое нацело длится на 39.


  1. Найти наибольший общий делитель двух чисел, используя алгоритм Евклида.


  1. Найти наименьшее общее кратное двух заданных натуральных чисел.


  1. Даны натуральные числа а и Ь, обозначающие соответственно числитель и знаменатель дроби. Сократить дробь, т. е. найти такие натуральные числа р и q не имеющие общих делителей, что p/q = a/b.


  1. Гражданин 1 марта открыл счет в банке положив 10000 руб.. Через каждый месяц счет в банке увеличивается на 2% от имеющийся суммы. Определить:

а. За какой месяц величина ежемесячного увеличения вклада превысит 300 руб.;


б. Через сколько месяцев размер вклада превысит 12000 руб.


12. Даны натуральные числа тип. Получить все кратные им числа, не превышающие m*n. Условный оператор не использовать.



Операторы перехода


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

Ветвление - это такая форма организации действий, при которой выполнение или иного действия зависит от выполнения или невыполнение некоторого условия.

Условие - это логическое выражение, содержащее знаки сравнения и логические операции (см. табл.).

hello_html_m2fb9a2cf.png

Таблица действия логических функций (таблица истинности), где а и b -логические выражения.

hello_html_m16c1c614.png

Пример записи логического выражения: а + b > с AND d <> 8.

Логическая операция NOT (отрицание) выполняется над простым логическим выражением: NOT ( а> b )

Логическое выражение принимает одно из двух значений: TRUE (истина) и FALSE (ложь). Эти выражения применяются в операторах ветвления и цикла.

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

Примеры записей логических выражений:

hello_html_7eb59a34.png

Принят следующий приоритет логических и арифметических операций:

■ операции в скобках;

■ операция NOT;

■ операции AND, /, * ;

■ операции OR, +, -;

■ операции отношения.


Упражнения


1. Вычислить значение логического выражения

а) X2 –У2 <=12 при Х=0 и У=-1 б) NOT ((X*Y) OR (Y >X) при X=4, Y=1

2. Написать логические выражения, которые имеют значение истинна лишь при выполнении указанных условий:

а) Х>0 и Y>0 Y не является MAX (X, Y, Z)


б) неверно, что Х>0 X, Y, Z равны между собой

в) 2< X < 20 точка с координатами X, Y принадлежит 1-ой четверти


Операторы перехода разделяются на две группы:

операторы безусловного перехода и операторы условного перехода.


Оператор безусловного перехода.

Он служит для перехода из одной строки программы к другой, помеченной номером или меткой.

Общий вид оператора: GOTO N

где N - номер строки или метки оператора, на который происходит переход в программе.

Примеры:

1. Х=3 2. GOTO W

GOTO 7 …

Y=2*X W PRINT "решение получено"

7 Z=5*X


Операторы условного перехода

Существуют две формы ветвления: полная и неполная.

hello_html_m41dded53.png

Соответственно существуют и два вида операторов: полной и неполной альтернативы.

  1. Полная альтернатива (предусмотрены команды в ветви "ДА" и в ветви "НЕТ").

1). Линейная форма записи (оператор записывается в одной строке).

Условие выполняется "ДА"

hello_html_1a5307fc.png

Работа оператора: в зависимости от того выполняется или не выполняется условие (условие - логическое выражение, которое может содержать знаки сравнения и логические операции). Если условие истинно, то выполняется блок операторов 1, если условие ложно, то выполняется блок операторов 2.


ПРИМЕР: IF А=1 THEN PRINT "ДА" ELSE PRINT "НЕТ"

PRINT "КОНЕЦ"

Здесь операторы работают следующим образом:

■ если условие А=1 "ИСТИННО", то выполняются операторы PRINT "ДА" и

PRINT "КОНЕЦ";

■ если условие А=1 "ЛОЖНО", то выполняются операторы PRINT "HET" и

PRINT "КОНЕЦ".


2) Блочная форма записи:

IF условие THEN

блок операторов ветви "ДА"

ELSE

блок операторов ветви "НЕТ"

END IF


ПРИМЕР:

CLS

INPUT a

IF a=l THEN

PRINT "работает ветвь ДА "

PRINT a

ELSE

PRINT "работает ветвь НЕТ"

PRINT a

END IF


II. Условный оператор неполной альтернативы:

IF условие THEN блок операторов


Примеры решения задач.

Пример 1. Определить наибольшее из двух чисел X и Y, введенных клавиатуры.

CLS

INPUT " Введите два числа ";Х, Y

IF X > Y THEN

PRINT "НАИБОЛЬШЕЕ ЧИСЛО Х="; X

ELSE

PRINT "НАИБОЛЬШЕЕ ЧИСЛО Y ="; Y

END IF

END

Пример 2. Вычислите значение функции Y для любого значения X.

hello_html_517af2c0.gif

CLS

INPUT " Введите Х"; Х

IF Х<=-2 THEN

Y=X^2+4*X-7

ELSE

Y=X^2-3*X+12

END IF

PRINT "ФУНКЦИЯ ="; Y;" при X=";X

END

Пример 3. Вычислите значение функции Y =ЗХ2 -5Х+12 на отрезке (-3,3) с шагом 1.

CLS

PRINT "Y", "X"

Х=−3

4 У=3*Х^2 -5*X+12

PRINT Y, X

Х=Х+1


IF Х<3 THEN 4

END


Пример 4. Вычислите сумму целых чисел от 10 до 20

S =10+11+12+...+20


CLS: S=0: Х=10

5 S=S+X

Х=Х+1

IF Х<=20 THEN 5

PRINT "сумма = "; S

END


Пример 5. Вычислите произведение нечетных чисел от 15 до 30

Р= 15*17*19*...*29


CLS:P=1:X=15

7 Р=Р*Х

Х=Х+2

IF Х<30 THEN 7

PRINT "произведение = "; Р

END


Примеры решения задач:

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

На первом рисунки, точки принадлежащие заштрихованной области задаются неравенством у х2 для их координат (на 2-м рисунке неравенством у х2).


hello_html_m1438c7b0.png


На этом рисунке точки из пересечения двух заштрихованных областей задаются двумя неравенствами, связанными логическим действием — конъюнкция.

hello_html_75d94f1e.png

(y>=x2) AND (y<=2.5x+1.5)










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


REM Проверка принадлежности точки к область плоскости

CLS

INPUT «Введите координаты точки», х, у

IF (y>=x) АND (y<=2.5x+1.5) THEN

PRINT «Точка принадлежит заштрихованной области»

EESE

PRINT «Точка не принадлежит заштрихованной области»

END IF

END

hello_html_6c8e9bed.png



Пример наложения дополнительного условия, и как следствие уменьшение выделенной области плоскости:

(y>=x2) AND (y<=2.5x+1.5) AND (x<=0)






hello_html_701015c6.png


Задание: записать условие для задания заштрихованной области (в виде применимом коде программы)






Дополнительные примеры описания заштрихованных областей:

hello_html_5f51172.pnghello_html_m5879962e.png

Задания:

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

hello_html_m5f8fc7a0.png hello_html_66c7b0c6.png

Выберите курс повышения квалификации со скидкой 50%:

Краткое описание документа:

Вашему вниманию предлагается материал к урокам информатики в 8 - 9 классах по теме "Циклические структуры".

Пример предоставления мтериала:

Цикл WHILE

С помощью конструкции WHILE ... WEND можно реализовать выполнение ряда операторов до тех пор, пока выполняется определенное условие.

 

WHILE Условие

Тело цикла

WEND

 

 

До тех пор пока соблюдается условие, последовательно выполняются операторы тела цикла. Ключевое слово WEND закрывает конструкцию по аналогии с командой END IF. Если условие цикла больше не соблюдается, то выполнение программы продолжается, начиная с оператора, следующего за WEND. Если условие цикла WHILE не выполняется с самого начала, то управление сразу же передается оператору, расположенному за WEND. Следите за тем, чтобы действия внутри цикла влияли на WHILE-условие.

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

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