Бублик Володимир Васильович кафедра мультимедійних систем кімн. 1/204 консультації понеділок, вівторок,середа 15 -16 год. ...
Література  <ul><li>Передумова: </li></ul><ul><li>Н.Вирт, Систематическое программирование, М., Мир, 1978 </li></ul><ul><l...
Парадигми і мови програмування  <ul><li>Paradigm </li></ul><ul><li>From Wikipedia, the free encyclopedia </li></ul><ul><li...
Парадигми програмування <ul><li>Описова (декларативна) </li></ul><ul><li>  що?  — що шукати? що будувати? що рахувати? </l...
Мови програмування
FORmula TRANSlator <ul><li>C КВАДРАТНИЙ КОРІНЬ З ДІЙСНОГО ЧИСЛА </li></ul><ul><li>REAL FUCTION ROOT (A) </li></ul><ul><li>...
Структуроване програмування <ul><li>Структури керування </li></ul><ul><li>Послідовне виконання дій </li></ul><ul><li>P;Q <...
Control structures + Data structures = Pascal <ul><li>function root(a: real,eps:real): real; </li></ul><ul><li>var s, t: r...
Back to Hardware! C <ul><li>double root (double x, double eps) </li></ul><ul><li>{ </li></ul><ul><li>double s=0.5*x; </li>...
Incrementing C to C++ <ul><li>Мультипарадигменне програмування </li></ul><ul><ul><li>Процедурна парадигма (С  “ підмножина...
Роздільна компіляція
Upcoming SlideShare
Loading in …5
×

01 Paradigms

371 views
323 views

Published on

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
371
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

01 Paradigms

  1. 1. Бублик Володимир Васильович кафедра мультимедійних систем кімн. 1/204 консультації понеділок, вівторок,середа 15 -16 год. Програмування-2 emerecu.ukma.kiev.ua/efolio
  2. 2. Література <ul><li>Передумова: </li></ul><ul><li>Н.Вирт, Систематическое программирование, М., Мир, 1978 </li></ul><ul><li>В.В.Бублик, Конспект лекцій С++, emerecu.ukma.kiev.ua/efolio </li></ul><ul><li>С.Б.Л иппман, Ж.Лажойе, Язык программирования С++, вводный курс, ДМК, М., 2001 </li></ul><ul><li>Б.Страуструп, Язык программирования С++. Специальное издание, БИНОМ, М., 2001 </li></ul><ul><li>Т.А.Павловская, С/С++ Программирование на языке высокого уровня, Питер, СПб, 2001 </li></ul><ul><li>Г.Шилдт, Полный справочник по С, Вильямс, 2002 </li></ul><ul><li>М.Янг, Visual C ++ 6 , BHV , Киев, 1999 </li></ul>A dieu summer !
  3. 3. Парадигми і мови програмування <ul><li>Paradigm </li></ul><ul><li>From Wikipedia, the free encyclopedia </li></ul><ul><li>www.wikipedia.com </li></ul><ul><li>Since the late 1800s , the word paradigm has referred to a thought pattern in any scientific discipline </li></ul><ul><li>(in computing) a paradigm is a style of programming , usually enforced by the programming language used </li></ul>
  4. 4. Парадигми програмування <ul><li>Описова (декларативна) </li></ul><ul><li> що? — що шукати? що будувати? що рахувати? </li></ul><ul><li> </li></ul><ul><li>Наказова (імперативна) </li></ul><ul><li>“ спочатку роби одне, а потім інше ” </li></ul><ul><ul><li>Процедурна </li></ul></ul><ul><ul><ul><li>Структурована </li></ul></ul></ul><ul><ul><li>Об'єктна (модульна, абстрактні типи даних) </li></ul></ul><ul><ul><li>Ієрархічна (об'єктно-орієнтована) </li></ul></ul>
  5. 5. Мови програмування
  6. 6. FORmula TRANSlator <ul><li>C КВАДРАТНИЙ КОРІНЬ З ДІЙСНОГО ЧИСЛА </li></ul><ul><li>REAL FUCTION ROOT (A) </li></ul><ul><li>S=A *.5 </li></ul><ul><li>IF (A.EQ.0) GO TO 20 </li></ul><ul><li>10 T=(S+A/S)*.5 </li></ul><ul><li>IF (ABS((T-S)/T).LE.1.T-6) GO TO 20 </li></ul><ul><li>S=T </li></ul><ul><li>GO TO 10 </li></ul><ul><li>20 ROOT=S </li></ul><ul><li>END </li></ul>John Backus
  7. 7. Структуроване програмування <ul><li>Структури керування </li></ul><ul><li>Послідовне виконання дій </li></ul><ul><li>P;Q </li></ul><ul><li>Розгалуження </li></ul><ul><li>if F then P else Q </li></ul><ul><li>Цикл </li></ul><ul><li>while F do P; </li></ul><ul><li>do P until F; </li></ul><ul><li>for i:=a to b do P; </li></ul><ul><li>NB </li></ul><ul><li>DO 1 I=0.255 </li></ul><ul><li>1 A(I) = B(I) </li></ul>Edsger Wybe Dijkstra
  8. 8. Control structures + Data structures = Pascal <ul><li>function root(a: real,eps:real): real; </li></ul><ul><li>var s, t: real; </li></ul><ul><li>begin </li></ul><ul><li>s:=a*0.5; </li></ul><ul><li>if a<>0 then </li></ul><ul><li>repeat </li></ul><ul><li>t:=s; </li></ul><ul><li>s:=(s+a/s)*O.5; </li></ul><ul><li>until abs(s-t)/s<eps; </li></ul><ul><li>root:=s; </li></ul><ul><li>end </li></ul>Niklaus Wirth
  9. 9. Back to Hardware! C <ul><li>double root (double x, double eps) </li></ul><ul><li>{ </li></ul><ul><li>double s=0.5*x; </li></ul><ul><li>double t; </li></ul><ul><li>if (x!=0) </li></ul><ul><li>do </li></ul><ul><li>{ </li></ul><ul><li>t=s; </li></ul><ul><li>s=(s+x/s)*0.5; </li></ul><ul><li>} </li></ul><ul><li>while ((fabs(s-t)/s)>eps); </li></ul><ul><li>return s; </li></ul><ul><li>}; </li></ul>Brian Kernighan Dennis Ritchie
  10. 10. Incrementing C to C++ <ul><li>Мультипарадигменне програмування </li></ul><ul><ul><li>Процедурна парадигма (С “ підмножина ” С++) </li></ul></ul><ul><ul><li>Об'єктна парадигма (структури і класи містять дані і функції) </li></ul></ul><ul><ul><li>Ієрархічна парадигма </li></ul></ul><ul><ul><ul><li>Один об'єкт може бути частиною іншого ( partOF ) </li></ul></ul></ul><ul><ul><ul><li>Один об'єкт може бути узагальненням (конкретизацією) іншого ( isA ) , доповнюючи та/або заміщуючи (поліморфізм) його властивості </li></ul></ul></ul><ul><ul><li>Узагальнене програмування </li></ul></ul><ul><ul><li>template < class Type > Type max ( Type x , Type y ) </li></ul></ul><ul><ul><li>{ </li></ul></ul><ul><ul><li>return (x>y? x: y); </li></ul></ul><ul><ul><li>} </li></ul></ul>Bjarne Stroustrup
  11. 11. Роздільна компіляція

×