Разветвляющиеся программы. Оператор безусловного перехода GOTO….

  • doc
  • 06.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Разветвляющиеся программы. Оператор безусловного перехода GOTO….
Иконка файла материала 37_Оператор GOTO.doc

Практическая работа № 37.

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

Наименование: Разветвляющиеся программы. Оператор  безусловного перехода GOTO….

Цель работы: Ознакомить с оператором  GOTO. Научить составлять, вводить, редактировать и отлаживать разветвляющиеся программы.

1. Краткие теоретические сведения.

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

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

GOTO <метка> (читается идти к...).

Оператор безусловного перехода GOTO используется для указания того места программы, т.е. того оператора, с которого следует продолжать вычисления на данном этапе. Как правило, этот оператор применяется  для обхода какого-то участка программы. После выполнения этого оператора обязательно (безусловно) будет выполняться строка, номер которой указан в этом операторе. При этом в программе обязательно должна быть строка с номером указанным в операторе GOTO.

Пример 1. Составить блок-схему и программу решения квадратного уравнения ax2 + bx + c = 0:

 

 

 

 

 

 

 

 

 

 

 

10 REM КВУР

20 INPUT ”a=”;a

30 INPUT ”b=”;b

40 INPUT ”c=”;c

50 D=b^2-4*a*c

60 IF D>0 THEN GOTO 90

70 IF D=0 THEN x=-b/(2*a): PRINT”Один корень x=”;x: GOTO 120

80 PRINT “Нет решения”: GOTO 120

90 x1=(-b+SQR(D))/(2*a)

100 x2=(-b-SQR(D))/(2*a)

110 PRINT “x1=”;x1,”x2=”;x2

120 END

2. Задания.

1. Внимательно изучите теоретический материал.

2. Запустите программу c:\QBasic\qbasic.exe.

3. Наберите программу, приведенную в примере 1. Исполните программу для уравнений:

а) -4х2 + 7х + 5 = 0

б) 8х2 + 3х + 1 = 0

в) х2 + 5х + 6,25 = 0

4. По результатам выполнения программы заполните таблицу:

 

a

b

c

Результат

а

 

 

 

 

б

 

 

 

 

в

 

 

 

 

5. Сохраните созданный файл под именем pr37_1.bas в папку своей группы.

6. Составьте блок-схему алгоритма и напишите программу для решения задачи:

a) Треугольник задан со сторонами a, b, c. Определить, является ли угол, противолежащий стороне а, прямым, острым или тупым. Воспользуйтесь условием:

если    a2 = b2 + c2    - угол прямой;

a2 > b2 + c2    - угол тупой;

a2 < b2 + c2    - угол острый.

Исполните программу для :

а)  a=2,4                        b=4,5              c=1,9;

б)  a=5               b=3                 c=4;

в)  a=7,3            b=3,5              c=4,8

Результат работы оформите в виде таблицы.

 

a

b

c

Результат

а

 

 

 

 

б

 

 

 

 

в

 

 

 

 

б) Существует ли четырехугольник с длинами сторон a, b, c, d? Воспользуйтесь условием: четырехугольник существует, если сумма длин трех его сторон не меньше длины четвертой стороны.

Исполните программу для:

а)  a=1,9                        b=2,4              c=3,7               d=4,5;

б)  a=5               b=2                 c=1,7               d=1,2;

в)  a=7,3            b=3,5              c=4                  d=1,9

Вопросы:

1. В какой форме обычно записывается оператор условного перехода при использовании оператора GOTO?

2. Какие способы записи оператора IFTHENELSE вы знаете?

2. Каков результат выполнения  программы, если одна из ее строк имеет вид: 50 GOTO 50?

3. В какой последовательности будут выполняться строки программы:

10 PRINT C

5 INPUT A, B

15 C= A+B

3. Оформление отчета:

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

2. Выполнить п.п. 2-6 задания.

3. Результаты вычислений задания п.6 оформить в виде таблицы.

4. Сохранить программу п.6а задания в каталоге своей группы под именем pr37_2.bas, а программу п.6б задания под именем pr37_3.bas

5. Дать ответы на вопросы задания и объяснить их.

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

1. Какие основные операторы языка Бейсик вы знаете?

2. Какие способы ввода данных вы можете назвать?

3. Какие типы данных вы знаете?

4. При решении каких задач возникает необходимость использования команд ветвления?.

5. Какие, по вашему мнению, алгоритмы встречаются чаще: линейные или разветвляющиеся?