Языки программирования

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

Языки программирования.docx

— 167.16 Кб (Скачать файл)

Понятие об алгоритме

 

        Алгоритм - это одно из самых широких понятий математики и информатики.

Более 1000 лет назад в Багдаде, крупном научном центре Востока, жил абд Джафар Мужамед ибн Муса Аль-Хорезми. Ему принадлежит книга по математике, которая в течение нескольких столетий пользовалась широкой популярностью. В ней Аль-Хорезми сформулировал правила выполнения четырёх арифметических действий над многозначными числами.

При переводе на латынь имя автора переделали в Algorithmi (Алгоритми). В книге Аль-Хорезми приводились методы решения разных задач. Ссылаясь на них, европейцы упоминали: "Так говорил Алгоритми..." Со временем методы решения задач стали называться алгоритмами. В дальнейшем алгоритмом стали называть описание любой последовательности действий, которую следует выполнить для решения задачи. 

Алгоритм – строго упорядоченная последовательность действий, направленная на выполнение поставленной задачи.

В широком смысле алгоритмизация включает в себя выбор метода решения задачи. Результатом выполнения этапа алгоритмизации является алгоритм решения задачи.

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

  1. узнать необходимый телефонный номер;
  2. поднять трубку;
  3. набрать номер;
  4. дождаться ответа абонента.

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

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

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

Разветвляющийся алгоритм

Алгоритмы исполняют  в естественном порядке: команда  за командой (смотрите повторение). Однако жизнь весьма разнообразна. А цели все же хочется достичь.

Вот и ученик, собираясь в школу, продумывает следующие действия:

  1. Если чувствует себя хорошо, то собирается в школу
  2. Иначе - остается дома.

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

  1. Дикретность, т.е. все решение разбивается на простейшие шаги.
  2. Понятность, алгоритм должен быть понятен исполнителю.
  3. Точность, не должно быть неясностей и двусмысленностей.
  4. Массовость, с помощью одного и того же алгоритма можно решить множество задач.
  5. Результативность (или конечность) состоит в том, что алгоритм должен приводить к решению задачи за конечное число шагов.

Полная форма.

Полная форма - это форма записи развлетвляющегося  алгоритма, в которой предусмотрены  команды в ветви "да" и в  ветви "нет". 

если-то-иначе

Пример


Происходит проверка условия.

  • Если а>b, то происходит присваивание к переменной "а" значение "а*2", а к переменной "b", значение "1".
  • Иначе, т.е. если а<=b, происходит присваивание переменной "b" значение "2*b".

Неполная форма     

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

если-то

Пример


Происходит проверка условия.

  1. Если x>0, то переменной "y" присваивается значение "sin(x)"
  2. Иначе, т.е. если x<=0, то действия ветви "да" пропускаются.

Разветвляющийся алгоритм можно записать несколькими способами:

  1. Словесный.
  2. В виде блок-схем (графический).
  3. На языке программирования.

1. Словесный способ

Словесный способ записи разветвляющихся алгоритмов представляет собой описание последовательных этапов обработки данных. А алгоритм задается в произвольном изложении  на естественном языке.

Например:

  1. Задать два числа.
  2. Если числа равны, то взять любое из них в качестве ответа и остановиться, иначе продолжить выполнение алгоритма.
  3. Определить большее из чисел.
  4. Заменить большее из чисел разностью большего и меньшего из чисел.
  5. Повторить алгоритм с числа два.

Словесный способ не имеет широкого распространения, т.к. такие описания:

  1. строго не формализуемы;
  2. страдают многословностью записей;
  3. допускают неоднозначность толкования отдельных предписаний.

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

2. Графический способ

Графический способ представления разветвляющихся  алгоритмов является более компактным и наглядным по сравнению со словесным.

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

 

 

Название символ

Обозначение и пример заполнения

Пояснение

Пуск — остановка

Начало, конец алгоритма, вход и  выход в подпрограмму

Ввод — вывод

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

Процесс (действие)

Вычислительное действие или их последовательность

Решение (условие)

Проверка условий


Блок "решение" используется для обозначения переходов  управления по условию. В каждом блоке "решение" должны быть указаны  вопрос, условие или сравнение, которые  он определяет. 

Линейный  алгоритм

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

Например, алгоритм решения математической задачи: найдите гипотенузу, если известны катеты.

Алгоритм (словесный способ записи):

 

  1. Возвести первый катет в квадрат;
  2. Возвести второй катет в квадрат;
  3. Сложить результаты действий 1 и 2;
  4. Вычислить квадратный корень из результата 3-го действия и принять его за значение гипотенузы.

Программный способ записи:

 

10 INPUT a,b 
20 x=a^2 
30 y=b^2 
40 z=x+y 
50 w=SQR(z) 
60 PRINT w 
70 END



 

Циклический алгоритм

Циклический алгоритм - это такой алгоритм, действия которого повторяются. Существует два типа циклических алгоритмов:

Цикл типа "Пока"

Цикл типа "Для"

Пример: алгоритм продавца по обслуживанию покупателей

Пример: алгоритм учителя по проверке тетрадей учеников


1. Циклический алгоритм типа "Для"

Циклический алгоритм типа "Для" - это такой циклический алгоритм, в котором число повторений известно.

Для организации циклов с известным числом повторений (типа "Для") используют оператор FOR - NEXT.

10 FOR A = L TO R STEP N

20 P

30 NEXT A

A - счетчик цикла (управляющая переменная)  
L - начальное значение (число) 
R - конечное значение (число) 
N - шаг цикла (число) 
P - тело цикла (последовательность действий)


Любые арифметические выражения, не содержащие управляющей переменной (счетчика цикла), называют параметрами цикла.

Например, запись:

FOR A = 0 TO 12 STEP 2

означает, что управляющая переменная A (счетчик цикла) примет сначала значение 0 и при каждом повторении цикла будет увеличиваться на 2. Последним значением K будет 12. Если шаг равен 1, то часть STEP 1 в операторе можно опустить. Оператор FOR используется только в паре с оператором NEXT, который имеет вид: NEXT A, где A - имя управляющей переменной (счетчика) цикла.

Операторы, которые требуется повторить многократно, записываются между FOR и NEXT и называются телом цикла.    

 Чтобы организовать цикл с помощью оператора FOR, нужно:

  1. выделить тело цикла;
  2. выбрать управляющую переменную;
  3. определить границы ее изменения и шаг (параметры цикла);
  4. предусмотреть начальные присваивания (если это требуется).

Рассмотрим применение оператора FOR - NEXT на следующем примере, где L (начальное значение счетчика цикла) = 1, R (конечное значение счетчика цикла) = 10:

10 K = 6 
20 FOR A = 6 TO 10 
30 K = K + 1 
40 PRINT K; 
50 NEXT A 
60 END

заголовок - 20 
тело цикла - 30; 40 
конец цикла - 50

 


Работа оператора FOR - NEXT

Счетчику присваивается первоначальное значение

Выполняется тело цикла - операторы, которые повторяются

Оператор NEXT выполняет 3 действия:

  1. Присваивает счетчику цикла новое значение
  2. Сравнивает полученное значение с конечным
  3. Если полученное значение меньше или равно конечному, то происходит возврат на начало тела цикла (на первый оператор после заголовка); если полученное значение больше конечного, то происходит выход из цикла

2. Циклический алгоритм типа "Пока"

Циклический алгоритм типа "Пока" - это такой циклический алгоритм, действия которого будут выполнятся до тех пор пока выполняется заданное условие.

Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 50% от нормы предыдущего  дня. Через сколько дней спортсмен  пробежит суммарный путь 60 км?

10 S = 10 
20 N = 1 
30 S = S + 0, 5*S 
40 N = N + 1 
50 IF S<60 THEN GOTO 30 
60 PRINT N 
70 END

S - счетчик км 
N - счетчик дней

 


Заключение

Изобретение языка программирования высшего  уровня позволило нам общаться с  машиной, понимать её (если конечно Вам знаком используемый язык), как понимает американец немного знакомый с русским языком древнюю азбуку Кириллицы. Проще говоря, мы в нашем развитии науки программирования пока что с ЭВМ на ВЫ. 

Информация о работе Языки программирования