Как вам уже известно, компьютер -- это программно-управляемая система для работы с информацией, и именно программное управление делает его столь универсальным. Тому, как составляются программы, посвящена эта часть курса информатики и информационных технологий. А начнем мы ее с двух базовых понятий: "алгоритм" и "программа".
Алгоритм1 -- одно из фундаментальных понятий информатики. Этим словом обозначают точное и безотказное предписание последовательности действий, переводящей автоматическое устройство из исходного состояния в результирующее. Т.е. мы можем считать алгоритмом любую инструкцию, если:
ее команды не допускают различных вариантов исполнения;
указания предусмотрены для всех возможных вариантов развития событий.
С этой точки зрения можно составить, к примеру, алгоритм переливания из пустого в порожнее. Однако, на практике алгоритмы составляют для решения тех или иных задач, т.е. получения необходимых результатов по заданным исходным данным. Вид алгоритма, да и сама возможность его написания зависят от исполнителя (это может быть и человек, и автоматическое устройство), или точнее, от его системы команд (т.е. набора инструкций, которые он "умеет" выполнять). Поэтому, в дальнейшем мы будем пользоваться следующим определением.
Алгоритм решения задачи -- это последовательность допустимых команд исполнителя, определяющих его действия по переходу от исходных данных к искомому результату.
Какими свойствами должен обладать алгоритм? Перечислим их:
дискретность2 -- алгоритм делится на отдельные элементарные шаги;
определенность -- каждая команда однозначно определяет действие исполнителя;
конечность(результативность) -- алгоритм должен завершаться за конечное число шагов.
Кроме этого, алгоритм может обладать еще одним полезным (но не обязательным) свойством -- массовостью. Это значит, что он будет годиться не для одной конкретной задачи, а для целого класса похожих задач.
С определенностью непосредственно связана существенная особенность, о которой нельзя забывать: исполнитель выполняет алгоритм формально3, абсолютно не задумываясь над смыслом производимых действий. Поэтому не стоит обижаться на компьютер, "не догадавшийся", что вы подразумевали, -- он честно делает то, что вы написали.
Существует много разных способов записи алгоритмов: графические (например, в виде блок-схем), с помощью естественного языка, какими-нибудь условными знаками идр. Но если мы хотим, чтобы алгоритм был исполнен компьютером, он должен быть обязательно записан на особом языке. Такая запись называется программой4, а язык -- языком программирования.
Вы знаете, что вся информация в компьютере представляется в виде двоичных кодов. В кодах, каждый из которых обозначал одно простейшее действие (вроде, "перенести число из одной ячейки памяти в другую"), приходилось писать и программы для первых ЭВМ. Но это занятие очень сложное и кропотливое, а кроме того, требующее глубокого знания особенностей конкретной машины. Поэтому были придуманы языки программирования высокого уровня. Программа на таком языке -- это последовательность команд, обозначаемых словами естественного языка или их сокращениями. Каждая из них соответствует последовательности из десятков, а то и сотен машинных команд. В результате запись получается гораздо более компактной и понятной.
Но процессор не понимает команд языков высокого уровня, поэтому их предварительно нужно "перевести". Для этого служат особые программы -- трансляторы5.
Сейчас в мире существует множество языков программирования, рассчитанных на различные области применения. Мы в нашем курсе будем использовать Лого6 -- язык, специально созданный для обучения основам программирования. Этот язык очень простой (кстати, в отличие от профессиональных языков программирования, он позволяет записывать команды на русском языке), но, в то же время, способствует формированию навыков, позволяющих затем, при желании, без особых проблем перейти к работе с такими популярными языками, как Си или Паскаль. Особо знаменит язык Лого своей "черепашьей графикой". О том, что это такое, мы и поговорим в следующей главе.
Примечания
Algorithmi (лат.) -- искаженное имя математика IX века аль-Хорезми, предложившего способ выполнения арифметических вычислений с многозначными числами.
Заметим, что подход к определению алгоритма как последовательности операций -- не единственно возможный. Кроме такого -- процедурного (императивного), возможен и функциональный подход, когда алгоритм рассматривается как система функций.
Discrete (англ.) -- состоящий из отдельных частей
Formalis (лат.) -- строго по установленным правилам
Programma (греч.) -- распоряжение
Translator (англ.) -- переводчик
Язык Лого (Logo, от греч. Logos -- слово, мысль) разработан в 1972 г. Сеймуром Пейпертом (Массачусетский Технологический институт, США). "Прародителем" его был наиболее известный из языков функционального программирования -- Лисп, однако, в процессе развития Лого приобрел ряд особенностей, позволяющих использовать при работе с ним как функциональный, так и процедурный подходы.
Другие работы по теме:
Расчёт пробегов до воздействий
Алгоритм расчёта пробегов до воздействий Наименование параметра Формула Пробег до очередного ТО-1,2 Li=Lнi*к1*к3,км Где: Li-расчётная периодичность вида ТО,км
Расчет платы за перевозку грузов по железной дороге
Алгоритм расчета платы за перевозку грузов повагонными и мелкими железнодорожными отправками. Оформление контейнерной отправки, индексация действующих тарифов и расчет сроков доставки. Учет весовой нормы загрузки, расчетной массы отправки, коэффициентов.
Текст программы. 7 Используемые переменные. 7. Структура узла бинарного дерева. 7. Функция создания дерева. 7
Написать программу, читающую текст алгебраической формулы в инфиксной форме, включающей операции сложения, вычитания, умножения и деления, операнды (a, b, c, …, X, y, z) и круглые скобки
Деление чисел в нормализованной форме
Оптимальный алгоритм деления чисел в нормализованной форме для получения нормализованного произведения чисел с помощью TP Pascal. Работа со строковыми данными и типами Real и Integer. Описание метода решения. Блок-схема работы программы, ее листинг.
Общая схема решения задачи на персональном компьютере
На этапе создания текста программы вы записываете алгоритм на языке программиро-вания. Один и тот же алгоритм можно запрограммировать множеством различных спосо-бов, но вы должны стремиться написать оптимальную программу.
Метод касательных (метод Ньютона)
Содержание Содержание 1 Используемая литература 1 Метод Ньютона (касательных). 2 Описание 2 Блок-схема алгоритма 3 Листинг программы 4 Результаты работы программы 6
Компьютерная подготовка
Государственный Университет Управления Институт финансового менеджмента Лабораторная работа №1 на тему «Создание, дополнение и чтение файла данных»
Створення програми "Залізничний вузол"
Використання мови програмування Turbo Pascal, алгоритмів та графічних примітивів модуля Graph. Розробка та реалізація програми для сортування вагонів з довільного порядку в порядок через один. Присвоєння початкових значень та сортувальний алгоритм.
Алгоритмизация и программирование разветвляющихся процессов
Разработка алгоритма и программы для вычисления функции, заданной интервально на различных промежутках. Алгоритм и программа формирования одномерного массива по условию, заданной интервально на различных промежутках. Решение нелинейного уравнения.
Статистический анализ текста
Программа, читающая текстовый файл и подсчитывающая количество слов, пробелов, спецзнаков. Язык программирования "Си". Постановка и алгоритм решения задачи. Описание функций программной реализации. Конструирование алгоритма и системные требования.
Расчет задач вычислительных систем
Алгоритм и программа вычисления функции на параллельной структуре. Разложение функции в ряд Маклорена. Однопроцессорный и многопроцессорный алгоритмы решения. Программа на Паскале. Размер буферной памяти между звеньями. Матрица вероятностных переходов.
База данных учащихся
Программа "База данных учащихся" для ведения базы данных школ, учителей, учеников и их аттестацию за весть учебный год в учебных заведениях. Четыре базы данных: база школ, учителей, учеников, успеваемости, и их структура. Входные и выходные данные.
Алгоритмы и организация данных
Программа последовательного поиска в последовательном неотсортированном массиве реквизитов единственного значения. Алгоритм сортировки простым выбором. Программа индексирования основного файла по одному реквизиту. Индексные файлы по реквизитам.
Алгоритмические языки: использование множеств
Изучение способов описания и использования множеств, разработка алгоритма и составление программы для решения задачи. Нахождение в последовательности целых чисел таких, которые встречаются в ней ровно два раза. Набор программы, ее отладка и тестирование.
Программирование линейных алгоритмов
Реферат по теме: «» Ученика 9-г класса средней школы №150 МОУ СОШ г. Челябинска Бологова Дениса 2011г. Содержание. Понятие алгоритмических структур.
Тесты по Информатике 2
Тест по информатике Алгоритмы: виды, свойства 9 класс по учебнику Угриновича Н.Д. Алгоритм-это: Указание на выполнение действий, Система правил, описывающая последовательность действий, которые необходимо выполнить для решения задачи,
Допоміжні алгоритми
та тему: ДОПОМІЖНІ АЛГОРИТМИ Тема: Допоміжні алгоритми. Мета уроку: навчити учнів складати допоміжні алгоритми; виховати старанність, дисциплінованість;
Задачи по программированию
СОДЕРЖАНИЕ ЗАДАНИЕ 1 Даны числа X и Y.Вычислить Z= f(T,P) (Линейный алгоритм) T= x+ ; P=e 1.1. Блок-схема 1.2. Текст программы и результат Sub zadanie1()
Отчет по программированию
Пензенский государственный университет Кафедра "Информационно-вычислительные системы" ЗАПИСИ Отчет о лабораторной работе №1 по дисциплине «Информатика и программирование».
МЕТОДИКА РОБОТИ З ТАБЛИЦЯМИ
АЛГОРИТМ РОБОТИ З ТАБЛИЦЯМИ 1. Скачайте пакет та роздрукуйте таблиці (Т1 – один примірник, Т2-4 – два, три примірника кожну, тести – 2 примірника) .
Алгоритм шифрования данных IDEA
Алгоритм IDEA International Data Encryption Algorithm ) является блочным шифром. Он оперирует 64-битовыми блоками открытого текста. Несомненным достоинством алгоритма IDEA является то, что его ключ имеет длину 128 бит. Один и тот же алгоритм используется и для шифрования, и для дешифрования.
Спрощений Data Encryption Standart
Реферат на тему: Спрощений Data Encryption Standart На рисунку 1 наведена структура спрощеної схеми шифрування DES (Data Encryption Standart). На вхід схеми кодування подається 8 бітовий відкритий текст та 10 бітовий ключ. Результатом роботи схеми є 8 бітовий шифротекст. Схема декодування приймає на вхід 8 бітовий шифротекст та 10 бітовий ключ та виробляє на виході 8 бітовий відкритий текст.