Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_okonchatelny_variant.doc
Скачиваний:
0
Добавлен:
05.01.2020
Размер:
553.98 Кб
Скачать

1. Поколения языков программирования.

1)54-58 гг Fortran(Дж.Бэкус, императивный подход к вычислению в рограммировании), Algol-58, Flowmatic (яз-ки мат. формул)

2)59-61 гг Fortran-2(подпрогр. и раздельн. компиляция), Algol-60(типы данных, блочная стр-ра), Cobol(опис. данных, работа с файлами), Lisp(обработка списка и указателей)

Н езащищенность данных, беспорядочность выполнения.

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

Основное отличие – представление данных.

3)62-70-е гг PL/1 (Fortran+Algol+Cobol), Algol-68, Pascal, Simula (один из первых объектно-ориентированных)

-развитие структурного программирования – появляется механизм вложения программ с ограниченной видимостью данных

-возникли механизмы, поддерживающие передачу параметров при вызове программы

-начали развиваться методы создания/разделения больших систем

2.Понятие фп, история развития.

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

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

Функциональное программирование не признает ячеек памяти, операции присваивания, передачи управления, вместо циклов используются рекурсии.

Основные понятия:

Под «множеством» мы понимаем соединение в некое целое M определённых хорошо различимых предметов m нашего созерцания или нашего мышления (Кантор). Множество есть совокупность различных элементов, мыслимая как единое целое (Рассел).

Кортеж – последовательность конечного числа элементов.

Отличия множества от кортежа:

Кортеж – упорядоченный набор элементов, каждый элемент находится на своем порядковом месте. Кортеж – конечная последовательность элементов. В кортеже порядковый номер или положение элементов является уникальным.

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

Существует 2 основных подхода в понимании функции:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]