فصل 1 Algorithm الگوریتم ها

Preview:

DESCRIPTION

فصل 1 Algorithm الگوریتم ها. هدفهاي كلي. شناخت حل مسئله و ارائه الگوریتم. شناخت اجزاء لازم برای حل مسئله. بررسی صحت الگوریتم. هدفهاي رفتاري. دانشجو پس از مطالعه اين فصل بايد بتواند:. الگوریتمی را برای حل مسئله ارائه دهد. الگوریتم های مختلف برای یک مسئله را مقایسه کند. - PowerPoint PPT Presentation

Citation preview

1فصل Algorithm الگوریتم ها

هدفهاي كلي

اجزاء الزم برای حل مسئله شناخت

شناخت حل مسئله و ارائه الگوریتم

بررسی صحت الگوریتم

هدفهاي رفتاري

.الگوریتمی را برای حل مسئله ارائه دهد

.الگوریتم های مختلف برای یک مسئله را مقایسه کند

. شرط ها و حلقه ها را در الگوریتم بکار ببرد

دانشجو پس از مطالعه اين :فصل بايد بتواند

مقدمه انسان با مسائل مختلفي ،در زندگي روزمره

روبروست و براي هر كدام مشكالت( راه حلي و حل از اين مسائل )از قبيل راه ی گزيند. مسائل روشي را بر مي

ا خوردن، خوابيدن و غيره كه بشر غذرفتن، ريباS هر روز آنها را پيش روي خود دارد.قت همه اين مسائل نياز به روشي براي حل كردن دارند مثال راه رفتن بايد

با ترتيب خاصي و مراحل معيني انجام شود. تا مسئله راه رفتن براي بشر حل شود. اصطالحاS روش انجام كار يا حل مسئله را الگوريتم آن

نامند مسئله مي

تعريف الگوريتم

باشد كه اي از دستورالعمل ها، براي حل مسئله مي الگوريتم مجموعهشرايط زير را بايد دارا باشد:

دقيق باشد • جزئيات كامل حل مسئله را داشته باشد.•پذير باشد.‌پايان•

مراحل الگوريتم

براي حل يك مسئله بايد الگوريتم آن مسئله را مشخص كنيم )يا بيابيم(. كه( طراحي الگوريتم براي آن مسئله ناميده مي شود. در طراحي ‌ اصطالحا

( سه مرحله زير را از هم جدا مي كنند:‌الگوريتم معموًال

ها‌خواندن داده•انجام محاسبات•ها‌خروجي•

الگوريتمي بنويسيد كه دو عدد از ورودي دريافت كرده : مثال مجموع

دو عدد را محاسبه و چاپ نمايد.

انجام محاسبات خروجي ها وروديها

مجموع دو عدد جمع دو عدد a , b

ـ شروع 0 را بخوان.b ,aـ 1 قرار بده.sum را محاسبه و در b , aـ مجموع 2 را در خروجي چاپ كن sumـ 3ـ پايان4

انجام محاسبات ها خروجي وروديها

چاپ مجموع محاسبه مجموع a

چاپ ميانگين محاسبه ميانگين b

c

مثال: الگوريتمي بنويسيد كه سه عدد از ورودي دريافت كرده مجموع و ميانگين .سه عدد را محاسبه و چاپ كند

ـ شروع0ـ سه عدد از ورودي بخوان1 قرار بده.sumـ مجموع سه عدد را محاسبه و در 2 قرار بده.ave را بر سه تقسيم كرده،در sumـ 3 را در خروجي چاپ كن.ave , sumـ 4ـ پايان.5

معموال درك يك الگوريتم با شكل راحتر از نوشتن آن بصورت متن

باشد. لذا الگوريتم را با ميدهند. (نمايش مي flowchartفلوچارت)

شود. هاي زير تشكيل مي فلوچارت از شكل

Begin

End

خواندن یا Read

چاپ کردن

write

كنند: هاي شروع و پايان: كه معموال از يك بيضي استفاده مي عالمت

شود: االضالع استفاده مي عالمتهاي ورودي و خروجي: كه معموال از متوازي

عالمتهاي محاسباتي و جايگزيني: براي نمايش دستورات جايگزينيو محاسباتي از مستطيل استفاده مي كنند:

جایگزین یا محاسبات

عالمت شرط: براي نمايش شرط از لوزي •.شود استفاده مي

هاي عالمت اتصال: براي اتصال شكل•هاي مختلف بهم از فلش

كنند. دار استفاده مي جهت

Begin

Read(a,b,c)

Sum‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌a+b+c

Ave‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌sum/3

Write(sum,ave)

End

فلوچارت مجموع •سه عدد

مثال: فلوچارتی رسم نمائيد كه دو عدد از ورودي دريافت كرده سپسنمايد. محتويات دو عدد را با هم جابجا

را دو متغير كه در آنها دو عدد خوانده شده،b , aبراي حل اين مسئله گيريم. سپس با استفاده از يك متغير كمكي گيرند در نظر مي قرار مي

كنيم : محتويات اين دو عدد را جابجا مي

12 15

temp

temp

a b

12 15

12

a b

temp

15 15

12

a b

temp

15 12

12

a b

temp

Begin

Read(a,b)

temp a

a b

Write(a,b)

End

b temp

:فلوچارت مسئله باال بصورت زير خواهد بود

تمرينـ فلوچارتي رسم نمائيد كه طول و عرض مستطيل را از ورودي دريافت1

كرده محيط و مساحت آنرا محاسبه و چاپ كند.

اي را از ورودي دريافت كرده، ـ فلوچارتي رسم نمائيد كه شعاع دايره2محيط و مساحت آنرا محاسبه و چاپ نمايد.

را از وروديThird , second, firstـ فلوچارتي رسم كنيد كه سه عدد 3 دريافت كرده، محتويات آنها را جابجا نموده، حاصل را در خروجي

چاپ كند.

ـ فلوچارتي رسم نمائيد كه دو عدد از ورودي دريافت كرده، سپس 4محتويات دو عدد را بدون استفاده از متغير كمكي جابجا كند.

ـ فلوچارتي رسم نمائيد كه عددي )درجه حرارت برحسب سانتيگراد( 5را از ورودي دريافت كرده سپس آنرا به درجه فارنهايت تبديل كند.

هاي شرطي‌دستورالعمل

در حل بسياري از مسائل يا تقريباS تمام مسائل نياز به استفاده از شروطشود. همانطور كه ما خودمان در جزء، نيازهاي اساسي محسوب مي

ها سركار داريم. بطور مثال اگر هوا ابري زندگي روزمره با اين شرطباشد ممكن است چنين سخن بگوييم:

دارم. اگر هوا باراني باشد سپس چتري برمي•دارم. در غير اينصورت چتر برنمي

در حالت كلي شرط را بصورت زير نمايش دهند: مي

If شرط یاthen شروط

yes عمل يا اعمال

NO

عمل يا اعمال بعدي

: فلوچارتي رسم نمائيد كه عددي را از ورودي مثال Beginدريافت كرده، فرد يا زوج بودن آن را تشخيص دهد.

Read(a)

R‌‌‌‌‌‌‌‌‌‌‌‌a‌mod‌2

Write(‘odd’)

End

if‌R=0‌then

No

yesWrite(‘even’)

Begin

Read(a,b)

max a

Write(max)

End

if b>max

No

yes max b

مثال : فلوچارتي رسم كنيد كه دو عدد از ورودي دريافت كرده بزرگترين عدد را پيدا كرده در خروجي چاپ نمايد.

Begin

Read(a,b,c)

min‌‌‌‌‌‌‌‌‌‌‌‌a‌

Write(min)

End

if‌‌b<min‌then

No

yes min‌‌‌‌‌‌‌‌‌‌‌b

if‌‌c<min‌then yes min‌‌‌‌‌‌‌‌‌‌‌‌c‌

No

مثال : فلوچارتي رسم نمائيد كه سه عدد از ورودي دريافت كرده، كوچكترين عدد را يافته

در خروجي چاپ نمايد:

باشد: نمونه اجراي فلوچارت باال بصورت زير مي

a‌‌‌‌‌‌‌b‌‌‌‌‌‌‌c‌‌‌‌‌‌‌‌Min خروج

12345

12‌‌‌‌‌11‌‌‌‌‌17‌‌‌‌‌‌‌‌‌‌‌‌‌‌12111111

11

تمرين

- فلوچارتي رسم كنيد که عددي را از ورودي دريافت كرده، قدر مطلق1 عدد را در خروجي چاپ كند.

- فلوچارتي رسم نمائيد كه عددي از ورودي دريافت كرده مثبت، منفي2 يا صفر بودن عدد را تشخيص داده، در خروجي با پيغام مناسب

چاپ كند.

- فلوچارتي رسم نمائيد كه عددي را از ورودي دريافت كرده، بخشپذيري3 را بررسي نمايد.5 و 3 آن بر

ـ فلوچارتي رسم نمائيد كه ضرايب يك معادله درجه دوم را از ورودي4هاي آن را محاسبه در خروجي چاپ كند. دريافت كرده، ريشه

ها‌حلقه

شويم ، كه نياز به تكرار در حل بسياري از مسائل با عملياتي روبرو مي

گيرد. فرض كنيد، دارند و عمل تكرار آنها به تعداد مشخصي انجام مي

عدد را محاسبه كنيم، در اينصورت منطقي بنظر100 بخواهيم ميانگين

متغير مختلف را از ورودي دريافت كنيم سپس آنها را100رسد كه نمي

جمع كنيم.

انواع حلقه ها•

حلقه های با تکرار •مشخص

حلقه های با تکرار نا •مشخص

حلقه های با تکرار مشخص•

باشد اين حلقه از اجزاء زير ها تعداد تكرار مشخص مي در اين نوع حلقهشود: تشكيل مي

ـ انديس حلقه 1ـ مقدار اوليه براي انديس حلقه 2- مقدار افزاينده براي انديس حلقه )معموال يك واحد در هر مرحله(3ـ مقدار نهايي )تعداد تكرا حلقه(4ـ شرطي براي كنترل تعداد تكرار حلقه5

i 1

if i<=n

yes

No

مجموعه دستورات حلقه

i i+1

اتمام كار حلقه

( با فلوچارت بصورت زير نمايش مي‌اين حلقه دهند:‌ها را غالبا

را از ورودي دريافت كرده،nمثال : فلوچارتي رسم نمائيد كه عدد را محاسبه كند.n مجموع اعداد از يك تا

i انديس حلقه

n مقدار نهايي

Begin

Read(n)

I 1

sum 0

if I<=n

yes

NoWrite(sum)

Endsum sum+I

I I+1

حلقه

نمونه اجراي فلوچارت باًال بصورت زير است:

N‌‌‌‌‌‌‌‌I‌‌‌‌‌‌‌‌‌‌‌‌‌‌sum‌‌‌‌‌ خروجي

1234567

5‌‌‌‌‌‌‌1‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌0‌‌‌‌‌‌‌‌‌2‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌13‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌34‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌6‌5‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌106‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌15

15

عدد از ورودي دريافت كرده،nمثال : فلوچارتي رسم كنيد كه عدد را پيدا كرده در خروجي چاپ نمايد.n بزرگترين مقدار از بين

انديس حلقهi

مقدار نهايي n

بزرگترين مقدار Max

Begin

I 2

max a

if i<=n then

yes

No

write(max)

End

i i+1

حلقه Read(a)

Read(n,a)

if a > max max a

No

yes

، دو عدد صحيح مثبت را از n , xمثال : فلوچارتي رسم نمائيد كه را محاسبه كند.n به توان x ورودي دريافت كرده سپس

انديس حلقه•i

n مقدار نهايي•

nعدد به توان •pow

Begin

i‌‌‌‌‌‌‌‌‌‌‌‌1‌

pow‌‌‌‌‌‌‌‌‌‌‌‌1

‌‌‌‌‌‌

if‌‌i<=n‌then

yes

Nowrite(pow)

Endpow‌‌‌‌‌‌‌‌‌‌‌pow*xحلقه

Read(n,x)

i‌‌‌‌‌‌‌‌‌‌‌i+1

هايي كه تعداد تكرار آنها مشخص حلقهنيست

مشهورند.(while )در پاسكال به حلقه

S ها با توجه به ورودي، تعداد تكرار مشخص مي در اين حلقه شود. و دقيقا

توان تعداد تكرار حلقه را بدون ورودي معين كرد. اين حلقه ها فقط نمي

شود. شامل شرطي هستند كه تا زمانيكه برقرار باشد حلقه اجرا مي

If شرط ياشروط

محموعه دستورالعملها

و جاگزينها

yes

No

شوند:‌ها بصورت زير نمايش داده مي‌در حالت كلي اين نوع حلقه

مثال: فلوچارتي رسم كنيد كه عددي را از ورودي دريافت كرده سپس تعداد ارقام آن

را شمرده در خروجي چاپ نمايد.

N عدد خوانده شده•

countتعداد ارقام •

Begin

count 0

if N>0 then

yes

Nowrite(count)

EndN N div 10

حلقه

Read(N)

count count+1

مثال : فلوچارتي رسم نمائيد كه عددي از ورودي دريافت كرده، سري فيبوناچي قبل از آنرا توليد نمايد.

در حالت كلي جمالت سري بصورت:fk=fk-1+fk-2

Nعدد خوانده شده

f3جمله سوم سري

f2 جمله دوم سري

f1 جمله اول سري

Begin

F1 0

f2 1

if f3>N then

no

yes End

حلقه

Read(N)

f1 f2

f2 f3

f3 f1+f2

f3 f1+f2

write(f3)

تمرين

فلوچارتي رسم نمائيد كه عددي از ورودي دريافت كرده، كامل بودن-1هاي عليه آنرا بررسي نمايد. )عدد كامل، عددي است كه مجموع مقسوم

آن با خودش برابر باشد.(

جمله سريN را از ورودي دريافت كرده، N- فلوچارتي رسم كنيد كه 2 فيبوناچي را توليد نماید.

را N , Mـ فلوچارتي رسم نمائيد كه دو عدد 3از ورودي خوانده، عليه مشترك دو عدد را بزرگترين مقسوم

محاسبه و چاپ كند.

هاي تودرتو‌حلقه

هايي كه تا حال بكار برديم، فقط شامل يك حلقه بودند. الگوريتمدر صورتي كه در بسياري از مسائل ممكن است نياز به استفاده از چند

ها بايد دقت بيشتري به خرج حلقه در داخل هم باشيم. در اين نوع حلقههاي نوع اول بصورت تودرتو دهيم، تا مشكلي پيش نيايد. اگر از حلقه

استفاده كنيم در اينصورت براي هر حلقه شرط نهايي و انديس اوليه جداگانه بايد تعريف كنيم .

هاي تودرتو به ازاي يكبار تكرار حلقه اوليه، حلقه داخلي به اندازه در حلقه

بار تكرار شود و nشود. در كل اگر حلقه اوليه مقدار نهايي خود تكرار مي

: بار، در اينصورت كل حلقه m حلقه داخلي

mn بار تكرار خواهد شد.

توان بصورت زير نشان داد: هاي تودرتو را مي فلوچارت حلقهi 1

if j<=m then No

حلقه

j j+1

yes

.

.

.

if i<=n then

j 1

مجموعه دستورات و جايگزيني ها

مجموعه دستورات و جايگزيني ها

i i+1

A

A

yes

No اتمام كار حلقه هاي تو در تو

I انديس حلقه اول • N ورودي•

fact محاسبه فاكتوريل•

j انديس حلقه داخلي• Sumمجموع •

را از ورودي دريافت كرده، مجموعNمثال : فلوچارتي رسم نمائيد كه سري زير را محاسبه نمايد:

!!! .... NNS 3

3221

i 2

sum 1

A

if j<=i No

fact fact*j

yes

if i<=N

fact 1

j 2

i i+1

yes

No

Read(N)

End

sum sum+i/fact

Aj j+1

Write(sum)

تمرينات آخر فصل

عدد از ورودي دريافت كرده تعدادN- فلوچارتي رسم نمائيد كه 1 اعداد اول و كامل را شمرده در خروجي چاپ نمايد.

را از ورودي خوانده مقدار سري N , X- فلوچارتي رسم نمائيد كه 2زير را محاسبه كند:

!!! .... Nxxx n

S 42

2 41

- فلوچارتي رسم نمائيد كه عددی را از ورودي دريافت كرده مقلوب3 عدد را محاسبه و در خروجي چاپ كند.

ـ فلوچارتي رسم كنيد كه تاريخ تولد شخصي را از ورودي خوانده، 4سن شخص را با تاريخ روز، محاسبه نموده در خروجي چاپ كند.

را از ورودي دريافت N ,M( m>n)- فلوچارتي رسم نمائيد كه 5 را توليد كرده، در خروجي چاپ كند. N ,Mكرده سري فيبوناچي بين

2فصل

كاربرد آرايه ها در الگوريتم ها

هدفهاي كلي

الگوریتم های الزم برای شناخت جستجو و مرتب سازی

آرایه ها و مفهوم آنشناخت

ام يپدانشگاه نور

دانشكده يفناور

اطالعات)گروه يمهندس

وتر(يکامپ

مقایسه انواع روش های جستجو با هم

هدفهاي رفتاري

. از آرایه ها در حل مسئله استفاده کند

. با استفاده از آرایه ها لیستی را مرتب نماید

. در صورت لزوم در لیستی جستجو انجام دهد

دانشجو پس از مطالعه اين :فصل بايد بتواند

مقدمه

كارمند را از ورودي بخوانيم و100فرض كنيد بخواهيم اطالعات سپس آنها را مرتب كنيم، در اينصورت بايد وروديها را در جايي از

نويسي معموال از آرايه براي حافظه ذخيره كنيم. در زبانهاي برنامهها ما با توجه به كنند. در آرايه ذخيره اطالعات در حافظه استفاده ميها را خوانده در كنيم. سپس داده تعداد وروديها، طول آن را مشخص مي

دهيم. آن قرار مي

تعريف آرايه

هاي پشت سر هم از حافظه، كه همنوع بوده و توسط يك اسم معرفي خانهشوند، آرايه نام دارد. مي

نحوه دسترسي به هر يك از اعضاء آرايه، از طريق انديس آرايه امكانپذيرهاي آن است . براي تعريف آرايه ابتدا طول آرايه كه در حقيقت تعداد خانه

ها بايد معين شوند. كنيم. سپس نوع خانه كند، معين مي را مشخص مي

دهيم: ها را بصورت زير نمايش مي ها آرايه در فلوچارت

Name[ 1 .. Length ]

طول آرايه اسم آرايه

كنيم. فلوچارت ها استفاده مي براي خواندن يك آرايه از ورودي از حلقهباشد: خواندن آرايه از ورودي بصورت زير مي

a[1..100]

if‌‌i<=100‌ No

yes

‌Read(a[i])

i‌‌‌‌‌‌‌‌‌‌‌i+1

i‌‌‌‌‌‌‌‌‌‌‌1

ام آرايه در حالت iبا توجه به فلوچارت باال براي دسترسي به عنصر : كلي بصورت

Nam [ index ]

انديس آرايه اسم آرايه

كنند. عمل مي

عنصري را از ورودي 100مثال: فلوچارتي رسم كنيد كه يك آرايه حداكثر

دريافت كرده، سپس آن را خروجي نمايش دهد.

a[1..100]

i 1

if i<=N No

yes

Read(a[i])

i i+1

Begin

Read(N)

i 1

if i<=N

yes

write(a[i])

i i+1

No End

مثال : فلوچارتي رسم كنيد كه عددي را از ببرد.2 ورودي دريافت كرده آن را به مبناي

a[1..20]

i 1

if N>0 No

yes

N N div 2

Read(N)

i i-1

if i >0

yes

write(a[i])

i i-1

No End a[i] N mod 2

i i+1

a[1..100]

i‌‌‌‌‌‌‌‌‌‌1

k‌‌‌‌‌‌‌‌‌‌‌‌3

a[1]‌‌‌‌‌‌‌‌‌‌‌2

a[2]‌‌‌‌‌‌‌‌‌‌‌‌1

‌Read(N)

مثال : فلوچارتي رسم نمائيد كه عددي از ورودي دريافت كرده سپس اعداد اول قبل از آن را توليد نموده ، در يك آرايه قرار دهد.

No

if j<=i div 2

yes

j j+1

if i<=N

j 2

k 0

i 1 if i<k End

write(a[i])

i i+1

if I mod j = 0

yes

Noif k=0

a[k] i

k k+1yes

i i+1

No

A

yesk 1

No

yes

No

A

جستجو و مرتب سازي (‌search‌and‌sort‌)

يكي از مسائلي كه در بحث طراحي الگوريتم بسيار مهم است، بحث باشد. منظور از جستجو اينست كه يك مقداري سازي و جستجو مي مرتب

سازي اينست كه يك ليست را از يك ليست جستجو كنيم و منظور از مرتبها را توليد كنيم. مرتب از داده

هاي مختلفي وجود دارد در زير سازي الگوريتم براي جستجو و مرتبكنيم. سازي را بررسي مي های اوليه، براي جستجو و مرتب الگوريتم

الگوریتم های جستجو (search)

روند: دو الگوريتم زير غالباS براي جستجو بكار مي

‌linearجستجوي خطي •search

‌binaryجستجوي دودوئی •search

در جستجوي خطي عبارت مورد جستجو را به ترتيب با اولين، دومين

كنيم اگر عنصر مورد جستجو پيدا شد و … عنصرآرايه مقايسه مي

دهيم. اندیس آن را نمايش مي

linear‌searchجستجوي خطي •

فلوچارت جستجوي خطي بصورت زير است:

list[1..100]

i‌‌‌‌‌‌‌‌‌‌1

index‌‌‌‌‌‌‌‌‌‌‌0

falg‌‌‌‌‌‌‌‌‌‌‌0

‌Read(x)i‌‌‌‌‌‌‌‌‌‌‌‌1

if (i<=N) and (flag=0)

No

if list[i]=x

i‌‌‌‌‌‌‌‌‌‌‌i+1

index i

flag 1

write(index)

Endyes

yes

binary‌searchجستجوي دودوئی •

باشد. لذا براي در جستجوي دودوئی ، ليست مورد جستجو، مرتب ميشود: جستجو اعمال زير انجام مي

با عنصر وسط آرايه كه انديس آن برابر X- عنصر 1

middle‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌(low+high)/2‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌

شود.‌مقايسه مي

از عنصر وسط كوچكتر باشد، عنصر مورد نظر احتماالS درxـ اگر 2 قسمت باالی ليست قرار دارد. لذا آرايه با انديس، جديد در نظر گرفته

شود.‌شود و قسمت پايين ليست از فضاي جستجو حذف مي‌مي

از عنصر وسط آرايه بزرگتر باشد قسمت باالي ليست حذف xـ اگر 3شود و فضاي جستجو، قسمت پايين آرايه خواهد بود.‌ مي

پذيرد.‌ برابر عنصر وسط باشد عمل جستجو خاتمه مي x- اگر 4

باشد. براي ‌سازي بحث بعدي اين فصل مي‌مرتبها نيز‌مرتب كردن داده

هاي مختلفي وجود دارد، كه هر كدام ‌ الگوريتممزايا و معايب خاص خود

را دارد. بحث مفصل در اين مورد را به كنيم.‌هاي بعد واگذار مي‌فصل

مرتب سازي(sort)

تمرين فلوچارتي رسم نمائيد كه عددي از ورودي دريافت كرده، اعداد كامل •

قبل از خود را توليد و در يك آرايه قرار دهد.

عنصري از ورودي100فلوچارتي رسم نمائيد كه يك آرايه حداكثر • دريافت كرده، عناصري از آن كه اول هستند را با صفر كردن حذف نمايد.

اي‌ رقمي را توسط آرايه20فلوچارتي رسم نمائيد كه يك عدد حداكثر • از ورودي دريافت نمايد. سپس يك عدد تک رقمي را از ورودي خوانده

رقمي ضرب نموده، حاصل را در خروجي چاپ نمايد.20 در عدد

3فصل

كامپيوترباآشنايي

هدفهاي كلي

افزارهاي الزم براي شناخت سختكامپيوترهاي شخصي

شناخت كامپيوترهاي نسل قديم و امروزي

ام يپدانشگاه نور

دانشكده يفناور

اطالعات)گروه يمهندس

وتر(يکامپ

افزارها و انواع آن بررسي نرم

هدفهاي رفتاري

.كامپيوترهاي نسل جديد را با كامپيوترهاي نسل قديم مقايسه كند

افزارهاي ًالزم براي كامپيوترهاي شخصي را بشناسد. سخت

.انواع حافظه، مزايا و معايب آنها را شناخته و با هم مقايسه نمايد‌

.سيستم عامل و انواع آن را مقايسه نمايد‌

نويسي را تعريف كند. افزار و زبانهاي برنامه نرم

دانشجو پس از مطالعه اين :فصل بايد بتواند

كامپيوترهاي قديمي

همه (Super Computer)اولين كامپيوتر بزرگ منظوره ديجيتال

1946 در سال ENIAC الكترونيك، تحت عنوان ميالدي در دانشگاه پنسيلوانيا ساخته شد. اين كامپيوتر با سرمايه ارتش آمريكا طراحي شد.

30×50 تن و ابعاد آن 30وزن اين كامپيوتر فوت بود. اين كامپيوتر براي محاسبه جدول

پرتابه ها، پيش گويي وضع آب و هوا و محاسبات انرژي اتمي بكار مي رفت.

در كامپيوترهاي اوليه از المپهاي خالء بعنوان عنصر الكترونيكي پايه استفاده مي كردند. در اين

المپ خالء استفاده شده بود و 19000ماشين ها براي انرژي مصرفي المپ ها و همچنين ‌kw دستگاههاي تهويه و خنك كننده ماشين حدودانرژي الكتريكي مصرف مي شد. اين ماشين ها ‌130داراي حجم زيادي بودند و سطحي را معادل

مترمربع اشغال مي كردند. اين كامپيوترها 9015‌.به كامپيوترهاي نسل اول معروف شدند

كامپيوترهاي امروزي با بكارگيري ريزپردازنده به كامپيوترهاي نسل چهارم

معروفند. البته نسل هاي جديد ديگر .كامپيوترها نيز به بازار ارائه مي شود

در كامپيوترهاي امروزي سرعت پردازش بسيار باال، حجم اجزاء سخت افزاري

بسيار كوچك، حجم حافظه باال و غيره آنها را از نسل هاي ديگر متمايز

.مي سازد

يامروزكامپيوترهاي

وتر عبارتند ازيل دهنده کامپياجزاء تشک :

سخت افزار

نرم افزار

سخت افزار

Input Out‌putprocess

پردازش

ورودي

خروجي

( از قطعات زير تشكيل كامپيوترهاي امروزي معموًال:مي شوند

دستگاههاي ورودي • حافظه هاي جانبي• حافظه هاي اصلي• واحد پردازشگر مركزي• دستگاههاي خروجي •

نرم افزار يكي از بخش هاي اساسي كامپيوتر به شمار مي آيد، كه در

واقع سخت افزار را بكار مي گيرد. بعبارت ديگر رابط بين كاربر و

سخت افزار را نرم افزار مي نامند. نرم افزار در حقيقت روح و جان يك

كامپيوتر است، كه به سخت افزار هويت مي بخشد.

نرم افزار

(OS:‌Operating‌System)سيستم عامل •مشهورترين نوع نرم افزارهاي سيستمي مي باشد.

كه مديريت منابع سيستمي را بر عهده دارد. سيستم عامل، همچنين ارتباط بين كاربر و اجزاء

سخت افزاري و نرم افزاري ديگر را برقرار مي كند.

سيستم نرم افزار عامل

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

• توسط زبانهاي برنامه نويسي نوشته مي شوند. هانرم افزارزبانهاي برنامه نويسي، يك سيستم ارتباطي هستند كه توسط آنها مي توان دستورات ًالزم را به ماشين انتقال .داد

• هرزبان برنامه نويسي به مجموعه أي از عاليم، قواعد و دستورالعمل ها گفته مي شود كه امكان ارتباط با كامپيوتر .را جهت بيان كاري يا حل مسئله اي فراهم مي كند

زبانهاي سطح باال•زبانهاي سطح پايين•زبانهاي سطح مياني•

در حالت كلي زبانهاي برنامه نويسي را به سه دسته زير :تقسيم بندي مي كنند

Source‌program

Object‌program

Compiler

كامپايلر برنامه نوشته در يك زبان سطح باًال را به برنامه ‌.مقصد تبديل مي كند

Pascal زبان

در اين كتاب زبان پاسكال(Pascal)براي راآموزش و نوشتن برنامه ها انتخاب كرديم. اين

زبان كه به افتخار بلز پاسكال دانشمند فرانسوي قرن هفدهم ميالدي، پاسكال

و 1960نامگذاري شده است، در اواخر سال توسط پروفسور نيكالس ويژت 1970اوايل

ددر انستيتو فني فدرال سوئيس مطرح گردي

Recommended