Методическая разработка темы "Программирование на языке QBasic. Циклы."
методическая разработка (информатика и икт, 7 класс) по теме

Малышева Марина Ивановна

Материал предназначен для изучения темы "Циклы" при программировании на языке QBasic в 7 классах.

Содержание


  1. Теория
  2. Задачи

Скачать:

ВложениеРазмер
Microsoft Office document icon 2.doc110.5 КБ

Предварительный просмотр:

Малышева М. И.

Программирование.

Тема: Циклы.начало

Х*Y=А

Ввод А

Х=INT(RND(1)*10)

Y=INT(RND(1)*10)

конец

неверно

верно

вывод X*Y=

+

-

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

CLS

X=INT(RND(1)*10)

Y= INT(RND(1)*10)

PRINT X; ”*”; Y; “=”;

INPUT A

IF X*Y=A THEN PRINT “верно” ELSE PRINT “неверно ”

Х*Y=А

Ввод А

Х=INT(RND(1)*10)

Y=INT(RND(1)*10)

начало

конец

I=1

I=I+1

I<=10

Вывод X*Y=

верно

неверно

+

-

+

-

END        

Тело  

цикла

Усложняем задачу: ЭВМ задает ученику не один, а 10 примеров на умножение. Для решения новой задачи, необходимо, действия, обведенные пунктирным прямоугольником, повторить 10 раз. Чтобы организовать такое повторение, придется завести некий счетчик, где мы будем считать, сколько раз выполняется действие. Давайте назовем эту ячейку памяти, например, I.

CLS

I=1

10 X=INT(RND(1)*10)

Y= INT(RND(1)*10)

PRINT X; ”*”; Y; “=”;

INPUT A

IF X*Y=A THEN PRINT “верно” ELSE

                              PRINT “неверно ”

I=I+1

IF I<=10 THEN GOTO 10

Проследим, как выполняются действия:

  1. Счетчик I принимает значение 1 (начальное значение)
  2. Выполняются те действия, которые должны повторяться.
  3. Счетчик I увеличивается на 1 (следующее значение счетчика).
  4. Проверяем, счетчик I все еще меньше значения, до которого мы должны досчитать (10)? Если да, то снова выполняем повторяющиеся действия, в противном случае заканчиваем работу.

ENDЦиклом (повтором) называется такая форма организации действий, при которой одна и та же последовательность действий совершается несколько раз. 

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

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

ДЛЯ I ОТ начального ДО конечного С ШАГОМ S

        Выполняем тело цикла

ПЕРЕЙТИ К СЛЕДУЮЩЕМУ I

Для I от нач до кон с шагом S

Тело цикла

Другими словами, мы повторяем действия тело цикла ДЛЯ значений параметра цикла (счетчика) ОТ начального значения ДО конечного. Потом переходим к следующему значению параметра цикла и снова повторяем тело цикла. И так до тех пор, пока параметр не станет больше конечного значения. Причем счетчик может считать как подряд: 1, 2, 3, …; так и с некоторым шагом, например, с шагом 2: 1, 3, 5, …; или с шагом 0.5: 1, 1.5, 2, 2.5, 3, …На языке Бейсик цикл ДЛЯ записывается так:

FOR I= нач TO кон STEP S

        Тело цикла

NEXT I

STEP S может отсутствовать. Это равносильно записи STEP 1.

Цикл “ДЛЯ” выполняется следующим образом:

  1. Когда встречается команда FOR, параметр цикла I (счетчик) принимает начальное значение.
  2. Выполняется тело цикла (действия, которые должны повторяться).
  3. По команде NEXT I параметр цикла  I увеличивается на величину шага (следующее значение).
  4. Проверяем, параметр цикла I все еще меньше конечного значения? Если да, то снова выполняем тело цикла (п.2), в противном случае цикл заканчивается.

Запишем теперь решение задачи про 10 примеров на знание таблицы умножения, используя цикл FOR:

CLS

FOR I=1 TO 10

X=INT(RND(1)*10)

Y= INT(RND(1)*10)

PRINT X; ”*”; Y; “=”;

INPUT A

IF X*Y=A THEN PRINT “верно” ELSE PRINT “неверно ”

NEXT I

END

ЗАДАЧИ:

  1. ЭВМ последовательно запрашивает оценки по информатике каждого из 12 учеников группы, вычисляет среднее арифметическое и выводит его на экран.

CLS

S=0

FOR I=1 TO 12

INPUT “ВВЕДИ ОЦЕНКУ”; R

S=S+R

NEXT I

S=S/

PRINT “средний балл =”;

  1. В компьютер последовательно вводятся 10 чисел, не равных 0. Подсчитать количество положительных и количество отрицательных чисел.

CLS

KP=0

KO=0

FOR I=1 TO …

INPUT “ВВЕДИ ЧИСЛО”; R

IF R>0 THEN KP=KP+1 ELSE KO=KO+1

NEXT I

PRINT “положительных чисел -”; ; “отрицательных чисел -”;

  1. В компьютер последовательно вводятся 10 символов А или О. Подсчитать количество символов А и количество символов О.

CLS

KА=0

KO=0

FOR I=… TO …

INPUT “ВВЕДИ СИМВОЛ”; R$

IF R$=”А” THEN KА=KА+1 ELSE KO=KO+1

NEXT …

PRINT “было введено символов А -”; ; “символов О -”;

  1. С клавиатуры задается число в интервале от 1 до 10 (включительно). ЭВМ случайным образом выбирает 50 чисел в этом интервале. Определить, сколько раз ЭВМ выбирает заданное число. (Выбираемые числа выводить на экран в строчку)

CLS

K=0        ‘кол-во совпадений

INPUT “введи заданное число”; X

FOR …TO …

A=INT(RND(1)*10)+1

PRINT A;        

IF А=Х THEN K=K+1

PRINT “ЭВМ выбрала”; ; “чисел, совпадающих с заданным числом”;

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

CLS

K=0                ‘кол-во работников бригады, не выполнивших норму

INPUT “сколько человек в бригаде”; N

INPUT “введи норму”; Х

… I=1 … N

PRINT "сколько сделал работник бригады с номером"; I        

INPUT A

IF А<Х THEN K=K+1

… I

PRINT “не выполнили норму”; ; “человек”

------------------------------------------------------------------------------------------------------------------------------

Циклы (продолжение).

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

ЗАДАЧИ:

  1. Посчитать сумму чисел от 1 до 10

S=0

FOR I=1 TO 10

S=S+I

NEXT I

PRINT “СУММА ЧИСЕЛ =”;

END

Все последующие программы отличаются от приведенной выше только одним оператором.

  1. Посчитать сумму чисел от 50 до 80

FOR I=50 TO …

  1. Посчитать сумму нечетных чисел от 1 до 10

FOR I=… TO … STEP 2

  1. Посчитать сумму четных чисел от 1 до 10

FOR I=2 TO 10 STEP …

  1. Посчитать сумму квадратов чисел от 1 до 10

S=S+I^

Число А является делителем числа Х, если Х делится на А нацело, т.е. если Х/А=INT(Х/А). Или число А является делителем числа Х, если остаток от деления числа Х на число А равен нулю, т.е. Х MOD A = 0

Найти и вывести на экран все делители числа, которое вводится с клавиатуры.

CLS

INPUT “введи число”; X

… A=1 TO X/2

IF Х/А=INT(Х/А)  PRINT A;     (или    IF X MOD A=0 THEN PRINT A;)

… A

END

  1. Составить программу определения, является ли число, введенное с клавиатуры, «магическим». Проверить, является ли «магическим» число:

а) 6; б) 8.

Число называется «магическим», если сумма делителей этого числа равна самому числу (причем 1 считается делителем, а само число делителем не считается).

CLS

S=0

INPUT “введи число”; X

FOR A=1 … X/2

IF Х/А=INT(Х/А) THEN S=S+A

… A

IF S=X THEN PRINT “число”; ; “является магическим” ELSE PRINT “ число”; ; “не является магическим ”

END

Простым называется число, которое имеет всего два делителя – 1 и само себя.

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

CLS

FL=0        ‘вводим некий флажок

INPUT “введи число”; X

… A=2 TO X/2

IF Х/А=INT(Х/А)  FL=1        ‘если есть делитель, то флажок =1

… A

 FL=0 THEN PRINT “число”; X; “является простым” ELSE PRINT “ число”; X; “не является простым ”

END

9. Найти сумму ряда (число N вводится с клавиатуры)

Внимательно смотрим на условие задачи и замечаем, что сумма S накапливается из однотипных слагаемых. Знаменатель каждого слагаемого меняется от 1 до N с шагом 1 (используется цикл «ДЛЯ» с параметром I).  Параметр цикла I меняется от 1 до N. I находится в знаменателе каждого слагаемого.

CLS

INPUT “введи число”; N

S=0

… I=1 TO N

S=S+1/I

… I

PRINT “СУММА РЯДА =”;

10. Найти сумму ряда (число N вводится с клавиатуры)

CLS

 “введи число”;

S=1

… I=2 TO N

S=S+(I-1)/I

NEXT I

PRINT “СУММА РЯДА =”;

11. Найти сумму ряда чисел, при заданном N:

S=1*1 + 1*2*2 + 1*2*3*3 + 1*2*3*4*4 + … + 1*2*3*…*N*N

Каждый член ряда образуется как некоторое промежуточное значение Х на номер члена ряда I, а каждое значение Х образуется умножением предыдущего значения Х на номер члена ряда I.

CLS

INPUT

S=0

Х=1

… I=1 TO N

Х=Х*I

S=S+Х*I

… I

PRINT “сумма будет =”;

------------------------------------------------------------------------------------------------------------------

Следующая группа задач принципиально отличаются от приведенных выше.

1. Сколько слагаемых должно быть в сумме, чтобы она не превысила 5?

Обратите внимание, что в этой задаче нам неизвестно, сколько слагаемых должно быть. (Именно это мы и должны определить). Поэтому мы не можем использовать цикл «ДЛЯ». Мы должны накапливать сумму S, ПОКА она меньше или равна заданному числу. Соответственно, переход к следующему числу мы должны будем организовать сами.

начало

S=0 : I=1

конец

I=I+1

S<=5

S=S+1/I

Слагаемых должно быть I

 5 CLS10 S=0

20 I=1

30 S=S+1/I

40 I=I+1

50 IF S<=5 THEN 30

60 PRINT “слагаем. должно быть”; I

70 END

2. Первый член геометрической прогрессии В0=3, а коэффициент Q=5. Определить номер члена этой прогрессии, который больше 1000.

1 CLS

5 I=0                ‘номер члена прогрессии

10 B=3

20 Q=5

30 I=I+1

40 B=B*Q

50 IF B<=1000 THEN  30

60 PRINT “номер члена геометрической прогрессии больший 1000=”; I

70 END

3. С клавиатуры задается число в интервале от 1 до 10 (включительно). ЭВМ случайным образом выбирает числа в этом интервале. Сколько чисел выберет ЭВМ, ПОКА не «угадает» заданное число. (Выбираемые числа выводить на экран в строчку)

10 S=0

20 INPUT “введите число”; X

30 A=INT(RND(1)*10)+1

40 PRINT A;

50 IF X=A THEN  80

60 S=S+1

70 GOTO 30

80 PRINT “ЭВМ выберет”; S; “чисел”

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

5 CLS

  нет

    начало

S=1/2 : I=1 : Х=1/2 : Y=1/4

I=I+1

X=Y

Y=1/(2*I)

|X-Y|<=0.04

S=S+Y

конец

Сумма = S

да

10 S=1/220 I=1

30 X=1/2        ‘предыдущ. знач.

40 Y=1/4        ‘текущее. знач.

50 IF ABS(X-Y)<=0.04 THEN  110

60 S=S+Y

70 I=I+1

80 X=Y        ‘текущее значен. стало предыдущим

90 Y=1/(2*I)        ‘вычисляем след. значение

100 GOTO 50

110 PRINT “сумма =”; S

70 END

  1. Найти наименьшее количество слагаемых в сумме ряда чисел, при котором эта сумма станет больше 120:

S=1*1 + 1*2*2 + 1*2*3*3 + 1*2*3*4*4 + …

Каждый член ряда образуется как некоторое промежуточное значение Х на номер члена ряда I, а каждое значение Х образуется умножением предыдущего значения Х на номер члена ряда I.

5   CLS

10 S=0

20 I=0

30 Х=1

40 I=I+1

50 Х=Х*I

60 S=S+Х*I

70 IF S<=120 THEN  40

80 PRINT “слагаемых должно быть”; I; “тогда сумма будет =”; S

90 END

-------------------------------------------------------------------------------------------------------------------------------


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

Методическая разработка по русскому языку (9 класс) на тему: "Русский язык - национальный язык русского народа".

Приобретение учащимися знаний об особенностях национального языка, его назначении, развитии....

Методическая разработка урока "7 класс Вложенные циклы"

Рассматриваемая тема расширяет базовый курс по информатике для средней школы и отнесена к теме Программировние. Теоретический материал темы раскрывается в ходе выполнения учащимися цикла практических ...

МЕТОДИЧЕСКАЯ РАЗРАБОТКА "Интеграция на уроках теоретического цикла в ДМШ"

Внутривидовая (предметная) интеграция уроков теоретического цикла и специальности, хора, оркестра, ансамбля; межвидовая интеграция: интеграция искусств, интеграция с предметами  гуманитарного, те...

Методическая разработка по теме "Основы QBasic.Циклическая структура"

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

МЕТОДИЧЕСКАЯ РАЗРАБОТКА проведения круглого стола из цикла «Уроки успеха». «Урок второй. Общество» для учащихся 8-х классов

                                 «Жить в обществе и быть свободным от общества нельзя.»Владимир ...

Методическая разработка урока "В зоопарке" методическая разработка по английскому языку (5 класс)

Данный урок основан на учебнике Spotlight 5. Тема урока: В зоопарке . УМК: «Английский в фокусе» (Spotlight- 5) Ю.Е. Ваулина, Дж.Дули, О.Е. Подоляко, В.Эванс. Тип урока: урок актуализ...