Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ДЛЯ ПРАКТИЧЕСКИХ ЗАНЯТИЙ Тема- Программирование циклических алгоритмов

Работа добавлена на сайт samzan.net:


КАРАГАНДИНСКИЙ ГОСУДАРСТВЕННЫЙ МЕДИЦИНСКИЙ УНИВЕРСИТЕТ

Кафедра медицинской биофизики и информатики

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ДЛЯ ПРАКТИЧЕСКИХ ЗАНЯТИЙ

Тема: «Программирование циклических алгоритмов»

Дисциплина: «Информатика»

Курс:            I

Составитель: преп. Айкумбаева А.С.  

Караганда – 2010г.


Обсуждены и утверждены на заседании кафедры медицинской биофизики и информатики

Протокол № ______ от  “ _____” __________2010 г.

Зав. кафедрой  __________________Б.К.Койчубеков        


Тема:
 «Программирования циклических алгоритмов».

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

Задачи обучения:

  1.  Уметь ясно и четко разработать  алгоритм решения поставленной задачи, т. е. структуризации, разбиения задачи на последовательность простых модулей, каждый из которых легко может быть реализован на языке программирования.
  2.  Научиться однозначно и вполне определенно понимать, что будет результатом решения задачи.
  3.  Получение навыков отладки программы, иными словами, устранения ошибок и неточностей, допущенных в организации ввода - вывода данных
  4.  Cоставить блок - схему алгоритма и написать программу согласно варианту.

    Необходимо научиться решать задачи

Форма проведения:

- решение проблемных задач;

- дискуссия.

Задания по теме

(смотрите пример выполнения ниже, в разделе - раздаточный материал)

Что будет выведено на экран в результате выполнения следующих программ при указанных исходных данных.  (Фрагменты программ необходимо проверить и доработать).

1. Программа:
INPUT W FOR R=l TO W ? "WAR"
NEXT R
IF R=W THEN GOTO 1
? "SUNDAY"
1: "PEACE"
при w=3.

2. Программа:

W=27.6
1: IF INT(W)=W THEN GOTO 2
?
"ЧЕРТ ПОБЕРИ!!!"
W=W * 2 - 5.2
GOTO 1
2: ?
"МИХАИЛ СВЕТЛОВ"
A=W -1
IF A <> 50 THEN 3
GOTO 1
3: END

3. Программа:

FOR H=5 TO 21 STEP 4
? H
- 3
? H+3 NEXT H
160. Программа:
1: ? "НА СТАРТ! ВНИМАНИЕ!"
FOR V=5 TO 1 STEP -1 ? V; "СЕКУНД"
GOTO I
? "
МАРШ!"

4. Программа:

DATA 10, 100, 1000
READ
А, В
?
В - А
READ
С
RESTORE
READ X, Y, Z
IF C=Y THEN 1
IF B=Y THEN 2
GOTO 3
1: ? "
плюс"
GOTO 3
2: ? "
МИНУС"
3: END

5. Программа:

X=13
Y=17
Z=2
2: IF Z >=5 THEN 1
?
X, Y, Z
X=X - 1
Y=X+Y
Z=Z+1
GOTO 2
1: END

6. Программа:

FOR R=l TO 4 9 STEP 6
W=W+R*2 NEXT R ? R

7. Программа:

FOR K=7 TO 28 STEP 7
? "УРА!!!" NEXT К ? "ВПЕРЕД!!!"

8. Программа:

x=i
1: ? X
Х=Х+2
IF X <= 13 THEN 1
END

9. Программа:

FOR B=l TO 4
D=B*2
? D, В NEXT В

10. Программа:

FOR C=2 TO 11 STEP 2
? C, C"2 NEXT С ? "ВЗРЫВ!"

11. Программа:

X=13 Y=52 Z=99 FOR U=100 TO 1 STEP -2
IF U=X THEN ? U
IF U=Y THEN ? U
IF U=Z THEN ? О NEXT U

12. Программа:

WHILE S < 10
? S WEND

13. Программа:

WHILE D$ О "ИНФОРМАТИКА"
READ D$, В
? "ПРЕДМЕТ"; D$
? В WEND DATA МАТЕМАТИКА, 4, ФИЗИКА, З, ИНФОРМАТИКА, 5, ХИМИЯ, 3

Раздаточный материал

Структура алгоритма:

  •  Циклические алгоритмы

блок-схема

запись на языке программирования QBasic

 REM

INPUT

Оператор с известным  или неизвестным числом повторений

………

………

………

PRINT

END

Оператор с заранее известным числом повторений FOR. . .NEXT:

правила пользования оператором цикла FOR . . NEXT:

Рассмотреть повторяющиеся действия и выделить в них равномерно изменяющуюся величину (параметр).

Дать параметру имя.

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

Написать оператор цикла, состоящий из трех частей:

заголовок цикла

FOR параметр=нач значение ТО кон_значение STEP шаг

тело цикла

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

NEXT параметр

Например, напечатать значения y = sinx в интервале [-30°; 30°]
с шагом 5°. Действуя по правилам, несложно понять, что параметр — это х, так мы его и обозначим. Начальное, конечное значения параметра и шаг указаны непосредственно в самом задании. Пишем оператор цикла:

FOR X= -30 ТО 30 STEP 5
Y=SIN (X*3.14/180)
? "SIN
С; X; "="; Y NEXT X

Оператор цикла WHILE... WEND (с неизвестным числом повторений)

Этот оператор позволяет сочетать свойства условного оператора и оператора цикла. С их помощью можно выполнять повторяющиеся действия с заранее неизвестным количеством повторений.
Работает он следующим образом. Сначала идет оператор while с условием, при котором цикл выполняется. Ключевое слово wend аналогично по своему назначению слову next, т. е. является последней строкой цикла. Всякий раз, доходя до wend, компьютер проверяет, выполняется ли условие, указанное оператором while. Если оно не выполняется, то программа переходит к исполнению операторов, следующих за wend. Если же выполняется, то цикл повторяется снова. Следующая программа, прежде чем допустить пользователя до продолжения работы, запрашивает у него пароль.

WHILE WORD$О"TERMINATOR"
INPUT "
ВВЕДИТЕ ПАРОЛЬ"; WORD$ 'WEND ? "ПРАВИЛЬНО! ВЫ ДОПУЩЕНЫ К ПРОДОЛЖЕНИЮ РАБОТЫ"

Пояснение: Вот как эта программа будет работать после запуска:
ВВЕДИТЕ ПАРОЛЬ? MOON
ВВЕДИТЕ ПАРОЛЬ? ARNOLD
ВВЕДИТЕ ПАРОЛЬ? TERMINATOR
ПРАВИЛЬНО! ВЫ ДОПУЩЕНЫ К ПРОДОЛЖЕНИЮ РАБОТЫ

Оператор DO...LOOP

Оператор do. . .loop чем-то похож на оператор while. . .wend, но возможности его применения несколько шире — проверяемое условие может быть использовано не только в начале оператора, но и в конце.
Поэтому возможны четыре различные формы написания оператора:

первая форма
DO UNTIL условие
тело_цикла LOOP

вторая форма
DO WHILE условие
тело_цикла LOOP

третья форма
DO
тело_цикла LOOP UNTIL условие

четвертая форма
DO
тело цикла
LOOP WHILE условие

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

Например:
к=о
? "Значение К в начале цикла равно"; К DO WHILE К < 10
К=К+1 LOOP ? "Значение К в конце цикла равно"; К

Случайные числа (оператор randomize) - rnd.

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

Чтобы получать случайные числа, вы прежде всего должны инициировать процесс генерации последовательности случайных чисел компьютером при помощи оператора randomize timer. Он указывается в программе только один раз и сообщает компьютеру, что надо создавать случайные числа, беря за основу показания таймера.
Затем, чтобы получить из этой последовательности какое-либо значение, мы должны использовать оператор rnd(n), который выдает случайное число в диапазоне от 0 до 1. Минимальное полученное число будет 0,0000001, а максимальное 0,9999999. В качестве N может служить любое целое или действительное число. Этот параметр также влияет на выбор компьютером случайных чисел.

Например, программа
RANDOMIZE TIMER X=RND(1) ? X
может вывести на экран число 0,367423, а может 0.0034289, а может 0,8912314. Каждый раз при запуске программы мы будем видеть новое значение
.  (Наберите и доработайте вышеуказанный фрагмент программы)

Литература:

1. Фаронов В. В. Основы Турбо Паскаля. М.:МВТУ - ФЕСТО ДИДАКТИК, 1992. 285с.

2. Поляков Д.Б., Круглов И.Ю. Программирование в среде ТУРБО QBASIC. М.: Изд. МАИ, А/О "РОВУЗНАУКА" 992. 575с.

3. А.И. Вальвачев, В.О. Крисевич. Программирование на языке QBasic для персональных ЭВМ ЕС. Минск.: Высшая школа, 1989. 222с.

Контрольные вопросы:

1. Дайте определение циклического алгоритма?

2. Назовите фигуры и их назначение при построении циклической структуры

3. Опишите интерфейс программы QBasic

4. Опишите процесс сохранения созданной вами программы в QBasic

5. Как осуществляется использование операторов с известным и с неизвестным числом повторений

начало

конец

условие

Начало цикла

Ввод переменных




1. Рекомендации по проведению у рока на тему- Обработка двухшовного рукава покроя реглан
2. Контрольная работа- Развитие мелкой и общей моторики у детей с ТНР
3. лекція і насінництво А В Т О Р Е Ф Е Р А Т дисертації на здобуття наукового ступеня кандидат
4. задание которое необходимо составить перед началом планирования рекламной кампании промоакции или др
5. сосудистой и дыхательной систем организма Среди собственно физиологических методов исследования наиболе.html
6. поживает воистину счастливый народ и правят им по справедливости и в радости король и королева
7. Бизнес план магазина бижутерии Как открыть бизнес по продаже бижутерии Торговля бижутерией может.html
8. 10 реферат дисертації на здобуття наукового ступеня кандидата педагогічних наук Київ ~ 2001
9. 1999 г Челябинск 1999 Аннотация Эта работа посвящена проблеме изучения происхождения н
10. ТЕМА ЗАСТОСУВАННЯ ГЕРБІЦИДІВ на посівах ЦИБУЛІ РІПЧАСТОЇ В ЛІСОСТЕПУ УКРАЇНИ 06
11. Inlw re students of our University
12. ТЕМАТИКИ ім ЯСПІДСТРИГАЧА Кісіль Роман Іванович УДК 539
13. Петров-Водкин К
14. дождевом грозовом облаке и распространяющийся вниз часто до самой поверхности земли в виде облачного рука
15. тематическое планирование на 20132014 год ЧЕРЧ
16. Секс в культурах мира
17. Сучасний облік прямих витрат
18. реформа крестьянского надельного землевладения в России проходившая с 1906 по 1917 годы
19. Особое мнение 06
20. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата медичних наук Київ2002 Дисер