Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




Тема: «Основные понятия алгоритмизации, свойства алгоритмов»

              «История развития языков программирования»

Подготовила: Швидкая К.С.

Проверила: Суименова Л.А.

 

 

Алматы

 


 

План:

1. Введение

2. Алгоритмизация и программирование

2.1.  Алгоритмизация вычислительных процессов

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

2.1.2. Основные понятия алгоритмизации вычислительных процессов

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

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

2.1.3.2. Графическое описание алгоритма

2.1.3.3. Описание на алгоритмических языках

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

2.1.5. Структуры алгоритмов

2.1.6. Примеры способов заданий структур алгоритмов

2.2. История развития языков программирования

2.3. Языки программирования

3. Вывод

4. Список использованной литературы
Введение

Я, Швидкая Кристина, обучающаяся группы ТОП-189-1. Моя задача: изучить практические аспекты функционирования организации, применить свои знания в реальной жизни, овладеть навыками работы с компьютером на новом уровне, раскрыть тему, данную мне для углубленного изучения.

Геометрия развивает геометрическое мышление, математика — абстрактное математическое, логика — логическое, физика — физическое… А какое мышление развивает информатика? Информатика есть наука, служащая информационным технологиям. Но фундаментальными достижениями этой науки оказались не сами технологии, а общие методы построения систем и решения сложных задач. Базисом этих методов являются алгоритмы и системный подход к решению задач. Поэтому информатика развивает алгоритмическое мышление и учит системному подходу к решению задач.

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

Программирование все в большей степени становится занятием лишь для профессионалов. Объявленный в середине 1980-х гг. лозунг «Программирование — вторая грамотность» остался в прошлом. В понятие «компьютерная грамотность» сегодня входит, прежде всего, навык использования многообразных средств информационных технологий. При решении той или иной информационной задачи сначала следует попытаться подобрать адекватное программное средство (электронные таблицы, системы управления базами данных, математические пакеты и др.), и только если эти средства не позволяют решить поставленную задачу, использовать универсальные языки программирования.

Первым кодировки на бумаге придумал Паскаль. В одной строке умещалось от 0 до 255 символов. Первым языком электрического типа считается Планкакюль. Его изобретателем считается немец Конрад Цузе. Элементы ячейки располагались в две строки. В первой писались натуральные, а во второй аргументы. Один из 4-х его компьютеров был частично из консервных банок. Использовалась двуличная система в одной ячейке.

Задача, которую следует ставить при первоначальном изучении программирования, — это освоение основ его структурной методики. Структурная методика до настоящего времени остается основой программистской культуры. Не освоив ее, человек, взявшийся изучать программирование, не имеет никаких шансов стать профессионалом.

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

Понятие алгоритма в информатике является фундаментальным, то есть таким, которое не определяется через другие, еще более простые понятия. Слово “алгоритм” появилась в результате искаженного перевода с арабского на европейские языки имени узбекского учёного 9 века Аль Хорезми, который изложил правила арифметических действий над числами позиционной десятичной системе счисления. Эти правила и назвали алгоритмами. Первые алгоритмы появились вместе с математикой, а теория алгоритмов возникла значительно позже.

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

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

При всем многообразии алгоритмов решения задач в них можно выделить три основных вида вычислительных процессов:

· Линейным называется такой вычислительный процесс, при котором все этапы решения задачи выполняются в естественном порядке следования записи этих этапов.

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

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


 

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

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

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

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

Исполнитель алгоритма – это автоматическое устройство (робот, ЭВМ, станок с ЧПУ и т.д.) или человек, способный выполнить определенный набор команд. Исполнитель характеризуется полем действия (или средой), системой команд и детализацией выполняемых действий, возможностью отказа от выполнения действий.

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

Язык программирования – это формализованный язык для описания алгоритма решения задачи на компьютере.

 


 

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

Пример:


 


 

Графическим (в виде блок схемы);

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

Несомненное достоинство блок-схем – наглядность и простота записи алгоритма.

Условные обозначения в блок-схемах

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

 

*примеры графического описания алгоритма смотреть в подтеме «Примеры способов заданий структур алгоритмов»

 


 

Описание на алгоритмических языках

Алгоритмические языки – формальные языки, предназначенные для записи алгоритмов. Каждый из них характеризуется:

§ Алфавитом – набором используемых символов;

§ Синтаксисом – системой правил, по которым из символов алфавита образуются правильные конструкции языка;

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

Основные служебные слова алгоритмического языка

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

Общий вид алгоритма:

Заголовок

Тело алгоритма

 


 

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

· Дискретность – предусматривает разбиение процесса отработки информации на более простые этапы (шаги выполнения), выполнение которых человеком или компьютером не вызывает затруднений;

Пример: Вы можете выполнить шаг только после выполнения предыдущего. Например, в алгоритме вычисления 2+5*3 (без скобок) вы сперва выполните умножение (по правилу), а только затем прибавите 2. Иначе ответ неверен.

· Определенность (или детерминированность) – характеризует однозначность выполнения каждого отдельного шага преобразования информации;

Вы не можете разделить 5 на 3, если Вам ясно сказано: умножьте. Определенность - это четкое прописывание условия задачи.

· Результативность (или конечность) – предполагает завершение работы алгоритма в целом за конечное число шагов;

После выполнения действий Вы получите ответ 17. Результативность следует из определенности. Благодаря результативности Вы получите "среду", в которой все объекты однозначно определены.

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

Алгоритм может быть применен не единожды. То есть в нашем примере 8*3+2 присутствуют операции умножения и сложения, но они могут встречаться не только в нашем примере, а "пригодны" для множества других задач, в которых требуется умножить или сложить.

Всякий алгоритм применяется к исходным (входным) данным, и результатом его работы являются выходные данные, в ходе работы алгоритма появляются промежуточные данные. Для описания данных фиксируется набор элементарных символов (алфавит данных) и даются правила построения сложных данных из простых. Данные для своего размещения требуют памяти. В ЭВМ память состоит из одинаковых ячеек, каждая из которых может содержать один или несколько символов алфавита данных. Таким образом, единицы объема данных и памяти согласованы.

Структуры алгоритмов

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

Структура «Следование». Данная структура предполагает последовательное расположение блоков и групп блоков. В программе она реализуется последовательным размещением операторов (рис. 1)

Рис. 1. Структура «Следование»

Структура «Разветвление». Данная структура применяется, когда в зависимости от заданного условия нужно выполнить либо одно, либо другое действие (рис. 2).

Рис. 2. «Разветвление»

Структура «Обход». Это частный случай разветвления, когда одна из ветвей не содержит никакого действия (рис. 3).

Рис. 3. Частные случаи структур «Разветвление» (обход)

Структура цикла «До». Данная структура применяется при необходимости выполнить какие-либо вычисления несколько раз до выполнения некоторого заданного условия (рис. 4).

Рис. 4. Структура цикла «До»

Структура «Пока». Структура цикла «Пока» отличается от структуры цикла «До» тем, что проверка условия производится до выполнения тела цикла (рис. 5).

Структура «Множественный выбор». Множественный выбор является обобщением разветвлением, когда в зависимости от значения переменной (I) выполняется одно из нескольких действий (S1, S2, Sn) (рис. 6).


 

Рис. 5. Структура цикла «Пока»

Рис. 6. Структура «Множественный выбор»

Комбинированные алгоритмы. Структурный подход предполагает использование только несколько основных структур (линейных, ветвящихся, циклический), комбинации которых дает все многообразие алгоритмов.

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


 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...