Реферат по предмету "Информатика, программирование"


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

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


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


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


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


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


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


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


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


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


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


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


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



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


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


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


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


Примечания


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


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


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


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


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


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


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



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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Выполнение моделирования в программном пакете MicroCAP-7
Реферат Теоретическое изучение возможности изомеризации карбенов в четырех- или шестичленные гетероциклы
Реферат Обеспечение прав участников уголовного процесса при окончании предварительного расследования
Реферат Дія нормативно-правових актів
Реферат Запровадження Болонського процесу
Реферат Александрова Л. В., Варова Е. А., Ветрова С. В., Волчкова Ю. В., Воскресенская Н. М., Годовникова Т. Н., Грачева Р. Д., Гусакова М. Б., Жиронкина Л. Н., Журбенко О. Н
Реферат Агиография в эпоху монголо-татарского нашествия
Реферат Методы анализа инвестиционного проекта
Реферат Традиционная культура чукчей
Реферат "Россия, Русь! Храни себя, храни..."
Реферат Ненормативная лексика в русском языке и её эвфемизмы
Реферат Свобода совести и вероисповедания
Реферат «Устойчивость систем электроснабжения» Общая трудоёмкость изучения дисциплины составляет
Реферат Анализ стихотворения С. Есенина "На Кавказе" и стихотворения И.С. Тургенева "Мы еще повоюем!"
Реферат Выбор и обоснование среды передачи данных