Программирование алгоритмов разветвленной структуры

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

Задание:

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

2. Для заданного варианта составить схему алгоритма разветвленной структуры и реализующую его программу с использованием операторов условного и безусловного перехода.

3. Произвести на ЭВМ расчеты по разработанной программе для исходных данных, приведенных в табл. 3.1.

4. Получить распечатку программы и результатов расчета.

5. Оформить отчет по лабораторной работе.

Указания по выполнению работы

Алгоритм разветвленной структуры включает в себя одну из основных структур: разветвление (рис.3.1,а) или обход (рис.3.1,б) Разветвление приме-няется, когда в зависимости от некоторого условия ("да" - условие истинно, "нет" - условие ложно) нужно выполнить либо действие 1, либо действие 2, которые, в свою очередь, могут содержать несколько этапов расчета. Обход является частным случаем разветвления, когда одна ветвь не содержит ни каких действий.

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

Организация разветвления или обхода в программах, осуществляется с помощью операторов безусловного перехода GO ТО и условного перехода IF.

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

GO ТО n

где n - номер строки.

Оператор безусловного перехода передает управление первому опера-тору в строке с меткой n.



Программирование алгоритмов разветвленной структуры - student2.ru

  Да   Условие   Нет  
             
             
                 
                 
Действие 1         Действие 2  
                 
                 
                 

Программирование алгоритмов разветвленной структуры - student2.ru Программирование алгоритмов разветвленной структуры - student2.ru Программирование алгоритмов разветвленной структуры - student2.ru

1. Если < условие > выполняется перейти к п.4

2. Операторы действия 2

3. перейти к п.5

4. Операторы действия 2

5. …

а)

Программирование алгоритмов разветвленной структуры - student2.ru


Да Условие Нет  
     
    Действие  

1. Если < условие > выполняется перейти к п.3

2. Операторы действия

3. …

б)

Рис.3-1. Виды условных конструкций и их программирование с использова-нием условного оператора IF:

а - структура разветвление; б - структура обход.

Оператор условного перехода может быть записан в линейной или блочной формах.

Линейная форма записи:

IF логическое выражение THEN операторы 1 ELSE операторы 2

где логическое выражение - выражение, возвращающее ненулевые значения (истина) или ноль (ложь); операторы 1 – операторы, выполняющиеся при значении логического выражения “истина”; операторы 2 - при значении “ложь”. Блок ELSE и операторы 2 может отсутствовать , тогда при значении логического выражения “ ложь” осуществляется переход к первому оператору следующей строки. Если предполагается проверять больше, чем два условия, то целесообразно применять блочную форму оператора IF…THEN…ELSE.

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

IF логическое выражение 1 THEN операторы 1

[ ELSEIF логическое выражение 2 THEN операторы 2 ]

………………………………………………

[ ELSE

операторы n ]END IF

где логические выражения 1 и 2 – выражения, аналогичные логическому выражению в линейной форме записи; операторы 1 - одна или более строк операторов, выполняющихся при условии логическое выражение 1 - “исти-на”; операторы 2 - одна или более строк операторов,выполняющихся приусловии логическое выражение 2 - “истина”; операторы n - одна или более строк операторов, выполняющихся при прочих условиях.

При блочной форме записи первоначально тестируется первое логиче-ское выражение. Если оно не нулевое (“ истина”), то выполняются операторы 1.Если первое выражение равно нулю(“ложь”),то оценивается каждое ус-ловие ELSEIF. При выполнении такого условия выполняются операторы данного блока (в нашем случае операторы 2). Если ни одно из условий ELSEIF не выполняется (все = “ложь”), то выполняются операторы n блока ELSE. Блоки ELSEIF и ELSE могут быть опущены. Операторы IF, ELSE, ELSEIF и END IF должны быть первыми операторами в строке. Блок должен заканчиваться оператором END IF.

В качестве примера на рис.3.2 приведены алгоритм вычисления функции

sin x, если x ≤0  
y = +ln x, если x >0  
1  

и соответствующая ему программа, иллюстрирующая применение условного оператора IF.

Да

Y=sin x


Начало     REM Программа расчета функции с  
          REM применением условного оператора  
           
          PRINT “Введите значение X=”;  
           
Ввод x     INPUT X  
          IF X<=0 THEN  
          Y=SIN(X)  
           
X<=0   Нет ELSE  
      Y=1+LOG(X)  
           
          END IF  
           
      Y=1+ln x PRINT “Значение функции Y=”;Y  
          END  
          б )  
           
        Рис. 3.2. Пример программирования ал-  
Вывод      

Y Программирование алгоритмов разветвленной структуры - student2.ru Программирование алгоритмов разветвленной структуры - student2.ru горитма разветвленной структуры:

а – схема алгоритма; б – его программная

Конец реализация с использованием условного  
а) перехода IF.  
   


Таблица 3.1

Варианты заданий к лабораторной работе № 3

Составить программу вычисления значений Исходные данные  
п.п                         функций a x y  
1. 1 + tg x,   если a ≤0 -1,25 0,56 -  
  z =   − 2 y,   если a >0 6,34 4,27 -10,6  
  x 2      
2. 3 y − cos x, если x ≤0 - -2,93 17,5  
  z =                 если x >0 4,25 3,61 2,58  
  ax 2+ y ,    
3. 2sin 2 x ⋅ cos y, если x ≤ y - 3,64 4,47  
  z =   − y 2 ,   если x > y - 4,89 1,36  
  x 2      
4. 3a − arctg x,   если a >0 12,8 0,56 -  
  z =   − 9 a,   если a ≤0 -9,52 5,48 -  
  x 2      
5. (2 y + 1)sin x, если x <0 - -3,68 8,34  
  z =   + 4 y − a , если x ≥0 12,8 5,26 34,2  
  x 3    
6. y ln   x   +a, если x <0 -25,6 -7,43 11,2  
     
                                   
  z =                 если x ≥0 - 3,25 -6,45  
  2 y + ex ,    
                                   
7. x tg x +3a, если x > a 1,37 1,83 -  
  z = + y − a ) 2 , если x ≤ a 5,21 3,15 38,5  
  ( x  
8. 3 x / lg y + 2 a, если y >0 7,48 -21,4 49,1  
  z =   − x / a, если y ≤0 8,34 11,5 -9,15  
  y 3    
9. (1 − x )cos ay, если x >1 0,33 2,63 3,42  
  z =   − 5 y − 6 a, если x ≤1 4,16 -6,48 0,24  
  x 2    
10. 2 y + sin x, если x <0 - -3,68 8,34  
z =                          
  x 3   − 4 ya, если x ≥0 12,8 5,26 34,2  
11. y cos x + a , если x <0 -25,6 -7,43 11,2  
z =                          
  2 y + ex ,   если x ≥0 - 3,25 -6,45  
12. x sin x +3a, если x > a 1,37 1,83 -  
z =                          
  ( x 2 + y − a ) 2 , если x ≤ a 5,21 3,15 38,5  
13. 3 x / sin y + 2 a, если y >0 7,48 -21,4 49,1  
z =                          
  y 2   − x / a, если y ≤0 8,34 11,5 -9,15  
14. (1 − sin x )cos ay, если x >1 0,33 2,63 3,42  
z =                          
  x 2   − 5ay, если x ≤1 4,16 -6,48 0,24  
  cos 2,5 x + lg y, если y >1 Исходные данные  
  x y z  
15. u =                            
  + 6 y − 4,3 z, если y ≤1 0,23 9,36 -  
  2 x      
                            3,57 -27,4 19,2  


16.   1, если x < y     -5,27 36,2 -  
  u =     если x = y     22,8 22,8 -  
  0,        
            если x > y     57,3 33,8 -  
    − 1,                  
17. u =min{x , y}         5,21 4,44 -  
18. u =max{x , y}       3,25 0,91 -  
19. u =min{x , y , z}       74,3 34,7 13,5  
20. u =max{x , y , z}       0,24 7,63 5,85  
21. u =max{x , y}−min{y , z}   57,3 81,9 64,5  
22. u =max{x , y}+min{y , z}   -30,7 3,74 23,7  
23. u =max{x , y}/ min{y , z}     9,56 7,83 5,89  
24. u =max{x , y}⋅min{y , z}     -2,12 1,12 6,14  
25.   max { x , y , если z ≥0 2,96 3,15 8,69  
  u =         }              
                если z <0 1,85 4,02 -19,7  
    x sin y − z ,  
                               
26.   min { x , z , если y ≥3 74,3 18,8 23,8  
  u =         }              
      + ln z, если y <3 65,7 -67,3 12,7  
    3 xy  
                               
27.                 если z 75,4 85,3 40,8  
  u = max {x , y},          
  min { x , y}, если z <2 32,7 48,2 0,67  
                               
28.                 если y > 17,5 38,2 -  
  u = max {x , y},          
  min { y , z}, если z ≤0 - -35,9 -64,2  
                               
29. u =max{x , y , z}+min{x , y , z} 6,84 35,4 99,1  
30. u =max{x , y , z}/ min{x , y , z} 84,3 56,9 11,4  


Лабораторная работа № 4

Наши рекомендации