Автор работы: Пользователь скрыл имя, 23 Января 2013 в 20:49, реферат
Запись алгоритма на формальном языке называется программой (program). В некоторых случаях само понятие алгоритма заменяется его записью. То есть слова «алгоритм» и «программа» практически являются синонимами. Небольшая, но главная, разница в использовании слова «алгоритм» в том, что под этим словом подразумевают основную идею формирования последовательности команд. И эта идея является общей для всех языков программирования. Слово «программа» относится к записи алгоритма на каком-либо конкретном языке программирования.
Алгоритм ……………………………………………………………….
Свойства…………………………………………………………………
Форма записи алгоритма……………………………………………….
Построение блок схем………………………………………………….
Классификация алгоритмов…………………………………………….
Типы данных …………………………………………………………...
Массивы …………………………………………………………………
Обработка массивов……………………………………………….
Сортировка массивов………………………………………………
МИНОБРНАУКИ РОССИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ
БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ»
(МГУПИ)
ИНСТИТУТ НЕПРЕРЫВНОГО ОБРАЗОВАНИЯ
Отчёт по дисциплине «Практические навыки работы в интернете»
Выполнил:
Студент 1 курса ИНПР7-1204з
Захаров Антон Сергеевич
Приняла:
Микаева Анжела Сергеевна
МГУПИ, 2013 г.
Содержание
1) Алгоритм.
Понятие алгоритма является одним из главных понятий программирования. Алгоритм – это последовательность команд, в результате выполнения которых исполнителем решается поставленная задача.
Понимая, что единого «истинного» определения понятия «алгоритм» нет, приведем еще два определения:
«Алгоритм — это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность». (Д. Э. Кнут)
«Алгоритм — это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи». (А. Колмогоров)
Запись алгоритма на формальном языке называется программой (program). В некоторых случаях само понятие алгоритма заменяется его записью. То есть слова «алгоритм» и «программа» практически являются синонимами. Небольшая, но главная, разница в использовании слова «алгоритм» в том, что под этим словом подразумевают основную идею формирования последовательности команд. И эта идея является общей для всех языков программирования. Слово «программа» относится к записи алгоритма на каком-либо конкретном языке программирования.
В математике рассматриваются различные виды алгоритмов – программы для машин Тьюринга, алгоритмы Маркова, рекурсивные функции и т.д. В программировании предполагается, что все языки программирования являются одинаково мощными. То есть любую задачу, имеющую алгоритм решения, можно решить посредством любого языка программирования. Выбор языка в конкретной ситуации зависит от удобства инструментов этого языка для данной задачи. Например, объектно-ориентированные языки удобны для программирования оконных сред, а язык Фортран с успехом используется для выполнения научных и инженерных расчетов.
Многие алгоритмические языки, используемые в программировании, имеют сходства. Но при изложении идеи алгоритма не всегда целесообразно оформлять его на каком-нибудь языке программирования, так как идея алгоритма может быть искажена второстепенными деталями. В таких случаях пользуются близким к человеческому алгоритмическим языком. Такой язык еще называют псевдокодом. Специалисту не трудно перевести алгоритм, описанный на псевдокоде, в программу на конкретном языке программирования.
Запись алгоритма в псевдокоде во многих ситуациях яснее и понятней. Псевдокод дает возможность выбора способа изложения алгоритма: от приведения общего чертежа алгоритма до описания деталей каждой части алгоритма. Псевдокод включает в себя сущность большинства языков программирования.
Виды алгоритмов.
Алгоритм, в
котором есть структура СЛЕДОВАНИЕ
называется ЛИНЕЙНЫМ. Следование - это расположение
действий друг за другом.
Примерная схема:
Алгоритм, в
котором есть структура ВЕТВЛЕНИЕ называется РАЗВЕТВЛЯЮЩИМСЯ.
Ветвление - это выбор действия в зависимости
от выполнения какого-нибудь условия
Примерная схема:
Алгоритм, в
котором есть структура ЦИКЛ называется ЦИКЛИЧЕСКИМ.
Цикл - это неоднократное повторение каких-либо
действий.
Примерная схема:
2) Свойство.
Не всякая последовательность команд может называться алгоритмом. Алгоритмом является только такая последовательность, которая удовлетворяет перечисленным ниже свойствам:
Обязательные свойства алгоритмов
1. Дискретность алгоритма-поочередное выполнение команд алгоритма за конечное число шагов приводящее к решению задачи. Запись алгоритма распадается на отдельные указания исполнителю выполнить некоторое законченное действие. Каждое такое указание называется командой. Команды алгоритма выполняются одна за другой. После каждого шага исполнения алгоритма точно известно, какая команда должна выполняться следующей. Алгоритм представляет собой последовательность команд (также инструкций, директив), определяющих действия исполнителя (субъекта или управляемого объекта).Таким образом, выполняя алгоритм, исполнитель может не вникать в смысл того, что он делает, и вместе с тем получать нужный результат. В этом случае говорят, что исполнитель действует формально, т.е. отвлекается от содержания поставленной задачи и только строго выполняет некоторые правила, инструкции. Это очень важная особенность алгоритмов. создание алгоритма дает возможность решать задачу формально, механически исполняя команды алгоритма в указанной последовательности.
2. Определенность (или точность) алгоритма - каждая команда алгоритма должна однозначно определять действие исполнителя.
3. Понятность алгоритма - алгоритм, составленный для конкретного исполнителя, должен включать только те команды, которые входят в его систему команд. У каждого исполнителя имеется свой перечень команд, которые он может исполнить. Совокупность команд, которые могут быть выполнены исполнителем, называется системой команд исполнителя.
4. Результативность (конечность) алгоритма - исполнение алгоритма должно закончиться за конечное число шагов.
3) Форма записи алгоритма.
Алгоритмы можно записывать разными способами, называемыми формой представления алгоритма. На практике наиболее распространены следующие формы представления алгоритмов:
Словесная форма представления алгоритмов
Словесная форма записи не так широко распространена в литературе из-за ее многословности и отсутствия наглядности.
Рассмотрим запись алгоритма в словесной форме на примере алгоритма нахождения максимального из двух значений:
Определим форматы переменных X, Y, M, где X и Y – значения для сравнения, M – переменная для хранения максимального значения.
Как видно из
данного примера словесный
Именно эти
три причины не позволили получить
широкое распространение
Графический способ представления алгоритмов
Графический способ оказался очень удобным средством изображения алгоритмов и получил широкое распространение в научной и учебной литературе.
Структурная (блок-) схема алгоритма – графическое изображение алгоритма в виде схемы связанных между собой с помощью стрелок (линий перехода) блоков – графических символов, каждый из которых соответствует одному шагу алгоритма. Внутри каждого блока дается описание соответствующего действия.
Графическое изображение алгоритма широко используется перед программированием задачи вследствие его наглядности, т.к. зрительное восприятие обычно облегчает процесс написания программы, ее корректировки при возможных ошибках, осмысливание процесса обработки информации.
Можно встретить даже такое утверждение: «Внешне алгоритм представляет собой схему – набор прямоугольников и других символов, внутри которых записывается, что вычисляется, что вводится в машину и что выдается на печать и другие средства отображения информации». Здесь форма представления алгоритма смешивается с самим алгоритмом.
Принцип программирования «сверху вниз» требует, чтобы блок-схема поэтапно конкретизировалась и каждый блок «расписывался» до элементарных операций. Но такой подход можно осуществить при решении несложных задач. При решении сколько-нибудь серьезной задачи блок-схема «расползется» до такой степени, что ее невозможно будет охватить одним взглядом.
Блок-схемы алгоритмов удобно использовать для объяснения работы уже готового алгоритма, при этом в качестве блоков берутся действительно блоки алгоритма, работа которых не требует пояснений. Блок-схема алгоритма должна служить для упрощения изображения алгоритма, а не для усложнения.
В таблице приведены наиболее часто употребляемые символы.
Название символа |
Обозначение и пример заполнения |
Пояснение |
Процесс |
Вычислительное действие или последовательность действий | |
Решение |
Проверка условий | |
Модификация |
Начало цикла | |
Предопределенный процесс |
Вычисления по подпрограмме, стандартной подпрограмме | |
Ввод-вывод |
Ввод-вывод в общем виде | |
Пуск-останов |
Начало, конец алгоритма, вход и выход в подпрограмму | |
Документ |
Вывод результатов на печать |
Блок «процесс» применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединять в один блок. Представление отдельных операций достаточно свободно.
Блок «решение» используется для обозначения переходов управления по условию. В каждом блоке «решение» должны быть указаны вопрос, условие или сравнение, которые он определяет.
Блок «модификация» используется для организации циклических конструкций. (Слово модификация означает видоизменение, преобразование). Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения.
Блок «предопределенный процесс» используется для указания обращений к вспомогательным алгоритмам, существующим автономно в виде некоторых самостоятельных модулей, и для обращений к библиотечным подпрограммам.
(См. рисунок 1.)
Псевдокод
Псевдокод представляет собой
систему обозначений и правил,
предназначенную для
конструкции и математическая символика, что приближает запись алгоритма к общепринятой математической записи. В псевдокоде не приняты строгие синтаксические правила для записи команд, присущие формальным языкам, что облегчает запись алгоритма на стадии его проектирования и дает возможность использовать более широкий набор команд, рассчитанный на абстрактного исполнителя. Однако в псевдокоде обычно имеются некоторые конструкции, присущие формальным языкам, что облегчает переход от записи на псевдокоде к записи алгоритма на формальном языке. В частности, в псевдокоде, так же, как и в формальных языках, есть служебные слова, смысл которых определен раз и навсегда. Они выделяются в печатном тексте жирным шрифтом, а в рукописном тексте подчеркиваются. Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором служебных слов и основных (базовых) конструкций. К таким конструкциям обычно относят ветвления (если …то … иначе …) и циклы (цикл от … до …, цикл пока, цикл до...).