Основы алгоритмизации и программирования

Содержание

Слайд 2

Алгоритмизация – это описание очередности выполнения различных операций, необходимых для решения какой-либо

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

Понятие алгоритма

Слайд 3

Термин “алгоритм” происходит от имени узбекского ученого IX века аль-Хорезми́, который изложил

Термин “алгоритм” происходит от имени узбекского ученого IX века аль-Хорезми́, который изложил
правила арифметических действий над числами в десятичной системе счисления. Эти правила и называли алгоритмами.
Т.о., правила сложения, вычитания, деления, умножения чисел, правила преобразования алгебраических выражений, правила построения геометрических фигур, правила правописания слов и предложений, различные правила и инструкции, представляющие собой подробные указания, годные в однотипных ситуациях – всё это алгоритмы.

Слайд 4

Пример
(линейного) алгоритма

Начало

Конец

Пример (линейного) алгоритма Начало Конец

Слайд 5

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

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

Слайд 6

3. Построение алгоритма, определение общего порядка выполнения этапов и/или шагов.
4. Проверка правильности

3. Построение алгоритма, определение общего порядка выполнения этапов и/или шагов. 4. Проверка
алгоритма.
Далее следует программирование на определенном языке в определенной системе программирования.
Затем перед использованием программы выполняется отладка и тестирование.

Слайд 7

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

Дискретность (прерывность, раздельность) – алгоритм должен состоять из последовательности законченных действий

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

Слайд 8

3. Массовость – возможность решения по одному алгоритму множества однотипных задач.
4. Результативность

3. Массовость – возможность решения по одному алгоритму множества однотипных задач. 4.
– алгоритм должен обеспечивать возможность получения результата после конечного числа шагов.

Слайд 9

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

Словесный – это последовательное описание основных этапов обработки данных в

Способы описания алгоритмов Словесный – это последовательное описание основных этапов обработки данных
произвольном изложении на естественном языке.
Пример словесного способа записи алгоритма нахождения НОД двух чисел:
Если числа равны, то взять любое из них в качестве ответа, в противном случае – продолжить выполнение алгоритма;
Определить большее из чисел;
Заменить большее число разностью большего и меньшего чисел;
Повторить алгоритм сначала.

Слайд 10

2. Графический – это метод блок-схем. При графическом представлении алгоритм изображается в

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

Слайд 12

3. Псевдокод – представляет собой систему обозначений и правил, предназначенную для единообразной

3. Псевдокод – представляет собой систему обозначений и правил, предназначенную для единообразной
записи алгоритмов. Псевдокод занимает промежуточное место между естественным и формальным языками.
Примером псевдокода может являться алгоритмический язык:
алг Сумма квадратов (арг цел n, рез цел S)
дано | n > 0
надо | S = 1*1 + 2*2 + 3*3 + ... + n*n
нач цел i
ввод n;
S:=0
нц для i от 1 до n
    S:=S+i*i
кц
  вывод "S = ", S
кон

Слайд 13

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

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

Слайд 14

Данные и величины

 

Данные и величины

Слайд 15

Каждая величина занимает определенное место в памяти – ячейку, а значение этой

Каждая величина занимает определенное место в памяти – ячейку, а значение этой
величины определяется двоичным кодом в этой ячейке.

Слайд 16

 

Различные величины, с которыми работает компьютер, принято называть данными. По отношению к

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

Слайд 17

Линейный алгоритм

Линейный алгоритм – это тип алгоритма, в котором последовательность действий не

Линейный алгоритм Линейный алгоритм – это тип алгоритма, в котором последовательность действий
меняется в процессе его выполнения.

Слайд 18

Задача 1. Составить блок-схему линейного алгоритма посадки дерева.

Задача 1. Составить блок-схему линейного алгоритма посадки дерева.

Слайд 19

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

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

Слайд 20

 

начало
y1 := 3*3
y2 := 2*3
x := y1 – y2
вывод x
конец

начало
x := 3*3

начало y1 := 3*3 y2 := 2*3 x := y1 – y2
– 2*3
вывод x
конец

Слайд 21

Правила записи математических выражений в блок-схемах

Правила записи математических выражений в блок-схемах

Слайд 22

Примеры записи арифметических выражений

или

Примеры записи арифметических выражений или

Слайд 23

Типичные ошибки в записи выражений

2x+1

b + sin x

((x + y)*2 / (b+1)

Типичные ошибки в записи выражений 2x+1 b + sin x ((x + y)*2 / (b+1)

Слайд 24

Задача 2. Записать по правилам алгоритмического языка следующие выражения:

 

 

Задача 2. Записать по правилам алгоритмического языка следующие выражения:

Слайд 25

Задача 3. Записать в обычной математической форме арифметические выражения:

а) d*c/2/(R+a*a)

б) abs (x)

Задача 3. Записать в обычной математической форме арифметические выражения: а) d*c/2/(R+a*a) б)
/ 3 / z + x * x

Слайд 26

Златопольский Д.М. Сборник задач по программированию.
Стр. 5, № 1.14. – 1.17.

Златопольский Д.М. Сборник задач по программированию. Стр. 5, № 1.14. – 1.17.

Слайд 28

начало

ввод a, b, c

p := (a+b+c)/2

S := sqrt (p*(p-a)*(p-b)*(p-c))

вывод S

конец

начало ввод a, b, c p := (a+b+c)/2 S := sqrt (p*(p-a)*(p-b)*(p-c)) вывод S конец

Слайд 29

Составить блок-схемы алгоритмов по следующим задачам.
Задача 4. Даны два действительных числа. Получить

Составить блок-схемы алгоритмов по следующим задачам. Задача 4. Даны два действительных числа.
их сумму, разность и произведение.
Задача 5. Даны два действительных числа. Получить их среднее арифметическое.

Задача 6. Даны катеты прямоугольного треугольника. Найти площадь треугольника и его гипотенузу.
Задача 7. Написать алгоритм деления одной обыкновенной дроби на другую обыкновенную дробь.

Слайд 30

Разветвляющийся алгоритм

Разветвляющийся алгоритм

Слайд 33

8. Составить блок-схему алгоритма по следующей задаче.

Из трех монет одинакового достоинства одна

8. Составить блок-схему алгоритма по следующей задаче. Из трех монет одинакового достоинства
фальшивая (более легкая). Как ее найти с помощью одного взвешивания на чашечных весах без гирь?

Слайд 34

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

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

Слайд 35

Пример.
Написать алгоритм
вычисления функции Y,
используя систему:

начало
ввод x
x>0
вывод Y
конец

 

Да

Нет

 

 

Пример. Написать алгоритм вычисления функции Y, используя систему: начало ввод x x>0

Слайд 36

Алгоритм обхода

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

Алгоритм обхода Алгоритм обхода является разновидностью разветвляющегося алгоритма и применяется, когда одна
ветвей не содержит ни одного действия.
Пример. Даны числа x, y, z. Найти максимальное значение.

Слайд 37

начало
ввод x, y, z
max := x
y>max

нет

max := y

z>max

конец

Вывод max

max := z

нет

да

да

начало ввод x, y, z max := x y>max нет max :=

Слайд 41

15. Даны два действительных числа. Вывести первое число, если оно больше второго,

15. Даны два действительных числа. Вывести первое число, если оно больше второго,
и оба числа, если это не так.
16. Даны два действительных числа. Заменить первое число нулем, если оно меньше или равно второму, и оставить числа без изменения в противном случае.
17. Даны три действительных числа. Вывести на экран те из них, которые принадлежат интервалу [1..5].

Слайд 44

Циклические алгоритмы

Циклические алгоритмы

Слайд 46

Алгоритм циклической структуры – это такой алгоритм, в котором повторяются одни и

Алгоритм циклической структуры – это такой алгоритм, в котором повторяются одни и
те же действия.
Существует два типа циклических алгоритмов: цикл с предусловием и цикл с постусловием.
Алгоритм подготовки домашнего задания – цикл с предусловием: сначала задается условие, затем выполняются действия. Таким образом, в цикле с предусловием тело цикла может не выполниться ни разу.
Алгоритм поиска Золушки включает в себя цикл с постусловием: сначала выполняются 2 действия (встретить и примерить), а затем уже проверяется условие. Таким образом, действия в цикле с постусловием всегда будут выполнены хотя бы 1 раз.

Слайд 47

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

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

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

Слайд 48

Пример. Дано целое положительное число N. Найти N! (факториал).
Факториал числа N –

Пример. Дано целое положительное число N. Найти N! (факториал). Факториал числа N
это произведение всех натуральных чисел от 1 до N включительно. Факториал числа 0! = 1.
Если N=5, тогда N!=1*2*3*4*5=120
Для составления алгоритма понадобятся три переменные целого типа:
N – аргумент,
i – промежуточная переменная,
F – факториал числа, т.е. результат.

Слайд 49

начало

ввод N

F := 1

i := 1

i <= N

F := F * i

i

начало ввод N F := 1 i := 1 i F :=
:= i + 1

вывод F

конец

да

нет

Слайд 50

22. Одна штука некоторого товара стоит 20,4 рубля. Напечатать таблицу стоимости от

22. Одна штука некоторого товара стоит 20,4 рубля. Напечатать таблицу стоимости от
2 до 30 штук товара.
23. Спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал норму на 10% от нормы предыдущего дня. Какой путь пробежит спортсмен на 7 день.

Слайд 54

31. Вывести таблицу соответствия между весом в фунтах и весом в килограммах

31. Вывести таблицу соответствия между весом в фунтах и весом в килограммах
для значений 1, 2, 3, …, 22 фунта. 1 фунт = 453 грамма.
32. Вывести таблицу перевода расстояний дюймов в сантиметры для значений
10, 12, 14, …, 30 дюймов. 1 дюйм = 2, 54 см.

Слайд 55

Пошаговая детализация

Пошаговая детализация (программирование сверху вниз, нисходящая разработка) представляет собой процесс

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

Слайд 56

Пример. Составить алгоритм нахождения суммы квадратов чисел от 1 до 10.
Исходная схема

Пример. Составить алгоритм нахождения суммы квадратов чисел от 1 до 10. Исходная
алгоритма:

начало

Вычислить сумму
квадратов чисел от 1 до 10

вывести результат

конец

Слайд 57

Детализированная
схема алгоритма:

начало

вывести Sum

конец

Sum := 0

нужен ли еще один элемент?

нет

добавить к сумме
новый

Детализированная схема алгоритма: начало вывести Sum конец Sum := 0 нужен ли
элемент

да

получить следующий
элемент

Слайд 58

Итоговая
схема алгоритма:

начало

вывод Sum

конец

Sum := 0
i := 1

i <= 10

нет

Sum := Sum +

Итоговая схема алгоритма: начало вывод Sum конец Sum := 0 i :=
i * i

да

i := i + 1

Слайд 59

33. Найти сумму всех целых чисел от 1 до 10.
36. Найти среднее

33. Найти сумму всех целых чисел от 1 до 10. 36. Найти
арифметическое всех целых чисел от 30 до 100.
38. Известна масса каждого из 12 предметов. Определить общую массу всего набора предметов.
Имя файла: Основы-алгоритмизации-и-программирования.pptx
Количество просмотров: 37
Количество скачиваний: 0