Основные понятия алгоритмического языка

Автор работы: Пользователь скрыл имя, 03 Декабря 2015 в 13:22, реферат

Краткое описание

Основные понятия алгоритмического языка программирования.
Понятие о языках программирования.
Создание программ на языке программирования Паскаль.

Вложенные файлы: 1 файл

информатика.docx

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

      Министерство образования и науки Республики Казахстан

         Государственный университет имени Шакарима  г.Семей

 

 

 

 

                                                      СРО №4

На тему: «Основные понятия алгоритмического языка. Понятие о языках программирования. Создание программ на языке программирования Паскаль».

 

Выполнила: студентка первого курса ДЯ-502 
Специальность: 5B011900 «Иностранный язык: два иностранных языка» 
Выполнила:

 

 

 

 

 

 

 

 

 

 

 

 

                                           Семей-2015.    

                                                 План:

  1. Основные понятия алгоритмического языка программирования.
  2. Понятие о языках программирования.
  3. Создание программ на языке программирования Паскаль.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Основными понятиями в алгоритмических языках являются следующие. 
Имена (идентификаторы) - последовательность символов для обозначения объектов программы (переменных, массивов, функций и дp.).

Операции. Существуют следующие типы операций: 
- арифметические операции: сложение, обозначается символом “+”; вычитание, обозначается символом “-”; умножение, обозначается символом “*”; деление, обозначается символом “/” и дp. ; 
- логические операции: операции “логическое и”, “логическое или”, “логическое не” и др.; 
- операции отношения: меньше, обозначается символом “”; меньше или равно, обозначается символами “=”; равно, обозначается символом “=”; не равно, обозначается символами “”, 
- операция конкатенации символьных значений дpуг с другом, изображается знаком "+".

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

Данные - величины, обрабатываемые программой. Имеется тpи основных вида данных: константы, переменные и массивы.

Константы - это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения.

Примеры констант: 
числовые: 7.5, 12; 
логические: true(истина), false(ложь); 
символьные: "А", "+"; 
строковые: "abcde", "информатика".

Переменные – это данные, которые могут изменять свои значения в ходе выполнения программы. Они обозначаются именами. Переменные бывают целые, вещественные, логические, символьные и строковые.

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

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

Различают выражения арифметические, логические и строковые. 
Арифметические выражения служат для определения одного числового значения. Арифметические выражения записываются по следующим правилам: 
1. Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций. 
2. Индексы элементов массивов записываются в скобках. 
3. Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь - сложение и вычитание. 
4. Операции одного старшинства выполняются слева направо. 
Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения - "истина" или "ложь" (да или нет). 
В записи логических выражений помимо арифметических операций сложения, вычитания, умножения, деления и возведения в степень используются операции отношения и логические операции. 
Значения строковых выражений - тексты. В них могут входить строковые константы, строковые переменные и строковые функции, разделенные знаком операции конкатенации.

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

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

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

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

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

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

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

Функция - это программная единица, которая может быть употреблена в выражении. Функция прямо возвращает величину, которая используется при вычислении этого выражения, и, кроме того, может возвращать величины через параметры.

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

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

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

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

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

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

 

 
Также система программирования может включать в себя:

Библиотеки стандартных подпрограмм,

отладчик

компоновщик

и другие сервисные средства.

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

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

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

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

Процедурные

Функциональные

Логические

Объектно-ориентированные


Ведущими разработчиками систем программирования в настоящее время являются фирмы Microsoft и Borland International.

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

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

Двоичный язык - в настоящее время программистами не применяется 
Шестнадцатеричный язык-упрощение за счет представления четырех двоичных цифр одной шестнадцатеричной. Используется в качестве дополнения к языкам высокого уровня для программирования критичных к времени выполнения фрагментов алгоритмов. 
Язык Ассемблера - предназначен для представления в удобочитаемой символической форме программ, написанных на машинном языке. 
Язык Макроассемблера - расширение языка Ассемблера. Позволяет определять и использовать новые, более мощные команды. 
Язык программирования C- разработан в начале 70-х. Сочетает достоинства современных высокоуровневых языков (в части структур данных и управляющих структур) и возможность доступа  к аппаратным средствам машины на уровне языка Ассемблера. Однако синтаксис языка таков, что затрудняет программирование и понимание составленных программ. 
Язык Basic (Beginner’s All-purpose Symbolic Instruction Code-многоцелевой язык символических инструкций для начинающих). Разработан в 1964 г. для использования новичками. Первоначально работа велась только в режиме интерактивной (диалоговой) интерпретации. В смысле строгости и стройности является антиподом языка Pascal. Несмотря на это, Basic очень популярен, в особенности на ПК. Существует множество его диалектов, несовместимых между собой. Современные диалекты Basic’а весьма развиты и мало чем напоминают  своего предка. 
Язык Fortran (Formula Translator) разработан в 1956 г. Считается “рабочей лошадью” научных работников за счет своей “приспособленности” к ведению сложных вычислений и широко используется до настоящего времени, несмотря на свою ограниченность и ”корявость”. 
Язык Pascal разработан в 1970 г. Норбертом Винером, назван в честь французского математика Блеза Паскаля. В Паскале полностью реализована концепция структурного программированияне только путем упорядочения связей между фрагментами программы, но и за счет структуризации данных. Один из наиболее популярных языков программирования. 
 Язык  Modula-2 создан в 1979 г. также Норбертом Винером. По существу - развитие Паскаля. Его особенности состоят в высокой модульности программ и наличии средств описания параллельных процессов. 
Язык Ada разработан в 1979 г. по заказу Министерства обороны США для использования во встроенных системах с управляющими ЭВМ, что требует режима поддержки режима реального времени. Назван в честь Августы Ады Лавлейс (дочери Байрона), которая была ассистентом Чарльза Бэббиджа и по праву считается первым в мире программистом. Рассматривается как универсальный язык программирования. Данный язык вводит строгую дисциплину программирования, что препятствует написанию “плохих программ”. Несмотря на достоинства, программистов отталкивает его громоздкость Язык Logo разработан с целью обучения детей и используется в настоящее время. Отличается простотой, но весьма богатыми возможностями, среди которых процедуры, графические средства и т. д.;

Существует ряд языков, некогда популярных, но утративших свои позиции в настоящее время:

PL/1-конгломерат языков Fortran, Algol Cobol –предназначен для больших ЭВМ и на ПК практически не используется. Язык достаточно сложен и имеет такие свойства, которые не стимулируют написание корректных, надежных и наглядных программ;

Cobol- ориентирован на обработку коммерческой информации.

Snobol- предназначен для обработки текстовых данных.

Языки семейства Algol- не представлены на ПК по не вполне ясным причинам, т. к. обладает богатым набором средств, высокой строгостью и стройностью, но и большой сложностью. Реализация языка надолго затянулась, и он пережил самого себя. 

Функциональные языки программирования. Программа на таком языке представляет  собой совокупность описаний функций и выражения, которые необходимо вычислить. Оно вычисляется посредством редукции (т. е. серии упрощений). Функциональное программирование не использует концепцию памяти как хранилища значений переменных. Операторы присваивания отсутствуют, вследствие чего переменные обозначают не области памяти, а объекта программы, что полностью соответствует понятию переменной в математике. Наличие стройной математической основы обеспечивает возможность использования алгебраических методов создания структуры, преобразования и исследования программ. Это в какой-то мере приближает их к описанию структуры мышления человека. 
Примером функционального языка является язык LISP (List Processing-обработка списков) Разработан и реализован в Массачусетском технологическом институте в 1959 г. Рассматривается специалистами как основной язык программирования систем искусственного интеллекта.

Логическое программирование Логика и программирование долгое время были непересекающимися областями исследований. Только в 1973 впервые было опубликовано описание языкаPROLOG (PROgramming in LOGic- программирование в терминах логики) Центральным понятием в логическом программировании является отношение. Программа представляет собой совокупность определений отношений между объектами и цели. В логическом программировании нужно только специфицировать факты, на которых алгоритм основывается, а не определять последовательность шагов, которые требуется выполнить. Логические программы отличаются принципиально низким быстродействием. Так как вычисления осуществляются методом проб и ошибок (посредством поиска с возвратами). В настоящее время для ПК существует около двух десятков реализации PROLOG’а, некоторые из которых оформлены в виде интегрированных сред.

Объектно-ориентированное программирование. Корни объектно - ориентирования уходят в одну из ветвей логики, в которой первичной является не отношение, а объект. Прототипом объектно-ориентированного программирования явился язык SIMULA-67. Но оформилось оно в самостоятельный стиль программ ирония с появлением языка (SMALLTALK-1972 г.), первоначально предназначенного для реализаций функций машинной графики. Этот стиль программирования характеризуется богатыми графическими возможностями и средой программирования, развитой модульной структурой программ. Именно модульность упрощает разработку сложных программных продуктов. Как пример объектно-ориентированного языка можно назвать Visual Basic  и Delfi.

Информация о работе Основные понятия алгоритмического языка