Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему по дисциплине Основы программирования

Содержание

Языки программированияПрошлое, настоящее, будущее
Histories about the programmers Языки программированияПрошлое, настоящее, будущее Программирование…Программирование — это то, чем занимаются программисты. Предпосылки развития программирования20-х года XIX века  - Ч.Бэббидж – высказал мысль Предпосылки развития программированияДжон Моучли, сотрудник Пенсильванского университета - предложил системы кодирования машинных Мэйнстрим – группа самых популярных в данный момент языков программирования, определяющая основное Классификация ЯПЯзыки императивного программирования   (Fortran, Algol, Pascal, C, Icon)Языки функционального Императивное программирование    Программа представляет собой последовательность команд, определяющих алгоритм Императивное программированиеFortran Formula Translator описание – 1954г реализация – 1957г разработчик –Джон Бэкус (1925-2007г) Императивное программированиеCobolCOmmon Business Oriented Language описание и реализация – 1959гразработчик – Грейс Мюррей Хоппер (1906-1992г) Императивное программированиеPascal -Turbo Pascal – Object Pascal-Delphi описание – 1969г реализация – Императивное программированиеTurbo Pascal реализация – 1983г разработчик –Андерс Хейлсберг Императивное программированиеФрагмент программы на языке Free Pascal Функциональное программированиеПрограмма описывается как математическая функция, зависящая от других математических функций. Программы Функциональное программированиеLisp «Так много дурацких скобок» (Lot of silly parenthesis - Функциональное программированиеЗадание: Возвратить обращенный список Х, если элементы списка Х больше соответствующих Функциональное программированиеHaskellреализация – 1990гмеханизм ООП – 1998г разработчики – Хаскел Карри,Саймон Пейтон Джонс . Логическое  программированиеПрограмма – совокупность правил или логических высказываний с причиной и следствием Логическое программированиеPrologреализация – 1971гмеханизм параллельного программирования – 1984г разработчики – Логическое программирование%trace изменениеБД/*=========================================================== Пример (напечатать фамилии людей, родившихся до 1975 года, Логическое программированиеClauses  занесение_пациента_в_БД(Фамилия,Пол,ГодРождения) :-  % Занесение объекта Логическое программированиераспечатка(СелекторБД):-       chain_last(СелекторБД, Логическое программированиезавершение(FnameC):- Объектно-ориентированное программированиеВыделение объектов и связей между ними, построение иерархии объектов с наследованием Объектно-ориентированное программированиеС++Реализация в 1983 г. Разработчик –   Бьерн Строуструпна базе Объектно-ориентированное программированиеDelphiреализация – 1995г разработчик –Чак ЯзджевскиЯзык визуального программирования, Программа- совокупность модулей,определяющих Объектно-ориентированное программированиеРабочее окно языка DELPHI Языки Web-программированияЯзыки программирования агентов. Агенты – сущности, находящиеся в некоторой среде, от Языки Web-программированияPythonреализация – 1991г разработчик – Языки Web-программированияНабор операций над числами - достаточно стандартный как по семантике, так Итого:Как много языков. Хороших и разных.Сделай свой выбор!И не один!
Слайды презентации

Слайд 2 Языки программирования
Прошлое, настоящее, будущее

Языки программированияПрошлое, настоящее, будущее

Слайд 3 Программирование…
Программирование — это то, чем занимаются программисты.

Программирование…Программирование — это то, чем занимаются программисты.

Программистский фольклор
"Программирование" — как и "любовь" — одно слово, за которым скрывается бесконечное множество занятий.
Д. Вейнберг
Любовь — это все. И это все, что мы о ней знаем.
Э. Дикинсон

Слайд 4 Предпосылки развития программирования
20-х года XIX века -

Предпосылки развития программирования20-х года XIX века - Ч.Бэббидж – высказал мысль

Ч.Бэббидж – высказал мысль о предварительной записи порядка действий

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

Слайд 5 Предпосылки развития программирования
Джон Моучли, сотрудник Пенсильванского университета -

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

предложил системы кодирования машинных команд с помощью специальных символов.
Грейс

Мюррей Хоппер, - «третий в мире программист 1-го в мире большого цифрового компьютера» - подпрограммы, отладка
В 1954 г. группа под руководством Г.Хоппер разработала систему, включающую язык программирования и компилятор, которая в дальнейшем получила название MATH-MATIC.



Слайд 6 Мэйнстрим – группа самых популярных в данный момент

Мэйнстрим – группа самых популярных в данный момент языков программирования, определяющая

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

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

Слайд 7 Классификация ЯП
Языки императивного программирования
(Fortran, Algol,

Классификация ЯПЯзыки императивного программирования  (Fortran, Algol, Pascal, C, Icon)Языки функционального

Pascal, C, Icon)
Языки функционального программирования
(Lisp, ML, Miranda,

Haskell)
Языки логического программирования
(Prolog, PARLOG, Mercury)
Языки объектно-ориентированного программирования
(Simula, Smalltalk, Self, C++, Object Pascal))
Языки web-программирования
(Java, Perl, PHP, Python )
Сценарные языки (HTML, XML)

Слайд 8 Императивное программирование
Программа представляет собой

Императивное программирование  Программа представляет собой последовательность команд, определяющих алгоритм решения

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

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

Слайд 9 Императивное программирование
Fortran
Formula Translator
описание –

Императивное программированиеFortran Formula Translator описание – 1954г реализация – 1957г разработчик –Джон Бэкус (1925-2007г)

1954г
реализация – 1957г
разработчик –
Джон Бэкус
(1925-2007г)



Слайд 10 Императивное программирование
Cobol
COmmon Business
Oriented Language
описание и
реализация

Императивное программированиеCobolCOmmon Business Oriented Language описание и реализация – 1959гразработчик – Грейс Мюррей Хоппер (1906-1992г)

– 1959г
разработчик –
Грейс Мюррей Хоппер
(1906-1992г)


Слайд 11 Императивное программирование
Pascal -Turbo Pascal –
Object Pascal-Delphi
описание

Императивное программированиеPascal -Turbo Pascal – Object Pascal-Delphi описание – 1969г реализация

– 1969г
реализация – 1971г



разработчик –
Никлаус
Вирт



Слайд 12 Императивное программирование
Turbo Pascal
реализация – 1983г
разработчик –
Андерс

Императивное программированиеTurbo Pascal реализация – 1983г разработчик –Андерс Хейлсберг

Хейлсберг

Program …
begin
….
end.



Слайд 13 Императивное программирование
Фрагмент программы на языке Free Pascal

Императивное программированиеФрагмент программы на языке Free Pascal

Слайд 14 Функциональное программирование
Программа описывается как математическая функция, зависящая от

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

других математических функций.

Программы являются выражениями, а исполнение программ

заключается в вычислении этих выражений

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

Слайд 15 Функциональное программирование
Lisp
«Так много дурацких скобок» (Lot of

Функциональное программированиеLisp «Так много дурацких скобок» (Lot of silly parenthesis -

silly parenthesis - "куча глупых скобок" - старинная шуточная

расшифровка названия языка Lisp)
реализация – 1958г
разработчик –
Джон Маккарти



Слайд 16 Функциональное программирование
Задание: Возвратить обращенный список Х, если элементы

Функциональное программированиеЗадание: Возвратить обращенный список Х, если элементы списка Х больше

списка Х больше соответствующих элементов списка Y, и сам

список Х в противном случае.
Решение:
; Вспомогательные функции:
; 1. пример: (ap '(A B C) '(D E)) => (A B C D E)
(defun ap (x y)
(cond ((eq x nil)
(if (eq y nil) nil y))
(t (if (eq y nil) x (cons(car x) (ap (cdr x)y))))))
; 2. пример: (rev '(A B C)) => (C B A)
(defun rev (x)
(cond ((eq x nil) nil)
(t (ap (rev (cdr x)) (cons (car x) nil)))))
; основная функция
(defun f2 (x y)
(cond
(
(and
(and (> (car x) (car y)) (> (car (cdr x)) (car (cdr y))))
(> (car (cdr (cdr x))) (car (cdr (cdr y))))
)
(rev x)
)
(t y)
)
)

Слайд 17 Функциональное программирование
Haskell
реализация – 1990г
механизм ООП – 1998г
разработчики

Функциональное программированиеHaskellреализация – 1990гмеханизм ООП – 1998г разработчики – Хаскел Карри,Саймон Пейтон Джонс .


Хаскел Карри,
Саймон Пейтон Джонс .



Слайд 18 Логическое программирование
Программа – совокупность правил или логических высказываний

Логическое программированиеПрограмма – совокупность правил или логических высказываний с причиной и следствием

с причиной и следствием



Слайд 19 Логическое программирование
Prolog
реализация – 1971г
механизм параллельного
программирования – 1984г

Логическое программированиеPrologреализация – 1971гмеханизм параллельного программирования – 1984г разработчики –

разработчики –


Алан Колмероер,

Роберт Ковальский




Слайд 20 Логическое программирование
%trace изменениеБД
/*===========================================================
Пример (напечатать фамилии людей, родившихся

Логическое программирование%trace изменениеБД/*=========================================================== Пример (напечатать фамилии людей, родившихся до 1975 года,

до 1975 года,

и удалить запись о них из цепи) : */
domains
db_selector = db;бд1;бд2
пациент = п(фамилия,пол,год_рождения)
фамилия = string
пол = мужчина; женщина
год_рождения = integer
Predicates
занесение_пациента_в_БД(фамилия,пол,год_рождения)
печать_следующего_пациента(db_selector,ref)
созданиеБД
распечатка(db_selector)
изменениеБД(string)
завершение(string)




Слайд 21 Логическое программирование
Clauses
занесение_пациента_в_БД(Фамилия,Пол,ГодРождения) :-
% Занесение

Логическое программированиеClauses занесение_пациента_в_БД(Фамилия,Пол,ГодРождения) :- % Занесение объекта

объекта "пациент" в цепь "список пациентов"

chain_insertz(db,"список пациентов",пациент,
п(Фамилия,Пол,ГодРождения),_).

печать_следующего_пациента(СелекторБД,Ссылка):-
chain_prev(СелекторБД,Ссылка,СсылкаПред),!,
ref_term(СелекторБД,пациент,СсылкаПред,п(Фамилия,Пол,Год)),
write(Фамилия,",",Пол,",",Год,"г."),
nl,
печать_следующего_пациента(СелекторБД,СсылкаПред).
печать_следующего_пациента(_,_):-!.
созданиеБД:-
занесение_пациента_в_БД("Иванов",мужчина,1971),
занесение_пациента_в_БД("Петрова",женщина,1965),
занесение_пациента_в_БД("Сидоров",мужчина,1961),
занесение_пациента_в_БД("Иваньков",мужчина,1941),
занесение_пациента_в_БД("Петрунова",женщина,1975),
занесение_пациента_в_БД("Сидорков",мужчина,1967),
write("\nСписок пациентов в исходной БД:"),nl,
распечатка(db),
db_close(db).



Слайд 22 Логическое программирование
распечатка(СелекторБД):-

Логическое программированиераспечатка(СелекторБД):-    chain_last(СелекторБД,

chain_last(СелекторБД,"список пациентов",ПослСсылка),
ref_term(СелекторБД,пациент,ПослСсылка,

п(ФамилияПац,ПолПац,ГодРождПац)),
write(ФамилияПац,",",ПолПац,",",ГодРождПац,"г."),nl,
печать_следующего_пациента(СелекторБД,ПослСсылка),
write("Конец списка пациентов.\n").

изменениеБД(FName):-
db_openinvalid(бд1,FName,in_file), % бд1 только на ЧТЕНИЕ
db_copy(бд1,"mytemp",in_memory), % копируем ее в память
db_open(бд2,"mytemp",in_memory), % и открываем как бд2
chain_terms(бд2,"список пациентов",пациент,
п(Фамилия,_,ГодРождения),Ссылка),
ГодРождения < 1975,
write("Удаляется ",Фамилия),nl,
term_delete(бд2,"список пациентов",Ссылка),
fail.
изменениеБД(_):-!.



Слайд 23 Логическое программирование
завершение(FnameC):-

db_garbagecollect(бд2),

db_copy(бд2,FNameC,in_file),
write("\nСписок пациентов в измененной БД:"),nl,
распечатка(бд2),
db_close(бд2),
db_close(бд1),
write("\nработа завершена.\n").

Goal
clearwindow,
write("Исходная БД (имя файла?) ------->"),
readln(FName),
db_create(db,FName,in_file),
созданиеБД,
write("\n\nИзмененная БД (имя файла?) ------->"),
readln(FNameC),
изменениеБД(FName),
завершение(FNameC).
%===========================================================


Слайд 24 Объектно-ориентированное программирование
Выделение объектов и связей между ними, построение

Объектно-ориентированное программированиеВыделение объектов и связей между ними, построение иерархии объектов с

иерархии объектов с наследованием свойств и методов предка потомкам.
Вычислительная

модель – вызов метода или посылка объекту сообщения

Слайд 25 Объектно-ориентированное программирование
С++
Реализация в 1983 г.
Разработчик –

Объектно-ориентированное программированиеС++Реализация в 1983 г. Разработчик –  Бьерн Строуструпна базе языка С (1972г, Денис Ритчи).

Бьерн Строуструп

на базе языка С
(1972г, Денис Ритчи).


Слайд 26 Объектно-ориентированное программирование
Delphi
реализация – 1995г
разработчик –Чак Язджевски

Язык визуального

Объектно-ориентированное программированиеDelphiреализация – 1995г разработчик –Чак ЯзджевскиЯзык визуального программирования, Программа- совокупность

программирования,
Программа- совокупность модулей,
определяющих работу выбранного
набора компонент-объектов




Слайд 27 Объектно-ориентированное программирование
Рабочее окно языка DELPHI

Объектно-ориентированное программированиеРабочее окно языка DELPHI

Слайд 28 Языки Web-программирования
Языки программирования агентов.
Агенты – сущности, находящиеся

Языки Web-программированияЯзыки программирования агентов. Агенты – сущности, находящиеся в некоторой среде,

в некоторой среде, от которой они получают данные, отражают

события, происходящие в среде, интерпретируют их и исполняют команды, воздействующие на среду.

Слайд 29 Языки Web-программирования
Python
реализация – 1991г
разработчик –

Языки Web-программированияPythonреализация – 1991г разработчик –


Гвидо ван
Россум
Программа-
совокупность модулей.

Слайд 30 Языки Web-программирования
Набор операций над числами - достаточно стандартный

Языки Web-программированияНабор операций над числами - достаточно стандартный как по семантике,

как по семантике, так и по обозначениям:
>>> print 1

+ 1, 3 - 2, 2*2, 7/4, 5%3
2 1 4 1 2
>>> print 2L ** 1000
107150860718626732094842504906000181056140481170553360744375038
837035105112493612249319837881569585812759467291755314682518714
528569231404359845775746985748039345677748242309854210746050623
711418779541821530464749835819412673987675591655439460770629145
71196477686542167660429831652624386837205668069376

>>> print 3 < 4 < 6, 3 >= 5, 4 == 4, 4 != 4 # сравнения
True False True False

>>> print 1 << 8, 4 >> 2, ~4 # побитовые сдвиги и инверсия
256 1 -5

>>> for i, j in (0, 0), (0, 1), (1, 0), (1, 1):
... print i, j, ":", i & j, i | j, i ^ j # побитовые операции
...
0 0 : 0 0 0
0 1 : 0 1 1
1 0 : 0 1 1
1 1 : 1 1 0



  • Имя файла: prezentatsiya-po-distsipline-osnovy-programmirovaniya.pptx
  • Количество просмотров: 141
  • Количество скачиваний: 0