Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




 

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

Задание:

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

GO ТО n

 

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

 

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


 


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


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

 

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

 

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

 

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

 

5. …

 

 

а)


 

 

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

 

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 горитма разветвленной структуры:

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

Конец реализация с использованием условного  
а) перехода 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, если xy - 3,64 4,47  
  z =   y 2,   если x > y - 4,89 1,36  
  x 2      
4. 3 aarctg 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 ya, если 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 +3 a, если x > a 1,37 1,83 -  
  z = + ya) 2, если xa 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 +3 a, если x > a 1,37 1,83 -  
z =                          
  (x 2 + ya) 2, если xa 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   − 5 ay, если 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 yz,  
                               
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

 





Поделиться с друзьями:


Дата добавления: 2017-03-12; Мы поможем в написании ваших работ!; просмотров: 350 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Настоящая ответственность бывает только личной. © Фазиль Искандер
==> читать все изречения...

2364 - | 2088 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.