АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Задание A. Вычислить значение функции:

Читайте также:
  1. Window(x1, y1, x2, y2); Задание окна на экране.
  2. В основной части решается практическое задание.
  3. Домашнее задание
  4. Домашнее задание
  5. Домашнее задание
  6. Домашнее задание
  7. Домашнее задание
  8. Домашнее задание
  9. Домашнее задание
  10. Домашнее задание
  11. Домашнее задание
  12. Домашнее задание

Вычислить значение функции:

для x =0,1, x =2,5, x =16, a=1

 

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

Если сравнить схему на рисунке 2 со схемой на рисунке А.1 приложения А, то видно, что S2 (по ветви NO) представляет собой структуру «ВЕТВЛЕНИЕ». То есть здесь одна структура «ВЕТВЛЕНИЕ» вложена внутрь другой. Такой процесс называют сложным ветвящимся. При x < 1 блоки выполняются в следующей последовательности: 1, 2, 3, 7, 8, 9. При 1 ≤ x ≤ 3 последовательность выполнения блоков: 1, 2, 3, 4, 6, 8, 9. Если x > 3, блоки выполняются в следующей последовательности: 1, 2, 3, 4, 5, 8, 9.

Рис. 2. Визуальное представление алгоритма решения задания А

в виде блок-схемы

 

Программа на языке QBasic

1. При использовании блочного оператора IF

INPUT "введите x,a";x,a

IF x<1 THEN

y=a*x

ELSEIF x<=3 THEN

y=x^2

ELSE

y=sqr(x)

END IF

PRINT USING "x=##.## a=##.## y=##.## ";x,a,y

END

2. При использовании оператора SELECT CASE

INPUT "введите x,a";x,a

SELECT CASE x

CASE IS<1

y=a*x

CASE 1 TO 3

y=x^2

CASE ELSE

y=sqr(x)

END SELECT

PRINT USING "x=##.## a=##.## y=##.## ";x,a,y

END

В качестве тестовых значений исходных данных возьмем следующие значения:

1) x=0.5 a=1 Y(x)=a*x=0.5

2) x=1 a=1 Y(x)=x2=12=1

3) x=2.5 a=1 Y(x)=x2=2.52=6.25

4) x=3 a=1 Y(x)=x2=32=9

5) x=9 a=1 Y(x)= = =3

Число тестовых значений равно числу ветвей плюс количество граничных точек.

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

Результат выполнения программы

введите x,a? 0.1,1

x= 0.10 a= 1.00 y= 0.10

введите x,а? 2.5,1

x= 2.50 a= 1.00 y= 6.25

введите x,а? 16,1

x= 16.00 a= 1.00 y= 4.00

Результаты выполнения второй программы выглядят так же.

 

Рассмотрим этот же пример разработки ветвящейся программы, основанный на методике компьютерного решения задач (процедурное программирование), реализуемый средствами языка VBA. Для ввода значений x и a с помощью клавиатуры используем функцию InputBox(). Для вывода значения y используем функцию MsgBox().

 

Программный код

Public Sub Ветвление_А()

Dim x As Single

Dim a As Single

Dim y As Single

x = Val(InputBox("Введите x"))

a = Val(InputBox("Введите a"))

If x < 1 Then

y = a * x

ElseIf x <= 3 Then

y = x ^ 2

Else

y = Sqr(x)

End If

MsgBox "X=" & x & " " & "A=" & a & " " & "Y=" & y


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)