کامپیوتر و IT و اینترنت

برنامه نویسی C (جلسه 11) آرایه ها

صفحه 1:
6 بسم الله الرّحمن الرّحيم 2 برنامه نويسى ) - جلسه ۱۱ دانشگاه قم نیم سال اول ۸۴-۸۵ وام

صفحه 2:
مثال از توابع بازگشتی - برج های هانوی مزايا و معايب نوشتن برنامه به صورت با زگشتی: — مزايا: ساده شدن برنامه نويسى و خوانا قر شدن برنامه - معايب: مصرف حافظه و سرعت اجراى كمتر محل قرار كرفتن توايع - هر تابع قبل از احضار مى بايست يا تعريف شده باشد ويا اعلان مزاياى استفاده از توايع: - قابل فهم كردن و امكان برنامه نويسى سريعتر و ساده قر فوشتن برنامه های خوانا: - استفاده از توابع؛ اسامی مناسب برای متغیرها و توابع» دندانه ای کردن برنامه؛ نوشتن

صفحه 3:
۶ آرایه ها - ضرورت وجود آرایه ها - تعریف آرایه - مثال هایی از کاربرد آرایه ها - آرایه ها به عنوان ورودی و برگشتی تابع - ابت ‎(cosstact)‏

صفحه 4:
ضرورت وجود آرایه ها * مثال: برنامه اى بنويسيد كه 3 عدد را بكيرد و ميانكين و واريائس آنها را محاسبه كند. ‎pos HAD ily 9 ool 15‏ يكار از ووابط زير به دست مى يندة ‎nt‏ ‎2 (۴ ‏كت ‏2 ‏اگر تنها هدف به دست آوردن میانگین بود به راحتی می توانستیم آن را انجام دهیم:

صفحه 5:
* در اینجا برای به دست آوردن واریانس نیاز به همه »ها داریم. اما در کد نوشته شده قبل تنها آخرین عدد را داریم و بقیه مقادیر از بين رفته اند. در نتيجه ناجاريم كد خود را به صورتى مثل اين بنويسيم: جک که ما ‎Avot ave,var;‏ ‎ser (“YP YELP PVP”, 8xD 8x1, 8xP ,8xD ,8xP );‏ ‎we=(xDtxl+xO+x9 +xP /S;‏ - ©« )سوم +( © ,عرد 6 )روم +( وره-1) :)نوم +( © ورد (1))ريوم) سبو :6/(( © عه :)نوب( © جره

صفحه 6:
* به این ترتیب کد نامناسبی خواهیم داشت. این موضوع به ازای داده های زیادتر (مثلا ۱۰۰۰ عدد) بیشتر نمود پیدا می کند. * در اين جلسه نشان می دهیم با تعریف آرایه ها می توان چنین برنامه هایی را خیلی ساده و خلاصه پیاده کرد. * به طور كلى آرايه ها در مواردی به کار برده می شوند که با مجموعه ای از داده های هم نوع سروکار داشته باشیم.

صفحه 7:
‎eget 9‏ :با دستور ‎int x fio glo sftp‏ مکانی در حافظه به نام « امه تخصیص داده می شد. * در زبان 6 ‎x[S‏ از » پنج مکا در حافظه به ‎al 2a Sa ca‏ تام ‎ee‏ 0 00 ‎igi go odo fF] 9 xf]‏ . * اصطلاحا مى كوبيم آرایه ای به نام« از نوع »و با ۵ عنصر تعریف کرده ایم. * به » ۵۲۰۱ ۳ و ۴ اصطلاحا اندیس آرایه گفته می شود. * به همین ترتیب می توان آرایه هایی ازانواع دیگر مثل ۲۷,۰۰ اد و ....داشت.

صفحه 8:

صفحه 9:
سوک لاو ‎Onid cain )‏ { ‎it 1;‏ ‎rt xf];‏ ‎Por (FD ji< +41)‏ ‎somn(“%P” xfi]);‏ ‎Por (FOi<;+4)‏ ۵ } حلقه اول مقادير را دريافت مى كند و در آرایه «قرار می دهد و حلقه دوم اين مقادير را جاپ می کند.

صفحه 10:
منال ۳ ) محاسبه میانگین و واریانس ۵ عدد on Poa xfS]; ‎ae;‏ , سر میا ۳۹ ‎Por (O;<8;+4) ‎Ow=0; ‎Cor (FO1O;+4) ‏:©/(6 سم [زام) سدع و0 (سه 90۳ الل نينا ‎Orn ("Dhe verre =%E er)‏ 1

صفحه 11:

صفحه 12:
مثال ۵) برنامه ای بنویسید که ۱۰ عدد از کاربر بگیرد آنها را به صورت صعودی مرتب کرده و چاپ برنامه از دو بخش تشکیل شده است: دریافت اعداد مرتب کردن آنها ‎١‏ دريافت اعداد را می توان با تعریف یک آرایه و نوشتن قطعه برنامه ای به صورت زیر انجام داد: ‎ ‎tet ]00[: ‎ii; ‎Por (iF O:i<dD;++i) souk (“%P” 8ox{i]);

صفحه 13:
۲. به مسئله مرتب سازی اصطلاحا -:«< گفته می شود. برای مرتب سازی روش های متعددی وجود دارد. مانند : و۰ در این مثال از :77 -ا« که یکی از ساده ترین آنهاست استفاده می شود.

صفحه 14:
اجه عارامان()برای مر تب سازی صعودی لپ ر سس * ابتدا دو عنصر اول و دوم آرایه با هم مقایسه می شوند.اگر عنصر اول از دوم بزرگتر بود جای دو عنصر عوض می شود. سپس عناصر دوم و سوم مقایسه می شوند و مشابه قبل ی مکان در صورت لزوم انجام می گیرد. همین کارها برای عناصر ۳ و ۴» ۴ و 4۵ ....انجام می شود تا به انتهای آرایه برسیم. * زمانى كه به اننهاى آرايه برسيم ماكزيمم مقادير در آخرين مكان آرايه قرار كرفته است و به عبارت ديكر زمانى كه يك باراز ابتدا قا انتهاى آرايه بيمايش شود عنصر آخر مى شود. * در مرحله بعد ابن يبمايش و اعمال كفته شده روى عناصر اول تا يكى مانده به آخر انجام مى شود و در نتيجه : با دو بار پیمایش ۲ عنصر مرتب می شوند. * در مرحله بعد يبمايش از ابتدا تا عنصر دوتا مانده به آخر آرایه انجام می شود و در نتیجه: با سه بار پیمایش سه عنصر مرتب می شود. © به این ترتیب اگر آرایه » ۰ عنصری باشد با 0- پیمایش ؛ کل آرایه مرتب می شود.

صفحه 15:
‎٩‏ فرض کنید دو متغیر 205« و <06-, داشته باشیم و ‏بخواهیم مقدار آنها را با هم تعویض کنیم. © با تعریف متغیری به نام م< و نوشتن قطعه کد زیر می فوان این کار را انجام داد: عمسا امسا 1۳7۳5 ‎wy;‏ ‎۱/۵

صفحه 16:
Por (FOi1-+4) ‏رهطم ج‎ : ‏هسب‎ ‎Offa]; ‎Of ex; * ‏سوبي‎ rere نکته: حلقه سب دوم تعداد پیمایش ها (0ج تا) را کنترل می کند.

صفحه 17:
مقدار دهی به آرایه ها ۶ سه روش برای مقدار دهی به آرایه ها وجود دارد: ۱ ۰ اد ۶ با دستورات ورودی مثل 7یا ۳ ‎AO}‏ ‏۹601 ‏© مقدار دهی مستقیم: ‎ao}:‏ ‏:0-6 ‏؟ مقداردهی هنگام تعریف: (صفحه بعد)

صفحه 18:
مقداردهی هنگام تعریف * مى قوان آرايه ها را (تنها) هنكام تعریف به صورت زیر مقداردهى كرد: :(60-,9[<)0,9]< ۰۱ در اینجا ۲ در 0[»5 در [1]- و ۵- در [9]- قرار می گیرد. مثال های دیگر: (©4.6, :0.00 - زمزم ممم ‎chor oh{P I=,‏

صفحه 19:
فه عداد مقادبر نوشته شده داخل [ ) از اندازه * اگر در مقداردهی هنگام ت مشخص شده برای آرایه ببشتر باشد خطا اعلام می شود. (,,0,,۵)-[9] م * اكر تعداد مقادير كمتر باشدء بقيه صفر در نظر گرفته می شوند: (6,©)-[0] م در اينجا 0)-[©] مى شود. مثال دیگر: ‎rt x[UOO]={O}‏ همه مقادیر صفر می شوند. (اين روشی برای صفر کردن همه عناصر آرایه است). * ار بنویسیم: (0,0)-[ ]« «:اندازه آرایه ۲ در نظر گرفته مى شود.

صفحه 20:
آرایه ها به عنوان ورودی و بر گشتی توابح * آرايه ها مانندسایر متفیرها می توانند ورودی با برگشتی تابع باشند.

صفحه 21:
آرايه به عنوان ورودى تابع مثال ۶: تابعی بنویسید که یک آرایه را بگیرد و ماکزیمم آن را بركردافد: ورودی: آرایه برگشتی: یک عدد ([۱0] مس ما rot; Pat wax=x[0]; Por (=0;i<00;++i) ‏د < لمم‎ ‏سس‎ مسا {

صفحه 22:
برنامه کامل مثال ۶

صفحه 23:
* در بسیاری مواقع نیاز به کار با مقادیر ثابت در برنامه» پیش می آید و اين مقادیر ممکن است چند بار در برنامه تکرار شوند. مانند عدد ۱۰ در مثال قبل * اگر در مثال قبل بخواهیم ماکزیمم فرضا ۲۰ عدد را حساب کنیم باید تمام اعداد ۱۰ را به ۲۰ تبديل كنيم. اين امر دو مشكل دارد: وقت كير بودن و فراموش كردن تعويض همه مقادير. * دستور 02-7 در زبان © اين مشكل را مرتفع مى سازد.

صفحه 24:
مثال ۷: همان مثال قبل با تغیبرات جزئی: (با رنگ قرمز) "دستور سا ماد یک دمتورراهنمای پیش پردازنده ی كامبايلر در هر جاى برنامه كه با 011/۵ مواجه شود به جای آن عدد ۱۰ 9 ۳ قرار می دهد. ‎Fe woof‏ ۰ لصطلاحا بسک لب(هجبسس) خوانده‌می‌شسود. مرت نصا *اسم ثابت» دلخواه است. معمولا ثابت ها را با نام های با حروف بزرگ و تعریف ‎ce‏ تم سیر "مقدار ثابت در برفامه غيرقابل تغيير است. مثلا اكر دستورى ) ‎ord woe) :‏ گر مثلا خواستیم با ۲۰ عدد کار کنیم تنها کافی است عدد ۱۰ را در ی 6 لاح به ۲۰ تبدیل کنیم. :هات سد ‎che AY 39 cee gtd Jet‏ هاست. (ترتیب نوشتن ‎eH AON‏ ۳ عبات ها و ع(اط هم نسیستو می‌سوانند قبلبا بستد هم مس ای تلا ‎pent‏ قرار گیرند) )

صفحه 25:
تابع به عنوان برگشتی ‎BG‏ * خارج از مباحث درس می باشد و نیاز به آشنایی با مفیومی به نام اشاره گرها دارد.

جهت مطالعه ادامه متن، فایل را دریافت نمایید.
29,000 تومان