Автор работы: Пользователь скрыл имя, 28 Мая 2013 в 18:53, контрольная работа
По мере развития вычислительной техники возникали разные методики программирования. На каждом этапе создавался новый подход, который помогал программистам с растущим усложнением программ.
Введение 3
Язык программирования 5
Начало развития 6
Классификация языков программирования 7
1. Машинно-ориентированные языки 7
1.1. Машинный язык 8
1.2. Языки символического кодирования 8
1.3. Автокоды 8
1.4. Макрос 9
2. Машинно-независимые языки 9
2.1. Проблемно – ориентированные языки 10
2.2. Универсальные языки 10
2.3. Диалоговые языки 11
2.4. Непроцедурные языки 11
Эволюция языков программирования 11
1. Ассемблер 13
2. Лисп 13
3. Фортран 14
4. Бейсик 15
5. Рефал 16
6. Пролог и Пролог ++ 17
7. Лекс 18
8. Cи 19
9. Си++ 19
Низкоуровневый язык программирования 22
Высокоуровневый язык программирования 24
Понятие об алгоритме 26
Разветвляющийся алгоритм 27
1. Словесный способ 28
2. Графический способ 28
Линейный алгоритм 29
Циклический алгоритм 30
Заключение 32
Алгоритм - это одно из самых широких понятий математики и информатики.
Более 1000 лет назад в Багдаде, крупном научном центре Востока, жил абд Джафар Мужамед ибн Муса Аль-Хорезми. Ему принадлежит книга по математике, которая в течение нескольких столетий пользовалась широкой популярностью. В ней Аль-Хорезми сформулировал правила выполнения четырёх арифметических действий над многозначными числами.
При переводе на латынь имя автора переделали в Algorithmi (Алгоритми). В книге Аль-Хорезми приводились методы решения разных задач. Ссылаясь на них, европейцы упоминали: "Так говорил Алгоритми..." Со временем методы решения задач стали называться алгоритмами. В дальнейшем алгоритмом стали называть описание любой последовательности действий, которую следует выполнить для решения задачи.
Алгоритм – строго упорядоченная последовательность действий, направленная на выполнение поставленной задачи.
В широком смысле алгоритмизация включает в себя выбор метода решения задачи. Результатом выполнения этапа алгоритмизации является алгоритм решения задачи.
В повседневной жизни нам приходится часто пользоваться всевозможными алгоритмами. Например, алгоритм действий, необходимый для того, чтобы поговорить с кем-либо по телефону:
Мы пользуемся подобными алгоритмами достаточно часто, поэтому выполняет их автоматически (не задумываясь).
Алгоритмы, предназначены для выполнения компьютерами, обычно называются компьютерными программами, или просто программами. Программа содержит команды на языке, понятном компьютеру. Она сообщает компьютеру, как надо обрабатывать данные для получения желаемого результата. Все функции компьютера, любое его действие задается программой.
Программа - это алгоритм, представленный на языке, понятном компьютеру.
Алгоритмы исполняют в естественном порядке: команда за командой (смотрите повторение). Однако жизнь весьма разнообразна. А цели все же хочется достичь.
Вот и ученик, собираясь в школу,
продумывает следующие
Заметим, что алгоритм требует либо одного действия, либо двух. А именно: вначале измерить температуру, а уж затем, в зависимости от результатов выполнять или не выполнять следующее действие. Такой алгоритм называется разветвляющимся, а именно: алгоритм, который выполняется в зависимости от условия, т.е. от вопроса на который можно ответить "да" или "нет", т.е. условие может быть истинным (да), или ложным (нет). Алгоритм ветвления, как и другие алгоритмы, должны обладать следующими свойствами:
Полная форма.
Полная форма - это форма записи развлетвляющегося алгоритма, в которой предусмотрены команды в ветви "да" и в ветви "нет".
если-то-иначе |
Пример |
|
|
Происходит проверка условия.
Неполная форма
Неполная форма - это форма записи разветвляющегося алгоритма, в которой предусмотрены команды только в одной ветви.
если-то |
Пример |
|
|
Происходит проверка условия.
Разветвляющийся алгоритм можно записать несколькими способами:
Словесный способ записи разветвляющихся алгоритмов представляет собой описание последовательных этапов обработки данных. А алгоритм задается в произвольном изложении на естественном языке.
Например:
Словесный способ не имеет широкого распространения, т.к. такие описания:
Машина поймет инструкцию, записанную на языке программирования, а человек наиболее ясно увидит ход решения задачи, если последовательность действий представлена на схеме.
Графический способ представления разветвляющихся алгоритмов является более компактным и наглядным по сравнению со словесным.
При графическом
представлении разветвляющийся
алгоритм изображается в виде последовательности
связанных между собой
Название символ |
Обозначение и пример заполнения |
Пояснение |
Пуск — остановка |
|
Начало, конец алгоритма, вход и выход в подпрограмму |
Ввод — вывод |
|
Обозначает момент ввода данных в ячейки памяти с указанными именами или момент вывода содержимого указанных ячеек на экран монитора или на принтер. |
Процесс (действие) |
|
Вычислительное действие или их последовательность |
Решение (условие) |
|
Проверка условий |
Блок "решение" используется для обозначения переходов управления по условию. В каждом блоке "решение" должны быть указаны вопрос, условие или сравнение, которые он определяет.
Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно.
Например, алгоритм решения математической задачи: найдите гипотенузу, если известны катеты.
Алгоритм (словесный способ записи):
|
|
Программный способ записи:
|
Циклический алгоритм - это такой алгоритм, действия которого повторяются. Существует два типа циклических алгоритмов:
Цикл типа "Пока" |
Цикл типа "Для" |
Пример: алгоритм продавца по обслуживанию покупателей |
Пример: алгоритм учителя по проверке тетрадей учеников |
1. Циклический алгоритм типа "Для"
Циклический алгоритм типа "Для" - это такой циклический алгоритм, в котором число повторений известно.
Для организации циклов с известным числом повторений (типа "Для") используют оператор FOR - NEXT.
10 FOR A = L TO R STEP N 20 P 30 NEXT A |
A - счетчик цикла (управляющая |
Любые арифметические выражения, не содержащие управляющей переменной (счетчика цикла), называют параметрами цикла.
Например, запись:
FOR A = 0 TO 12 STEP 2
означает, что управляющая переменная A (счетчик цикла) примет сначала значение 0 и при каждом повторении цикла будет увеличиваться на 2. Последним значением K будет 12. Если шаг равен 1, то часть STEP 1 в операторе можно опустить. Оператор FOR используется только в паре с оператором NEXT, который имеет вид: NEXT A, где A - имя управляющей переменной (счетчика) цикла.
Операторы, которые требуется повторить многократно, записываются между FOR и NEXT и называются телом цикла.
Чтобы организовать цикл с помощью оператора FOR, нужно:
Рассмотрим применение оператора FOR - NEXT на следующем примере, где L (начальное значение счетчика цикла) = 1, R (конечное значение счетчика цикла) = 10:
10
K = 6
|
|
Работа оператора FOR - NEXT
Счетчику присваивается
Выполняется тело цикла - операторы, которые повторяются
Оператор NEXT выполняет 3 действия:
2. Циклический алгоритм типа "Пока"
Циклический алгоритм типа "Пока" - это такой циклический алгоритм, действия которого будут выполнятся до тех пор пока выполняется заданное условие.
Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 50% от нормы предыдущего дня. Через сколько дней спортсмен пробежит суммарный путь 60 км?
10
S = 10
|
|
Изобретение языка программирования высшего уровня позволило нам общаться с машиной, понимать её (если конечно Вам знаком используемый язык), как понимает американец немного знакомый с русским языком древнюю азбуку Кириллицы. Проще говоря, мы в нашем развитии науки программирования пока что с ЭВМ на ВЫ.