اسلایدهای جلسه اول (مفاهیم اولیه برنامه نویسی) – ۷مهر ۹۲
Download
Report
Transcript اسلایدهای جلسه اول (مفاهیم اولیه برنامه نویسی) – ۷مهر ۹۲
منبع درس ی
کت ا ”برن م اای نی ب ا ی ب اای ا ،“C++دایت ااد ی دایت ااد ،تر ی اای مرت ا ی ا ا
الزم ،انتش رات شیخ به ی ،س ل .89
کت ا ”راهنی ا م ا مع برن م اای نی ا ،“Visual C++.Netدایت ااد ،تر ی اای
بهرام پ ش ی ،انتش رات اتح د ،س ل .84
امتح ن ت کتبی ( 12نیره) :پ ی نترم 8نیره +می نترم 4نیره
امتح عیلی ی کیییز ( 2نیره)
تیرین ت ( 4نیره)
پریژه ( 2نیره)
ب رم بندم
2
امتح پ ی نترم ( 10بهین )92
محتیی ت درس یleila-moazami.ir :
اییید[email protected] :
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
الگیریتم ی فلیچ رت
داده ه ،ثیابت ی متغیره ،عیلگره
تیابع ی دستیرات
س خت ره م کنترلی
اش ره گره ی آرایی ه
رشتی ی پردا ش رشتی ام
س خت ر ی کالس
معرفی کت بخ نی ه
3
ک ر ب محیط Visual Studio
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
ساختار یک سیستم کامپیوتری
انواع زبانهای برنامه نویس ی
چگونگی اجرای برنامه توسط کامپیوتر
الگوریتم
شبه کد
4
فلوچارت
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
ک مپییتر
ماشین حسابگر ،پردازشگر اطالعات
سخت افزار
قطعات فیزیکی و قابل ملس
نرم افزار (برن می)
نرمافزار يكي از بخشهاي اساس ي كامپيوتر به شمار ميآيد که سختافزار را به
كااار ميریا د .باه عبااارت ديگاار رابااط بااین كاااربر و سااختافزار را نرمافاازار مينامنااد.
نرمافاازار در حقيقاات روج و جااان ي ا كااامپيوتر اساات هااه بااه سااختافزار هو ات
ميبخشد.
5
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
برن می ه م سی تمی
نرمافاازار سیسااتم بااه نرمافاازاری در رایانااه رفتااه میشااود کااه بااه کااارکرد سیسااتم رایانااه یااا
کاربرده ا ا ا ااای س ا ا ا ااطه پ ا ا ا ااایین رایان ا ا ا ااه مرب ا ا ا ااو باش ا ا ا ااد .ایا ا ا ا ا نرمافزاره ا ا ا ااا ب ا ا ا ااه س ا ا ا اااختار
فیزیکا ا اای سا ا ااختافزار رایانا ا ااه وادسا ا ااته هس ا ا ا ند و در نوش ا ا ا ن آنها ا ااا از زبانها ا ااای سا ا ااطه
پ ااا ین مانن ااد زب ااان اس اامب اس ااتفاد میش ااود .سیس ااتمعامل و درایوره ااا از نرمافزاره ااای
سیسا ااتم هس ا ا ند .نرمافا اازار سیسا ااتمی در مسزمینا ااه عما اال میکنا ااد و خا اادما ی را فا ااراهم
عامل میتوانناد بارای انراام کارهاای خاود از آن
میکند که دیگار نرمافزارهاا و یاا سی ًساتم ً
استفاد کنند اما در عوض معموال مستقیما با کاربر عادی در تماس نیست و خادما ی
را به او ارایه نمیدهد.
برن می ه م ک ر ردم
در براباار نرمافاازار سیسااتم ،نرمافاازار کًاااربردی قاارار دارد کااه باارای کاربردهااای سااطه باااال و
غی سیسا ااتمی رایانا ااه اسا اات و معما ااوال با ااه زبانها ااای سا ااطه با اااال نوشا ااته میشا ااود کا ااه از
جز ی ا ااات س ا ااختافزاری سیس ا ااتم ًمس ا ااتقل اس ا اات و ب ا ااا اس ا ااتفاد مس ا ااتقیم از من ا اااد و
قابلیتهای رایانه کاری را مستقیما برای کاربر انرام میدهد.
6
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
دستگ هه م یریدم
فحی کلید ،میس
فحی نی یش ،پرینتر
دستگ هه م خریجی
یا د پردا ش مرکزم CPU
7
یا د مح سبی ی منطق :ALUعیلی ت مح سب تی ی منطقی
یا د کنترل : CUکنترل ی نظ رت بر تی م ا زا
فظی ث نییی ی دائمی ی نبی Hard disk
فظی ایلیی ی میقتی ی ا لی RAM
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
8
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
9
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
نرمافزاره تیسط نه ي برن مینیيب ي نیشتی ميشیند .نه ي
برن مینیيب ي ،يك سي تم ارتب طي ه تند كی تیسط آنه ميتیا
دستیرات ال م را بی م شی انتق ل داد.
برن مینیيب ي بی مجییعیاي ا عاليم ،قیاعد ی دستیرالعیده
هر
گفتی ميشید كی امك ارتب ط ب ك مپيیتر را هت بي ك ري ي د
م ئلیاي فراهم ميكند.
انیاع نه م برن می نی ب ی
10
ا سااطن پ ا یی ( ا اساایبلی) :باای نه ا ی کاای نزدیااش باای ا م شاای ه ااتند
گفتی می شید.
ا سااطن می ا ی ( ا Cی ا یا) :ایاان نه ا باای ا ا ا نزدیااش ه ااتند ام ا
قدرت دسترس ی م تقیم بی سخت افزار را نیز دارند.
ا سااطن ب ا ال ( ا پ سااب ل ی بی اایش) :باای نه ا ی کاای نزدیااش باای ا ا ا
ه تند گفتی می شید.
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
High
level languages
Data = 10+20;
Low
level languages
Load R1, 10
Load R2, 20
Add R1, R2
Store R2, L1
92/7/7 ،جلسه اول
مفاهیم اولیه برنامه نویس ی
11
کده م برن می
مف ر ی ک مپ یلر
برن می ایج د شده بی
م شی
12
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
ک مپ ا یلر ی مف اار برن ماایه ی ه ااتند کاای ا سااطن ب ا ال ی سااطن می ا ی را
م شی میکنند.
تبدید بی
یش مف ر یش دستیرالعید ی یش خط را در یا د م میخیاند ی بعاد ا
تباادید کاارد آ باای کااد م شاای ،آ را ا ارا میدنااد .در هنگ ا می کاای ایاان ک اد
تیسط م شی ا را میشید ،مف ر خط بعدم را خیاناده ی آ را تبادید بای
کا ااد م شا اای میدنا ااد .نه ا ا ی م ننا ااد Javascriptی basicدارام مف ا اار
ه تند.
ی ااش ک مپا ا یلر هی اای ک ااد برن م اای را ب اایرت ی ااش ا ا خیان ااده ی آ را ب اای ک ااد
م ش اای تب اادید میدن ااد ی س اارو ک ااد تیلی ااد ش ااده را دری ی ااش ف ی ااد دیا اد
ذخیااره میدنااد .ایاان ف یااد ا را اای دیااد ،کا مال م ااتقد ا ف یااد ا االی برن ماای
می ب شد .نه ی م نند Javaی C++دارام ک مپ یلر ه تند.
13
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
• مزایا:
مف ر
• ویرایش در حین اجرا
• وادسته نبودن به platform
• معایب:
• کند بودن ( 10بار ترجمه یک حلقه 10تایی)
ک مپ یلر
• مزایا:
• امنیت
• سرعت
• معایب:
• عدم امکان ویرایش در حین اجرا
14
• وادسته به platform
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
ریش انج م ك ر ي د م ئلی
گرفتی شده ا ر شی خیار می
مجییعاایام متنا زی ا دستیرالعیده ساات کاای باای ترتیا خ ا ی ا ارا
میشیند ی م ئلیام را د میکنند.
ریش ی گ م بی گ م برام د م ئلی
الگاایریتم گ ا ه دارام مرا لاای اساات کاای تد ارار میشااید ی ی ا در مر لاایام
نی مند ت ییمگیرم است.
آشپزم مث لی ا یش م ئلی است.
15
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
خروج
• الگوریتم ممک است بدون ورودی باشد.
قطعیت
• دستورات الگوریتم باید با زبانی دقیق و بیابهام بیان شوند .هر دستورالعمل نیز باید
انرامپذیر باشد .دستورهایی نظی «حاصل تقسیم پنج بر صفر را محاسبه کنید» مراز
نیس ند.
پایان پذیری
• الگوریتم باید دارای شروع و پایان مشخص ی باشد ،به نحوی که ارر دستورات آن را
دنبال کنیم ،برای تمامی حاالت ،الگوریتم مس از طی مراحل شمارا و متناه خاتمه
یابد.
• یک تفاوت میان برنامه و الگوریتم پایان پذیری است.
16
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
مح یره (ف رس ی ی انگلیب ی ی )...
شبی کد
فلیچ رت
برن می نی ب ی
17
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
الگور تمي بنويسيد هه سه عدد از ورودي در افت هرد مرموع و ميانگین
سه عدد را محاسبه و چاپ هند.
.1شروع
.2سه عدد aو bو cرا از ورودی بخوان.
.3مرموع سه عدد aو bو cرا محاسبه و در sumقرار بد.
sum .4را بر سه تقسيم هرد ،در avgقرار بد.
avg , sum .5را در خروجي چاپ ه .
.6پايان
18
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
الگوریتمی بنویسید تا میانگین عددی 100عدد صحیه دلخوا را محاسبه
کند.
.1شروع
.2مقدار متغی sumرا برابر 0قرار بد.
.3دستورات شمار 4و 5را 100بار تکرار ک .
.4یک عدد از ورودی دریافت ک و مقدار آن را در متغی xقرار بد.
.5مرموع sumو xرا در sumقرار بد.
.6خارج قسمت sumبر 100را در avgقرار بد.
.7مقدار avgرا در خروج نمایش بد.
.8پایان
19
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
شبیکد ی pseudocodeریش ی سر ع ،فشرده ی غیر رسمی برام تیضین
یش الگیریتم ک مپییترم است.
ی نی م شی طراحی شده است.
برام خیانده شد تیسط ا
ا
شبی کد معییال ف قد زئی ت است.
انگلیب ی ی عالمته م ری ض ی استف ده میکنند.
برام نیشت آ ا
هدف استف ده ا شبی کد این است کی فهم آ س دهتر ا نه م برن می
نی ب ی است.
ا
شبی کد معییال ا هیچ گرامر مشخص ی پیریم نمیکند.
20
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
Start
Read x , y , z
a=x+y+z
a=a/3
Write a
End
21
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
1. Start
2. sum = 0
3. Repeat 100 times “#4 and #5 Instructions”
4. Read x
5. sum = sum + x
6. avg = sum / 100
7. Write avg
8. End
92/7/7 ،جلسه اول
مفاهیم اولیه برنامه نویس ی
22
1. Start
2. i = 0
3. sum = 0
4. Read x
5. sum = sum + x
6. i = i + 1
7. if ( i < 100 ) then go to “#4 instruction”
8. avg = sum / 100
9. Write avg
10. End
92/7/7 ،جلسه اول
مفاهیم اولیه برنامه نویس ی
23
روندنما ی فلوچارت ) (flowchartنییدارم است برام نی یش دادهه ،
اطالع ت ی ریند ک ر یش الگیریتم بر ریم آنه ،بی یسیلی نی ده م خ ص ی
خطیط هتدار بی آنه .
آغ ی پ ی
انت
ی پردا ش
یریدم ی خریجی
ت ییم گیرم (شرط)
ات ل ی رابط
24
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
Begin
Read (a,b,c)
Sum a+b+c
Avg sum/3
Write (Sum, Avg)
End
92/7/7 ،جلسه اول
مفاهیم اولیه برنامه نویس ی
25
Begin
i 1
sum0
Read (x)
Yes
92/7/7 ،جلسه اول
sum sum+x
End
i i+1
Write (avg)
i<=10
No
avgsum/10
مفاهیم اولیه برنامه نویس ی
26
عددي را ا یریدي دري فت كرده ،سرو تعداد ارق م آ را شیرده در
خریجي چ پ نی يید.
1. Start
2. Read a
3. i = 0
4. a = a / 10
5. i = i + 1
”6. if (a>0) then go to “#4 instruction
7. Write i
27
8. End
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
28
دی عدد aی bرا ا یریدي دري فت كرده ،محتیي ت آنه را بج نییده،
د را در خریجي چ پ كنید .این م ئلی را بی دی یرت د کنید:
ب استف ده ا متغیر کیبی ی بدی آ .
مفاهیم اولیه برنامه نویس ی
Read a,b
Read a,b
a=a+b
temp= a
b=a-b
a=b
a=a-b
b=temp
Write a,b
Write a,b
جلسه اول92/7/7 ،
سی عدد ا یریدي دري فت كرده ،كیچكترين عدد را ي فتی در خریجي چ پ
نی يید.
1. Start
2. Read a,b,c
3. min=a
4. if (b<min) min=b
5. if (c<min) min=c
6. Write min
29
7. End
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
فلیچ رتی رسم نی یید کی عددم ا یریدم دری فت کرده ی فرد ی یج بید
آ را مشخص کند.
Begin
)Read (x
No
)”Write (“odd
R==0
Q x/2
R x-2*Q
Yes
End
30
مفاهیم اولیه برنامه نویس ی
)”Write (“even
جلسه اول92/7/7 ،
.1
.2
.3
.4
31
ده عدد ا یریدي دري فت كرده ،كیچكترين عدد را ي فتی در خریجي
چ پ نی يید.
ضراي يك مع دلی در ی دیم را ا یریدي دري فت كرده ،ريشیه ي آ
را مح سبی ی در خریجي چ پ كنید.
دی عدد صحين مثبت xی nرا ا یریدي دري فت كرده ،سرو xبی
تیا nرا مح سبی كنید.
یش عدد را ا یریدي دري فت كرده ی مقلی آنرا در خریجی چ پ کنید.
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
نییده ی شبی کد ی فلیچ رت آ را
دی تیرین ا چه ر تیرین را انتخ
نیشتی ی رسم کنید.
لطف شی ره دی تیرین انتخ بی را ب الم برگی خید بنی ید.
نیشت ن م ی ن م خ نیادگی را فرامیش ندنید.
32
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،
33
مفاهیم اولیه برنامه نویس ی
جلسه اول92/7/7 ،