Поиск по сайту


Каталог учебных материалов

Свежие работы в разделе

Наша кнопка

Разместить ссылку на наш сайт можно воспользовавшись следующим кодом:


Контакты

Если у вас возникли какие либо вопросы, обращайтесь на email администратора: admin@kazreferat.info

Алгоритм и программа

Узнать стоимость написания работы

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

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

ее команды не допускают различных вариантов исполнения;

указания предусмотрены для всех возможных вариантов развития событий.

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

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

Какими свойствами должен обладать алгоритм? Перечислим их:

дискретность2 -- алгоритм делится на отдельные элементарные шаги;

определенность -- каждая команда однозначно определяет действие исполнителя;

конечность(результативность) -- алгоритм должен завершаться за конечное число шагов.

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

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

Существует много разных способов записи алгоритмов: графические (например, в виде блок-схем), с помощью естественного языка, какими-нибудь условными знаками идр. Но если мы хотим, чтобы алгоритм был исполнен компьютером, он должен быть обязательно записан на особом языке. Такая запись называется программой4, а язык -- языком программирования.

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

Но процессор не понимает команд языков высокого уровня, поэтому их предварительно нужно "перевести". Для этого служат особые программы -- трансляторы5.

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

Примечания

Algorithmi (лат.) -- искаженное имя математика IX века аль-Хорезми, предложившего способ выполнения арифметических вычислений с многозначными числами.

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

Discrete (англ.) -- состоящий из отдельных частей

Formalis (лат.) -- строго по установленным правилам

Programma (греч.) -- распоряжение

Translator (англ.) -- переводчик

Язык Лого (Logo, от греч. Logos -- слово, мысль) разработан в 1972 г. Сеймуром Пейпертом (Массачусетский Технологический институт, США). "Прародителем" его был наиболее известный из языков функционального программирования -- Лисп, однако, в процессе развития Лого приобрел ряд особенностей, позволяющих использовать при работе с ним как функциональный, так и процедурный подходы.

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://macedu.narod.ru

Другие материалы

  • VB, MS Access, VC++, Delphi, Builder C++ принципы(технология), алгоритмы программирования
  • ... ‑либо образом. Часто требуется сортировать данные несколькими различными способами. Во‑вторых, многие алгоритмы сортировки являются интересными примерами программирования. Они демонстрируют важные методы, такие как частичное упорядочение, рекурсия, слияние списков и хранение двоичных ...

  • Методические особенности изучения раздела "Алгоритм и исполнители" в базовом школьном курсе информатики
  • ... 2. Методические особенности изучения раздела «Алгоритм и исполнители»   2.1 Содержание раздела в стандарте   Прежде всего необходимо сказать, что общеобразовательный стандарт по информатике является нормативным документом, определяющим требования: ·  к месту базового курса ...

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

  • Понятие об алгоритмах
  • ... При этом остается без ответа вопрос, чем же отличается понятие алгоритма от таких понятий, как «метод», «способ», «правило». Можно даже встретить утверждение, что слова «алгоритм», «способ», «правило» выражают одно и то же ( т.е. являются синонимами ), хотя такое утверждение, очевидно, противоречит ...

  • О некоторых задачах анализа и трансформации программ
  • ... уязвимостей защиты программ, работающих в некотором операционном окружении необходимо знание семантики работы этого окружения. Прототипная версия инструментального средства разработана в расчёте на операционное окружение, предоставляемое Linux. Непосредственно в алгоритм анализа встроена поддержка ...

  • Разработка программы, реализующей алгоритм шифрования ГОСТ 28147-89
  • ... обеспечивает юридическую силу финансовых транзакций. В данной работе изучен алгоритм шифрования ГОСТ 28147-89. Так же на основании этого алгоритма была создана программа. В тексте работы приведено руководство к данной программе. Список литературы Герасименко В.А., Малюк А.А. Основы защиты информации ...

  • Алгоритм и его структура
  • ... будет выглядеть следующим образом: Начало Ввод вещественного числа х Вычисление корня по формуле Вывод результата Конец Глава 2. Классификация алгоритмов Различают три типа базовых структур: ·                ...

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

  • Алгоритмы и структуры данных. Программирование в Cи
  • ... . Для написания программ необходимо использовать особенные языки. Языки программирования - это нормированные языки, которые служат для описания инструкций обработки, структур данных, а также ввода и вывода данных. Необходимо преобразовывать алгоритм всегда таким образом, чтобы выделять в нем " ...

  • Алгоритмы поиска подстроки в строке
  • ... будет сделан вывод о наиболее эффективном (с временной точки зрения) алгоритме. Часть 1. Теоретические сведения об алгоритмах поиска подстроки в строке. 1.1. Основные понятия. 1.1.1 Строка, её длина, подстрока. Здесь мы приводим ряд определений, которые будем использовать в изложении ...

  • Методические проблемы изучения алгоритмов работы с величинами
  • ... объектами и после конечного числа шагов приводит к по лучению требуемого результата. ЭВМ — исполнитель алгоритмов. Обсуждение методических вопросов изучения темы «Алгоритмы работы с величинами» буде проводить в программистском аспекте. Составление любой программы для ЭВМ начинается с ...

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

  • Реализация алгоритма обратной трассировки лучей для моделей с большим числом полигонов
  • ... . 2.2.3 Текстуры Информация о текстурах хранится в массиве Tex. Для каждой текстуры хранятся ее размеры (lx, ly) и указатель на область памяти, куда загружена текстура (PT). TTex=record lx,ly: integer; PT: PRGBI; end 2.3 Алгоритм обратной трассировки лучей   2.3.1 Описание ...

  • Разработка алгоритмов контроля и диагностики системы управления ориентацией космического аппарата
  • ... , может приводить к большим потерям рабочего тела и раскрутке космического аппарата до недопустимых угловых скоростей. Таким образом разработка алгоритмов контроля и диагностики системы управления ориентацией космического аппарата – является актуальной задачей. В настоящей работе решается задача ...

Rambler's Top100 Рейтинг@Mail.ru
Рефераты и материалы размещенные на сайте принадлежат их законным правообладателям. При использовании материалов сайта, ссылка на KazReferatInfo обязательна!
Казахстанские рефераты
Copyright © 2007-2016г. KazReferatInfo