Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




И технологии программирования

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

Рекурсивный алгоритм

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

Пример 5.8. В качестве примера рассмотрим рекурсивный алгоритм вычисления факториала.

По определению факториал вычисляется как произведение натуральных чисел от 1 до указанного числа, то есть n!=1·2·3·…·n. Так же из определения известно, что 0!=1. Воспользуемся указанными определениями для решения задачи. Решение представим на алгоритмическом языке.

Функция F(арг цел X): рез цел

нач

если X=0

то F:=1

иначе F:=F(X-1)*X

кон

Проанализируем работу алгоритма для 3!. Сначала произойдет вызов функции F(3). Это означает, что на первом этапе вычислений X=3. Т.к. X≠0, то F будет вычислена по формуле F=F(2)*3. Другими словами, происходит рекурсивный вызов этой же функции, только значение аргумента новое. На втором этапе вычислений X=2. Т.к. X≠0, то F=F(1)*2. На втором этапе снова произошел вызов функции. На третьем этапе X=1, т.к. X≠0, то F=F(0)*1. И снова рекурсивный вызов функции. На четвертом этапе значение аргумента X=0, тогда F=1. Это значение подставляется на третьем этапе вместо F(0), тогда формула третьего этапа примет вид F=1*1 (значение равно 1). Аналогично, на втором этапе формула вычисления F=1*2 (равно 2), а на первом этапе F=2*3 (значит F=6). Таким образом, результат вычисления F(3) равен 6. Действительно, 3! = 1 · 2 · 3 = 6


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

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

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

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

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

Синтаксис – система правил, определяющих допустимые конст­рукции языка программирования из букв алфавита.

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

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

Языки программирования, ориентированные на команды процессора и учитывающие его особенности, называют языками низкого уровня. «Низкий уровень» не означает неразвитый, имеется в виду, что операторы этого языка близки к машинному коду и ориентированы на конкретные команды процессора. Языком самого низкого уровня является ассемблер.

Языки программирования, имитирующие естественные, обладающие укрупненными командами, ориентированные «на человека», называют языками высокого уровня.

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

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

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

• используемый способ записи информации в ячейки памяти;

• необходимый объем памяти для ее хранения.

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

Все остальные данные в программе, значения которых не изменяются на протяжении ее работы, называют константами или постоянными. Константы, как и переменные, имеют тип. Значения констант изменять нельзя.

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

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

Работа с элементами массива происходит поэлементно. Например, ввод элементов одномерного массива осуществляется поэлементно, обычно элементы вводятся в порядке возрастания их индексов. Для двумерного массива необходимо соответственно указать два индекса.

 




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 387; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.039 сек.