)همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... ·...

13
پیشرفته برنامه سازی( مقدمه) ق اسکندری صاد- کامپیوتره علوماضی، گروانشکده علوم ری د[email protected]

Transcript of )همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... ·...

Page 1: )همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... · 2020-06-05 · Python P.pyc Machine Code Python Virtual Machine (PVM) یرسفم نابز•

( مقدمه)برنامه سازی پیشرفته دانشکده علوم ریاضی، گروه علوم کامپیوتر-صادق اسکندری

[email protected]

Page 2: )همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... · 2020-06-05 · Python P.pyc Machine Code Python Virtual Machine (PVM) یرسفم نابز•

....درباره این کالس

Page 3: )همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... · 2020-06-05 · Python P.pyc Machine Code Python Virtual Machine (PVM) یرسفم نابز•

....درباره این کالس

Page 4: )همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... · 2020-06-05 · Python P.pyc Machine Code Python Virtual Machine (PVM) یرسفم نابز•

....درباره این کالس

Page 5: )همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... · 2020-06-05 · Python P.pyc Machine Code Python Virtual Machine (PVM) یرسفم نابز•

....درباره این کالس

https://sadegh28.github.io/AP98992/

Page 6: )همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... · 2020-06-05 · Python P.pyc Machine Code Python Virtual Machine (PVM) یرسفم نابز•

ساختار کامپیوتر پایه

RAMگذرگاه مشترک

CPU

INPUT

OUTPUT

Page 7: )همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... · 2020-06-05 · Python P.pyc Machine Code Python Virtual Machine (PVM) یرسفم نابز•

چرخه اجرای برنامه توسط پردازنده

CPU

Read X

Y = X*2

Print Y

X

YDecode and Execute

Page 8: )همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... · 2020-06-05 · Python P.pyc Machine Code Python Virtual Machine (PVM) یرسفم نابز•

RAMنمایش برنامه و داده ها در

Read X

Y = X*2

Print Y

10

20

X

Y

00011010101…..0001

01110010101…..0011

00011010101…..0111

00000000000…..1010

0000000000…..10100

RAMنمای واقعی از

Page 9: )همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... · 2020-06-05 · Python P.pyc Machine Code Python Virtual Machine (PVM) یرسفم نابز•

برنامه نویسی

00011010101…..0001

01110010101…..0011

00011010101…..0111

00000000000…..1010

0000000000…..10100

برنامه نویسی در زمان های قدیم

Punch Cards

Page 10: )همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... · 2020-06-05 · Python P.pyc Machine Code Python Virtual Machine (PVM) یرسفم نابز•

برنامه نویسی

00011010101…..0001

01110010101…..0011

00011010101…..0111

00000000000…..1010

0000000000…..10100

برنامه نویسی امروزه

Programming Language

ترجمه

Page 11: )همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... · 2020-06-05 · Python P.pyc Machine Code Python Virtual Machine (PVM) یرسفم نابز•

انواع زبانهای برنامه نویسی

Source CodeP.cpp

زمان برنامه نویسی(کامپیوتر مبدأ)

زمان اجرا(کامپیوتر مقصد)

Machine CodeP.exe

CompileC++

زبان کامپایلری•سرعت اجرای باال •

اگر معماری کامپیوتر مبدا با معماری کامپیوتر مقصد یکسان نباشد، خطا رخ می دهد •

Page 12: )همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... · 2020-06-05 · Python P.pyc Machine Code Python Virtual Machine (PVM) یرسفم نابز•

انواع زبانهای برنامه نویسی

زمان برنامه نویسی زمان اجرا

Source CodeP.java

Byte CodeP.class

CompileJAVA Machine Code

Java Virtual Machine (JVM)

مفسری-زبان کامپایلری•سرعت اجرای پایین تر نسبت به زبانهای کامپایلری •

اگر معماری کامپیوتر مبدا با معماری کامپیوتر مقصد یکسان نباشد، خطا رخ نمی دهد •

Page 13: )همدقم( هتفشیپ یاس همانب › AP98992 › Slides › Lecture1... · 2020-06-05 · Python P.pyc Machine Code Python Virtual Machine (PVM) یرسفم نابز•

انواع زبانهای برنامه نویسی

زمان برنامه نویسی زمان اجرا

Source CodeP.py

Byte CodeP.pycPython Machine Code

Python Virtual Machine (PVM)

زبان مفسری•سرعت اجرای پایین تر •

قابلیت انتقال کدها •

اگر معماری کامپیوتر مبدا با معماری کامپیوتر مقصد یکسان نباشد، خطا رخ نمی دهد •