Тема: алгоритмизация. Структурный подход к программированию — КиберПедия 

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Тема: алгоритмизация. Структурный подход к программированию

2020-12-06 61
Тема: алгоритмизация. Структурный подход к программированию 0.00 из 5.00 0 оценок
Заказать работу

ТЕМА: АЛГОРИТМИЗАЦИЯ. СТРУКТУРНЫЙ ПОДХОД К ПРОГРАММИРОВАНИЮ

 

Основным в процессе программирования является разработка алгоритма. Это один из наиболее сложных этапов решения задач с использованием ЭВМ.

1. Этапы решения задач с помощью ЭВМ.

I этап. При решении задач с помощью ЭВМ важным моментом является постановка задачи. Необходимо выяснить исходные данные, результат и установить связь между ними, то есть создать модель задач.

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

При создании математической модели необходимо:

1) выделить предположения, на которых будет основана модель;

2) определить, что считать исходными данными, что результатом;

3) записать математические соотношения (формулы, уравнения и т.д.), связывающие исходные данные с результатом;

II этап. Составление алгоритма.

Определение. Алгоритм – это конечная последовательность предписаний, однозначно определяющих процесс преобразования исходных и промежуточных данных в конечные данные, являющиеся результатом решения задачи.

Свойства алгоритма:

1) дискретность (прерывность) – описываемый процесс должен быть разделен на последовательность отдельных шагов.

2) последовательность – только выполнив требования одного предписания, можно выполнять следующее;

3) понятность (определенность) – алгоритм не должен содержать указаний, смысл которых непонятен, после выполнения каждого указания не должно быть разночтения в порядке выполнения следующего;

4) массовость – алгоритм составляется для большого класса задач;

5) результативность – при точном исполнении всех предписаний алгоритма, процесс должен прекратиться за конечное число шагов.

Характеристики алгоритмов:

- вход алгоритма;

- выход алгоритма;

- определенность шагов алгоритма;

- выполнимость шагов;

- конечность.

Способы описания алгоритмов:

- словесный;

- графический (блок-схема).

- программный.

III этап. Составление программ.

Алгоритм, записанный на языке программирования называется программой.

Схема этапов решения задач:

                        

 

 

 

 


Правила построения алгоритмов на языке блок-схем

1. Блок-схема строится сверху вниз.

2. В любой блок-схеме имеется только один элемент, соответствующий началу алгоритма, и один элемент, соответствующий концу алгоритма.

3. Должен быть хотя бы один путь из начала блок-схемы к любому элементу.

4. Должен быть хотя бы один путь от каждого элемента блок-схемы в конец блок-схемы.

Базовые управляющие конструкции алгоритмов

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

Пример.

Составить блок-схему вычисления значений функции в указанной точке.

при а=0.83, х=1.2

 
начало
 

1

 


А, Х
     

2

 

3   Y1 =

 


4      Y2 =

 


     5  Y3 =

 


  6

 

 


      7


конец
    8

 

Алгоритм решения задачи 1. Начало 2. Ввести с клавиатуры а, х       3. Y1 = 4. Y2 = 5. Y3 = 6. Y = Y2 – Y3 7. Вывести значение Y 8. Конец                                                                                 

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

Каждое отдельное направление называется ветвью вычислений. Выбор той или иной ветви осуществляется при выполнении программы в результате проверки некоторых условий и определяется свойствами исходных данных и промежуточных результатов. При составлении программы должны быть учтены все возможные ветви вычислений.

В основе организации разветвления лежит проверка логического условия, которое может быть истинно или ложно.

Общая структура ветвления

 

                                                      1

                                 True                                                     False

                   2                                                                        3

 

                                                                 4

                                                 

Порядок выполнения.

1. Вычисляется выражение, записанное в условии.

2. В результате его вычисления получается значение булевского типа. Если значение логического выражения равно TRUE (истина), то выполняется Оператор1, а Оператор2 пропускается,

3. Если значение логического выражения равно False (ложно), то выполняется Оператор2, а Оператор1 пропускается.

4. Далее в любом случае выполняется оператор3.

Пример 1. Вычислить

1. Исходные данные: x Є R, x ³ 0

Результат: y Є R.

2. Полный вариант                                                  

Блок-схема             1    
 


             2

 


3

               Да                               Нет 

4
5

 

 

 


            6

 


           7

 

Алгоритм решения задачи 1. Начало 2. Ввести Х с клавиатуры 3. Если Х ³ 0 4. То 5. Иначе «Решений нет» 6. Вывести Y 7. Конец  

2. Сокращенный вариант

Блок-схема
 


              1

               2

 


3

       4    Да                              Нет   

 


              5

 


              6

 

Алгоритм решения задачи 1. Начало 2. Ввести Х с клавиатуры 3. Если Х ³ 0 4. То 5. Вывести Y 6. Конец

Пример 2.

Вложенные алгоритмы разветвляющейся структуры

Разветвляющийся алгоритм может иметь вложенную конструкцию, когда после True или False используется такой же алгоритм структуры разветвления.

Пример. Составить блок-схему вычисления значений функции:

1. Исходные данные: х Є R

Результат: y Є R

2. Блок-схема
 


              1

 


             2

                Да 3                      Нет

4                                             5

y = x
                                         Да                         Нет

     


y = -x+5
y = 2
                    6                                         7

 

 

 

 


                         8

 


                9

Алгоритм решения задачи 1. Начало 2. Ввести Х 3. Если Х < 2 4. То Y = X 5. Иначе Если 2£Х<3 6. То Y = 2 7. Иначе Y = -x + 5 8. Вывести Y 9. Конец  

Пример 3.

Составить алгоритм нахождения max (min) числа среди трех заданных чисел.

Дано:

MAX (a+2*b; a*b+c; c2 + 1)

Решение.

1. Исходные данные:

a, b, c Є R; y1 = a+2*b; y2 = a*b+c; y3 = c2 + 1

2. Блок-схема
 


                         1

 


                          2

 


                         3                                                                

 


                         4

 


                          5

+                           -

                            6                  

     + 7           -                   + 10           -           

          

8                     9                11                    12

             
Y = y3  
Y = y3  
 
Y = y2  
Y = y1


                                     

 

 


                     13

 


                     14

 

Алгоритм решения задачи 1. Начало 2. Ввести а, b, c  с клавиатуры 3. Вычислить у1 = a+2*b 4. Вычислить у2 = a*b+c 5. Вычислить у3 = c2 + 1 6. Если у1>y2, то 7. Если y1>y3, 8. То Y = y1, 9. Иначе Y=y3 10. Иначе Если у2>y3, 11. То Y = y2, 12. Иначе Y = y3 13. Вывести Y 14. Конец  

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

 

где S - некоторое выражение, селектор (выбор альтернативы); instr 1, instr 2, …, instr n - операторы, из которых выполняется тот, константа выбора которого равна текущему значению селектора S; instr - оператор, который выполняется, если значение выражения S не совпадает ни с одной из констант
instr 2  
instr 1  
instr  
    

Ложь                                Истина

                               1            2                   n

 
instr n  


                                                              ………

     
 
Порядок выполнения. 1. Сначала вычисляется значение выражения-селектора S. 2. Обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора instr1, instr2, …, instr n. Если ни одна из констант не равна текущему значению селектора, выполняется оператор instr.

 


Правила организации цикла

1. Подготовка цикла. Перед началом цикла параметру цикла присваивается начальное значение;

2. Тело цикла. Действия, повторяемые в цикле для различных значений параметра цикла.

3. Модификация. Внутри тела цикла параметр цикла увеличивается на шаг изменения параметра цикла перед каждым новым его повторением.

4. Управление циклом. Осуществляется: проверка условия продолжения или окончания цикла, переход на начало тела цикла, если выполняется условие продолжения цикла или выход из цикла по его окончании.

Определение. Параметром цикла называется переменная, значение которой изменяется на некоторую величину на каждом шаге цикла. Шаг изменения параметра может быть величиной постоянной или переменной.

Цикл с параметром

- цикл по возрастающим значениям параметра;

- цикл по убывающим значениям параметра.

1) Алгоритмическая конструкция по возрастающим значениям параметра

 

 

 

 


где I       – параметр цикла;

    N1, N2 - его начальное и конечное

S
                    значение;

     S      – простой или составной  

                     оператор (тело цикла).    

Примечание. N1 изменяется с шагом +1

 

 


2) Алгоритмическая конструкция по убывающим значениям параметра:

 


обозначения прежние

        

             

S
           

             

Примечание. N2 изменяется с шагом -1.

 

 

Пример 1.

Вычислить сумму: S=12 + 22 + 32 + … + n2 = , где n – заданное число.

        
         
 

 


S = S + i2

Алгоритм решения задачи 1. Начало 2. Ввести N 3. S = 0 (обнуление ячейки суммы) 4. Организуем цикл по I, присваиваем I нач.знач. и кон.значение 5. Вычислить i2 и прибавить к текущему значению S (обозначение S = S + i2) 6. Увеличить i на 1 (обозначение i = i +1) 7. Сравнить i с n, если I < N, то вернуться к п.5, иначе перейти к п.8 8. Вывести S. 9. Конец.   Основная повторяющаяся операция: S = S + i2 выполняется при различных значениях i. Величина i называется параметром цикла. Параметр цикла изменяется от нач.значения i=1 до конечного i=n с шагом 1.  

Цикл с предусловием

Действие цикла

1. Вначале вычисляется значение выражения B. 2. Если B = true, то выполняется оператор S, и снова происходит возврат на вычисление B. Так повторяется до тех пор, пока B не будет false, что является выходом из цикла. Если первоначальное значение B есть false, то цикл не выполнится ни разу.
                                                                                                                                                                            

                                                                               

 

Пример 2. Условие прежнее ( Вычислить сумму: S=12 + 22 + 32 + … + n2 = , где n – заданное число )

        
   
 

 

 


     

 

 

 


                                                 

Алгоритм решения задачи 1. Начало 2. Ввести n 3. S = 0 (обнуление ячейки суммы) 4. Положить i =1 (нач.значение) 5. Открываем цикл по I 6. Сравниваем I с N. Если I>N, переход к п.10, иначе 7. S = S + i2 8. i = i +1 9. Переход к п.6 10. Вывести S. 11. Конец.    

Цикл с постусловием

Действие цикла

     
 
1. Выполняются операторы S. 2. Вычисляется значение выражения В. Если В = false, то снова выполняются операторы S и т.д. Повторение продолжается до тех пор, пока В не примет значение true, которое является завершением цикла. Если с самого начала В = true, то операторы S выполняются одни раз. 3. Выход из цикла осуществляется при истинности (!) некоторого логического выражения.  

 


Пример 3. Условие прежнее ( Вычислить сумму: S=12 + 22 + 32 + … + n2 = , где n – заданное число )

         
   
 
S = 0  

 


i = 1  
                                               

 

     
 

 

 


I = I +1  
               

 


                

 

 


Алгоритм решения задачи 1. Начало 2. Ввести n 3. S = 0 (обнуление ячейки суммы) 4. Положить i =1 (нач.значение пар.цикла) 5. Организуем цикл по I 6. Вычислить S = S + i2 7. i = i +1 8. Сравнить i с n, если I >N, то вернуться к п.6, иначе перейти к шагу 9. 9. Вывести S. 10. Конец.    

Вложенные циклы (сложные)

ТЕМА: АЛГОРИТМИЗАЦИЯ. СТРУКТУРНЫЙ ПОДХОД К ПРОГРАММИРОВАНИЮ

 

Основным в процессе программирования является разработка алгоритма. Это один из наиболее сложных этапов решения задач с использованием ЭВМ.

1. Этапы решения задач с помощью ЭВМ.

I этап. При решении задач с помощью ЭВМ важным моментом является постановка задачи. Необходимо выяснить исходные данные, результат и установить связь между ними, то есть создать модель задач.

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

При создании математической модели необходимо:

1) выделить предположения, на которых будет основана модель;

2) определить, что считать исходными данными, что результатом;

3) записать математические соотношения (формулы, уравнения и т.д.), связывающие исходные данные с результатом;

II этап. Составление алгоритма.

Определение. Алгоритм – это конечная последовательность предписаний, однозначно определяющих процесс преобразования исходных и промежуточных данных в конечные данные, являющиеся результатом решения задачи.

Свойства алгоритма:

1) дискретность (прерывность) – описываемый процесс должен быть разделен на последовательность отдельных шагов.

2) последовательность – только выполнив требования одного предписания, можно выполнять следующее;

3) понятность (определенность) – алгоритм не должен содержать указаний, смысл которых непонятен, после выполнения каждого указания не должно быть разночтения в порядке выполнения следующего;

4) массовость – алгоритм составляется для большого класса задач;

5) результативность – при точном исполнении всех предписаний алгоритма, процесс должен прекратиться за конечное число шагов.

Характеристики алгоритмов:

- вход алгоритма;

- выход алгоритма;

- определенность шагов алгоритма;

- выполнимость шагов;

- конечность.

Способы описания алгоритмов:

- словесный;

- графический (блок-схема).

- программный.

III этап. Составление программ.


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

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.165 с.