Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

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






Исполнение алгоритмов с табличными величинами






Исполним алгоритм для нахождения суммы элементов линейной таблицы.

алг сумма (вещтаб А[1: 5], вещS) арг A рез S начнат n n: =1 пока i≤ 5 нц S: =S+ A[n] n: =n+1 кц кон

 

Прежде всего мы должны подготовить таблицу А, заполненную натуральными числами. О наличии чисел в таблице говорит аргумент (арг А). А – это табличные величины.

         
6, 2   -1, 6 0, 4 2, 7

 

Далее строим таблицу для исполнения алгоритма, как мы это делали раньше.

Шаги алгоритма Аргумент Пром. величины Результат Проверка условий
А n S
            1 ≤ 5 (да)
  6, 2      
      6, 2     2 ≤ 5 (да)
         
      6, 2     3 ≤ 5 (да)
  -16      
      4, 6     4 ≤ 5 (да)
  0, 4      
            5 ≤ 5 (да)
  2, 7      
      7, 7     6 ≤ 5 (нет)

 

Исполним алгоритм для заполнения таблицы числами равными произведению соответствующих номеров строк и столбцов (таблица умножения), но возьмем только часть строк и столбцов. Поскольку у нас не вся таблица, назовем алгоритм «заполнение».

алг заполнение (наттаб В[6: 8, 3: 6]) рез В начнат i, j i: =6 пока i≤ 8 нц j: =3 пока j≤ 6 нц Р[i, j]: =i× j j: =j+1 кц i: =i+1 кц кон

Подготовим таблицу «В». В нашей таблице нет элементов (пустая таблица), так как аргумент в алгоритме отсутствует.

         
         
         
         

 

Строим таблицу для исполнения алгоритма. В нашей таблице не будет столбика «аргумент», а значит и не будет ввода данных.

Шаги алгоритма Промежуточные величины Результат Проверка условий
i j B
         
        6 ≤ 8 (да)
         
        3 ≤ 6 (да)
         
         
        4 ≤ 6 (да)
         
         
        5 ≤ 6 (да)
         
         
        6 ≤ 6 (да)
         
         
        7 ≤ 6 (нет)
         
        7 ≤ 8 (да)
         
        3 ≤ 6 (да)
         
         
        4 ≤ 6 (да)
         
         
        5 ≤ 6 (да)
         
         
        6 ≤ 6 (да)
         
         
        7 ≤ 6 (нет)
         
        8 ≤ 8 (да)
         
        3 ≤ 6 (да)
         
         
        4 ≤ 6 (да)
         
         
        5 ≤ 6 (да)
         
         
        6 ≤ 6 (да)
         
         
        7 ≤ 6 (нет)
         
        9 ≤ 8 (нет)

По ходу исполнения алгоритма, при получении результата, элемент нужно сразу же вносит в таблицу, находя его место по номеру строки и столбца. В шаге 5, мы получили В[6, 3]. Этот элемент равен 18. В строку 6 и столбец 3 мы записали число 18. В шаге 8, мы получили В[6, 4]. Этот элемент равен 24. В строку 6 и столбец 4 мы записали число 24. В шаге 11, мы получили В[6, 5]. Этот элемент равен 30. В строку 6 и столбец 5 мы записали число 30, и т. д. В результате получилась заполненная таблица:

         
         
         
         

 

Исполним алгоритм из 4 примера предыдущего пункта.

алг таблицы сложения и умножения (наттаб S[1: 4, 1: 4], наттаб Р[1: 4, 1: 4) рез Р, S начнат i, j, цел а i: =1 пока i≤ 4 нц j: =1 пока j≤ 4 нц а: =0 S[i, j]: =i+j Р[i, j]: =i× j пока Р[i, j]≥ 5 нц Р[i, j]: = Р[i, j]-5 а: =а+1 кц если S[i, j]≥ 5 то S[i, j]: =10+ (S[i, j]-5) все Р[i, j]: =а× 10+ Р[i, j] j: =j+1 кц i: =i+1 кц кон

Подготовим таблицы для заполнения:

Таблица S Таблица Р

+           ×        
                     
                     
                     
                     

 

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

Шаги алгоритма Промежуточные величины Результат Проверка условий  
i   j а S P  
               
            1 ≤ 4 (да)  
               
            1 ≤ 4 (да)  
               
               
               
            1 ≥ 5(нет)  
            2 ≥ 5(нет)  
               
               
            2 ≤ 4 (да)  
               
               
               
            2 ≥ 5(нет)  
            3 ≥ 5(нет)  
               
               
            3 ≤ 4 (да)  
               
               
               
            3 ≥ 5(нет)  
            4 ≥ 5(нет)  
               
               
            4 ≤ 4 (да)  
               
               
               
            4 ≥ 5(нет)  
            5 ≥ 5(да)  
               
               
               
            5 ≤ 4 (нет)  
               
            2 ≤ 4 (да)  
               
            1 ≤ 4 (да)  
               
               
               
            2 ≥ 5(нет)  
            3 ≥ 5(нет)  
               
               
            2 ≤ 4 (да)  
               
               
               
            4 ≥ 5(нет)  
            4 ≥ 5(нет)  
               
               
            3 ≤ 4 (да)  
               
               
               
            6 ≥ 5(да)  
               
               
            1 ≥ 5(нет)  
            5 ≥ 5(да)  
               
               
               
            4 ≤ 4 (да)  
               
               
               
            8 ≥ 5(да)  
               
               
            3 ≥ 5(нет)  
            6 ≥ 5(да)  
               
               
               
            5 ≤ 4 (нет)  
               
            3 ≤ 4 (да)  
               
            1 ≤ 4 (да)  
               
               
               
            3 ≥ 5(нет)  
            4 ≥ 5(нет)  
               
               
            2 ≤ 4 (да)  
               
               
               
            6 ≥ 5(да)  
               
               
            1 ≥ 5(нет)  
            5 ≥ 5(да)  
               
               
               
            3 ≤ 4 (да)  
               
               
               
            9 ≥ 5(да)  
               
               
            4 ≥ 5(нет)  
            6 ≥ 5(да)  
               
               
               
            4 ≤ 4 (да)  
               
               
               
            12 ≥ 5(да)  
               
               
            7 ≥ 5(да)  
               
               
            2 ≥ 5(нет)   6 ≥ 5(да)
            7 ≥ 5(да)  
               
               
               
            5≤ 4 (нет)  
               
            4 ≤ 4 (да)  
               
            1 ≤ 4 (да)  
               
               
               
               
            5 ≥ 5(да)  
               
               
               
            2 ≤ 4 (да)  
               
               
               
            8 ≥ 5(да)  
               
               
            3 ≥ 5(нет)  
            6 ≥ 5(да)  
               
               
               
            2 ≤ 4 (да)  
               
               
               
            12 ≥ 5(да)  
               
               
            7 ≥ 5(да)  
               
               
            7 ≥ 5(да)  
               
               
               
            4 ≤ 4 (да)  
               
               
               
            16 ≥ 5(да)  
               
               
            11 ≥ 5(да)  
               
               
            6 ≥ 5(да)  
               
               
            1 ≥ 5(нет)  
            8 ≥ 5(да)  
               
               
               
            5 ≤ 4 (нет)  
               
            5 ≤ 4 (нет)  

 

 

В результате получились заполненные таблицы:

 

 

Таблица S Таблица Р

+           ×        
        105            
      105 115         115  
    105 115 125       115 145 225
  105 115 125 135       135 225 315

 

Исполняя команды алгоритма ЭВМ поступает формально, она не знает условия задачи. ЭВМ исполняет команды одну за другой, строго по правилам исполнения данной команды. Исполним алгоритм, не зная условий задачи.

алг подсчет (вещтаб С[10: 15, 0: 1], цел m, n, k) арг С рез m, n, k начцел i, j i: =10; m: =0; n: =0; k: =0 пока i≤ 15 нц j: =0 пока j≤ 1 нц если C[i, j]> 0 то m: =m+1 иначеесли C[i, j]=0 то n: =n+1 иначе k: =k+1 все все j: =j+1 кц i: =i+1 кц кон

 

Подготовим для работы таблицу С, заполненную вещественными числами.

Таблица С

     
  -0, 6 2, 9
     
  67, 08 -1
  -25  
     
  -46, 78  

 

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

Шаги алгоритма Аргумент Пром. Величины Результат Проверка условий  
С i j m n k  
                      10 ≤ 15 (да)      
  -0, 6              
                -0, 6 > 0 (нет) -0, 6 = 0 (нет)     1 ≤ 1 (да)  
  2, 9              
                    2, 9 > 0 (да)     2 ≤ 1 (нет)   10 ≤ 15 (да)   0 ≤ 1 (да)  
                 
                0 > 0 (нет) 0 = 0 (да)     1 ≤ 1 (да)  
                 
                    100 > 0 (да)     2 ≤ 1 (нет)   12 ≤ 15 (да)   0 ≤ 1 (да)  
  67, 08              
                67, 08 > 0 (да)     1 ≤ 1 (да)  
  -1              
                  -1 > 0 (нет) -1 = 0 (нет)     2 ≤ 1 (нет)   13 ≤ 15 (да)   0 ≤ 1 (да)  
  -25              
                -25 > 0 (нет) -25 = 0 (нет)     1 ≤ 1 (да)  
                 
                  0 > 0 (нет) 0 = 0 (да)     2 ≤ 1 (нет)   14 ≤ 15 (да)   0 ≤ 1 (да)             67, 08 > 0 (да)     1 ≤ 1 (да)
                 
                5 > 0 (да)     1 ≤ 1 (да)  
                 
                    247 > 0 (да)     2 ≤ 1 (нет)      
  -46, 78              
                -46, 78 > 0 (нет) -46, 78 = 0 (нет)     1 ≤ 1 (да)  
                 
                  0 > 0 (нет) 0 = 0 (да)     2 ≤ 1 (нет)   16 ≤ 15 (нет)  

В результате исполнения мы получаем m=5, n=3, k=4.

 

Вопросы

1 Какие бывают таблицы?

2 Какое служебное слово вводится для указания таблицы?

3 Какая таблица называется линейной?

4 Какая таблица называется прямоугольной?

5 Как различаются элементы таблицы?

6 Как по обозначению отличить линейную таблицу от прямоугольной?

7 Как определить будут в таблице даны элементы или она пустая?

8 Какую команду всегда используют в алгоритмах для работы с табличными величинами?

9 Как находят элемент в таблице?

10 Как нумеруются строки и столбцы в таблице?

11 С какого числа может начинаться нумерация строк и столбцов?

12 Как исполняют алгоритмы для работы с табличными величинами?

 


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

mylektsii.su - Мои Лекции - 2015-2024 год. (0.018 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал