Сколько среди них чисел, больших 10? i1, K K нет да x &gt конец Вывод K Ввод x начало Правило счетчика: начальное значение Семантика определяет смысловое значение предложений языка. Состав системы программирования: Текстовый редактор (необходимый для создания и


Чтобы посмотреть презентацию с картинками, оформлением и слайдами, скачайте ее файл и откройте в PowerPoint на своем компьютере.
Текстовое содержимое слайдов презентации:

АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ Цель занятия: Разрешить представление об алгоритмах: ознакомить со свойствами алгоритмов; дать классификацию типов алгоритмов по структуре их построения. Понятие алгоритма и его свойства Алгоритм (от algoritmi)- предписание, однозначно задающее процесс преобразования исходной информации в виде последовательности элементарных дискретных шагов, приводящих за конечное число их применений к результату. Мухаммед ибн Муса аль-Хорезми (783-850) Пример. Робот должен выполнить следующее задание: продвигаясь по цеху, взять деталь и установить ее Вперед – переход на первую клетку в прямом направленииВправо – поворот на месте на 900 вправо.Вперед – переход через одну клетку в прямом направлении.Взять – захват объекта.Установить – установка объекта в данной клетке поля. Свойства алгоритмов Дискретность – последовательное выполнение простых или ранее определённых (подпрограммы) шагов. Преобразование исходных данных в результат осуществляется дискретно во времени. Понятность – каждая команда алгоритма должна быть понятна тому, кто исполняет алгоритм; в противном случае, эта команда и, следовательно, весь алгоритм в целом не могут быть выполнены. Определенность - каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвольного толкования. Результативность - означает возможность получения результата после выполнения конечного количества операций. Корректность - решение должно быть правильным для любых допустимых исходных данных.Массовость заключается в возможности применения алгоритма к целому классу однотипных задач, различающихся конкретными значениями исходных данных (разработка в общем виде). Способы описания алгоритмов словесный (на естественном языке);формульно-словесный;табличный (обычно носит вспомогательный характер); графический (использует элементы блок-схем). Блок-схема - графическое изображение структуры алгоритма, в котором каждый этап процесса переработки данных представляется в виде геометрических фигур (блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых при этом операций. - начало или конец алгоритма - ввод/вывод данных или результата на экран монитора - процесс – арифм. выражение или операция присваивания - проверка условия - подпрограмма - вывод на принтер циклический процесс. нет да Основные алгоритмические конструкции Линейным принято называть вычислительный процесс, в котором этапы вычислений выполняются в линейной последовательности и каждый этап выполняется только один раз. оператор1 оператор2 оператор3 начало Ввод А, В С = А2 + В2 Вывод С конец Блок-схема вычисления гипотенузы по теореме Пифагора Разветвляющийся вычислительный процесс реализуется по одному из нескольких заранее предусмотренных направлений (ветвей) в зависимости от выполнения некоторого условия (логического выражения - ЛВ). Ветвящийся процесс, включающий в себя две ветви, называется простым, более двух ветвей - сложным. полное ветвление если-то-иначе сериякоманд 1 сериякоманд 2 ЛВ да нет сериякоманд ЛВ да нет неполный вариант ветвленияесли-то Алгоритм вычисления функции: начало Ввод a, b, c, d, x Вывод Y конец X > 0 Y = c / d Y = a + b да нет Циклический вычислительный процесс (цикл) включает участки, на которых вычисления выполняются многократно по одним и тем же математическим формулам, но при разных значениях исходных данных. Цикл называется детерминированным (цикл с параметром), если число повторений тела цикла заранее известно или определено. Цикл называется итерационным (с пред- и постусловием), если число повторений тела цикла заранее неизвестно, а зависит от значений переменных, участвующих в вычислениях. серия команд ЛВ да нет серия команд пц:=нз, кз, ш цикл с предусловием цикл с постусловием цикл с параметром серия команд ЛВ да нет Базовые алгоритмы Алгоритм поиска наибольшего (наименьшего) значения:за max (min) принимаем значение любого из данных и поочередно их сравниваем. Если окажется, что очередное значение входного данного больше (меньше) max (min) , то max (min) присваиваем это значение. Алгоритм использует неполное ветвление. Пример. Заданы три числа a, b, c. Найти значение наименьшего из них. начало Ввод a, b, c Вывод min конец b n m > n n=n-m m=m-n нет нет да Выводm Конец да m=18 n=12 m=6 n=6 НОД=6 Пример. Вычислить факториал F натурального числа N (N!=123…N). Используется цикл со счетчиком i. Начало ВводN i = 1, N, 1 F=F*i ВыводF Конец F=1 N=4 F=1 i=1 F=1*1=1 i=2 F=1*2=2 i=3 F=2*3=6 i=4 F=6*4=24 Правило произведения:начальное значение произведения Р=1;в теле некоторой циклической конструкции выполнить команду: Р = Р * <множитель> Пример. Составим алгоритм вычисления суммы N первых натуральных чисел. Используется цикл с предусловием. начало Ввод N Вывод S конец i > N S=S+i i=i+1 да нет S=0, i=1 N=5 S=0 i=1 S=0+1=1 i=2 S=1+2=3 i=3 S=3+3=6 i=4 S=6+4=10 i=5 S=10+5=15 i=6 S=15 Правило суммирования:начальное значение суммы S=0;в теле некоторой циклической конструкции выполнить команду: S = S + <слагаемое> Пример. Задано 20 чисел. Сколько среди них чисел, больших 10? начало Ввод x Вывод K конец x > 10 да нет K = K+1 K=0 i=1, 20, 1 Правило счетчика:начальное значение счетчика K=0;в теле некоторой циклической конструкции выполнить команду: K = K + 1 Рис. Расположение циклов а б в последовательные вложенные запрещенные Алгоритм любой задачи может быть представлен как комбинация представленных выше элементарных алгоритмических структур, поэтому данные конструкции: линейную, ветвящуюся и циклическую, называют базовыми. Рекурсивным называется алгоритм, организованный таким образом, что в процессе выполнения команд на каком-либо шаге он прямо или косвенно обращается сам к себе. Задания для самостоятельной работы 1) Определите значение целочисленной переменной х после выполнения следующего фрагмента алгоритма: x=55, y=75 x <> y x > y y=y-x x=x-y нет нет да да 2) Определите значение переменной В : A = 1 B = 2 C = 1 B = A + B C = C + 1 C < 4 да нет 3) Определите значение переменной А : A = 2 B = 3 B = B - 1 A = A*2 + 1 B > 0 да нет Простые и структурированные типы данных Простые типы данных: целые и вещественные числа, символы и логические величины. Переменная - это именованный объект (ячейка памяти), который может изменять свое значение.Тип переменной задает:используемый способ записи информации в ячейке памяти;необходимый объем памяти для ее хранения. Если переменные присутствуют в программе, на протяжении всего времени ее работы — их называют статическими. Переменные, создающиеся и уничтожающиеся на разных этапах выполнения программы, называют динамическими.Данные, значения которых не изменяются на протяжении работы программы, называют константами. Тип данных, позволяющий хранить вместе под одним именем несколько переменных, называется структурированным. Массив - упорядоченная совокупность однотипных величин, имеющих общее имя, элементы которой адресуются (различаются) порядковыми номерами (индексами). Количество элементов массива называют размерностью. Блок-схема алгоритма ввода элементов массива А(10) i = 1, 10, 1 Ввод A(i) Пример. Вычислить среднее арифметическое положительных элементов массива А(10). начало Положительных элементов нет конец A(i)>0 S=S+A(i) N=N+1 да нет S=0, N=0 N>0 SA=S/N да i = 1, 10, 1 Ввод A(i) i = 1, 10, 1 нет Вывод SA Пример. В массиве А(10) найти наибольший элемент и его индекс. начало A(m), m конец A(i)>A(m) m = i да нет m = 1 i = 1, 10, 1 Ввод A(i) i = 2, 10, 1 Двумерный массив характеризуется двумя размерностями N и М, определяющими число строк и столбцов соответственно. Алгоритм ввода матрицы А(NМ). i = 1, N, 1 Ввод A(i,j) j = 1, M, 1 Пример. Задана матрица символов Х(100x100), представляющая собой карту ночного неба; звездам на карте соответствуют символы «*». Определить: сколько звезд на карте? Создание программ Программа - это описание алгоритма и данных на некотором языке программирования, предназначенное для последующего автоматического выполнения.Программирование - это 1) раздел информатики, изучающий методы и приемы составления программ для компьютеров;2) теоретическая и практическая деятельность, связанная с созданием программ. Свойства программ:Выполнимость - возможность выполнения программы на данном типе компьютеров.Мобильность - возможность переноса программы на другой тип компьютеров.Правильность программы - правильность результатов, получаемых с помощью данной программы.Эффективность - минимум времени выполнения, минимум машинной памяти и других ресурсов компьютера. Язык программирования — это система обозначений, служащая для точного описания программ или алгоритмов для ЭВМ. Основные требования, предъявляемые к языкам программирования:наглядность;единство;гибкость;модульность;однозначность. Алфавит - это фиксированный для данного языка набор основных символов («букв алфавита»), из которых должен состоять любой текст, написанный на нем (никакие другие символы в тексте не допускаются).Синтаксис - система правил, определяющих допустимые конструкции языка программирования из букв алфавита.Семантика определяет смысловое значение предложений языка. Состав системы программирования:Текстовый редактор (необходимый для создания и редактирования исходного кода программы на языке программирования)КомпиляторРедактор связейОтладчик (позволяет анализировать работу программы во время ее выполнения, выполнять программу по шагам)Библиотеки функций (готовые подпрограммы, реализующие стандартные функции - математические, логические и т.п.)Справочная система. Домашнее задание выучить определения; привести примеры алгоритмов из жизненной практики.

Приложенные файлы

  • ppt 26751070
    Размер файла: 847 kB Загрузок: 0

Добавить комментарий