صفحه 1:
مبانی کامپیوتر و برنامه سازی فصل چهارم : آرایه ها

صفحه 2:
در وثالهابى كه در فصل قبل بيان كرديد. لز متفيرهاى معمولى استفاده كرديد. ‎“eo Gi‏ تعدادزیادی متعیر برای نگاهداری داده ها داريم. درجنين ,دی ای نامگذاری متغیرها دچار مشکل شویم. دسیرسن هک یک آنها بر ال ار ۶ ‎eo ee‏ مثال ) الگوریتمی بتویسید که شماره دانشجوپی, تام و معرل تعدادی دانشجو زا بخواتد و مشخصات «انشجوياني زابكة ععدل انها از مبانگین:هعدل کلادن بیشتر است را ‎le‏ کند: ای حل این مثال ابتدا باید مشخصات و معدل کلیه دانشجویان دریافت شود تا ‎eas sale Lj OUI isle Jase Giles pulse‏ تسس ‎STS Joes aly‏ دانشجویان با میانگین کلاس مقایسه گردد تمي توانیم مجددا از کاربر بخواهیم که همان اطلاعات قبلی را مجددا وارد کند. بلکه بای از قبل آنها را در درون متغيرهابى ذخيره كرده بأشيم خا اكنون بتوانيم:مقايسه ر| اتجام ذهيم” رای اینکار نیاز به تعدادی متغیر (به تعداد دانشجويان مثلا 100 عدد) داريم كه مارا زچاز 2 مشکل آشاسیمی كلد ۰ أبن متغيرها را جكونه نامكذارى كنيم ؟ ۲ > تامگذاری متغیرها یک روش خاص, رنه تک تک آ | | ‎Silke‏ ‏ری بر ی ‎BS Bes‏ براى مقايسه هر دستور مجرا بنويسيم ؟

صفحه 3:
۱-۴ آرایه های یک بعدی تعریف آرایه : مجموعه ای از داده های همنوع است که تحت یک نام مشترک ذخیره می گرد پرای دسترسی به هریک از اعضا یا عناصر آرایه از نام آرایه بعلاوه یک انديس استفاده من شود. تنابزاين هر عتصر آرايه ورحقيقت يك متغين مستقل از همان نوع مورد نظر است: یک آرایه پیش از آنکه استفاده كردد بايد اغلآن شود: اعلان آرايه شامل تام أرايه و انذازه آن است. عناصر آرایه برای سهولت در دسترسی (معمولا) در حانهای پشت ستزهم حافظة أحره مف كريد مثال) آرایه ۸ را با 100 عضو درنظر بگیر تس 1 ۲۲۲۲ ®@) G)eE) Se) 00 eo)

صفحه 4:
۱-۴ آرایه های یک بعدی مثال) | ‎slay af‏ نا ادى دانشجو را بخوا ‎‘uke BS pati areal (ts‏ اي و معدا ‎ee ge‏ ا را بخوان w& sbi) pais nl L aveList 5 nameList » idList ‏آرايه هاى‎ 1و0 لاو تازمانیکه ( 0 > | ) دستورات 5 تا 6 را تکرار کن جاب كن "مشخصات دانشجوی " , | , "را وارد كنيد" ‎aveList(i) 5 nameList(i) 5 idList(i)‏ را بسخوان ‎sum © sum + aveList(i)‏ +11 ‎totalAve ۲‏ 1-1 تازمانیکه ( 8 > | ) دستورات 12 تا 13 را تکرار کن اگر ( ۲06۵۱۵۷6 = ‎olSi (aveList(i)‏ ‎oS v lz L aveList(i) 5 nameList(i) 5 idList(i)‏ ‎ici+l‏ ‏توقف کن

صفحه 5:
۱-۴ آرایه های یک بعدی الگوریتمیبنویسید که تعدادی عدد را درياقت و سيس ابتدا اعداد مثبت و سيس اعداد منفى را بطور جداكاته جاب ‎obs bn ۶‏ ‎NLL negative » positive sk all 2‏ عنصر درنظر بگیر ‎MegCount 0 poscount~ Oyie 1‏ 4 تازماتیکه (۵ > | ) دستورات 5 تا 7 را تکرار کن 5) 2030 رايخولن 6 اكر(0< 3050 ) أنكاه ‎positive(posCount) + adad 5 posCount + posCount +1‏ در ‎negative(negCount) « adad » negCount + negCount +1 eygail at‏ ‎ieiet G‏ 2 چاپ کن "لیست اعداد مثبت* ۵ 11 ‎«a‏ تازمانیکه (۵5600۴۴ع 5 جاب کن ‎positive(i)‏ ‏6 2101| 7 چاپ کن "لیست اعداد متقی* ۵ 1 9( تازمانيكه (غ0ناه5©9 > ‎١‏ ) دستورات 16 تا 17 را تکرار کن ۵ جاب كن ‎negativeli)‏ ‏۳-۹9 ‏2 توقف کن ‎ ‏دستورات 11 تا 12 را تکرار کن ‎

صفحه 6:
: ۱-۴ آرایه های یک بعدی 1 یتمی بنویسید ‎jl as, 2 aS‏ اعداد را خوانده و در دو آرایه قرار دهد. اشتراک آن دو را ترصن هد اعداد با ‎aT‏ واد و اراية فزار بهد بیجن اسراب آن جوز 7 و رأ بخوان آرايه 8 را با © عنصر و آرایه 8 را با ۲۷ عنصر در نظر بكير. آرايه © را با (010)0,50 عنصر درنظر بكير ‎all‏ هاى 8 با 5 عنصر و 8 با 60 عنصر را بخوان (البته نیاز به حلقه دارد) ‎cCount + 0 5 aCount + 1 ‏تا زمانيكه ( 6 > 3©010016) دستورات 7 تا 11 را تكرار كن ‏1 منامعط و1 © برو ‏تازمانيكه ( 1 > /لا5 300 5 > 04الا6©0) دستورات 9 تا 10 را تكرار كن ‎ol&I ( A(aCount) = B(bCount) ) ‏اكر‎ ‎sw © 05 C(cCount) « A(aCount) y cCount © ‏نامع‎ + 1 ‎bCount — bCount + 1 ‎Count ۰ aCount + 1 ‏چاپ کن "اشتراک دو مجموعه برابر است ‎iel‏ ‏تازمانیکه ( 60۱00۲ > ز ) دستورات 15 تا 16 را تکرار کن ‎Lb Cli)‏ چابکن ‎[1 +1 ‏توقف کن ‎

صفحه 7:
۱-۴ آرایه های یک بعدی * آزمایش الگوریتم اشتراک 0 © 68 اح سمل جنا 9 ع معدي fe 0 9 ae a 06

صفحه 8:
3 © : ۱-۴ آرایه های یک بعدی الگوریتمی منال قبل را براى اجتماع دو مجموعه تكرار كنيد 9" را بخولن آرابه ۸ را با ۴ عنصر و آریه 8 را با ۲0 عنصر ذر نظر يكير. آرایه > را با +0 عنصر درنظر بگیر آرایههای ۸ با ۵ عنصر و 8 با عنصر را بخوان (البته نیز به حلقه دارد) ‎ie‏ تا زمانیکه ( 8 > | ) دستورات 7 تا 8 را تکرار کن ci) Ali) leit cCount « ny bCount -1 نا زمانيكه ‎(BCount Sm)‏ دستورات 12 نا 16 را نکرار كن ‎sw 1 aCount <1‏ تازمانیکه ( 1 = ‎n and sw‏ > 0ناهعة) دستورات 13 نا 14 را تكرار كن اگر ( ‎A(aCount) = B(bCount)‏ ( آنگاه ۵ > بو ‘Count = aCount +1 اگر (1 > 50) انگاه C(cCount) © B(bCount) 4 cCount + cCount + 1 Count « bCount + 1 جاب كن “اجتماع دو مجموعه بزایر است باب ii تازمانيكه ( غ0نامع» > 1 ) دستورات 15 نا 16 را تكرار كن 0 را چایکن 1+ توقف کن

صفحه 9:
۱-۴ آرایه های یک بعدی * الگوریتمی بنویسید که یک لیست را گرفته و پس از حذف اعداد تکراری آن, حاصل وا یت کر را م 7 ۵ را بخوان 2 آرایه ۸ و 8 را با ۵ عنصر درنظر بگیر 3) آرایه ۸ را با عنصر بخوان B(1)<—A(1) 4 kelgie2 6 6 تا زمانیکه ( ۵ > ۱ ) دستورات 7 تا 11 را تکرار کن ۰1[ 8) تازمانیکه ( (ز)8 * (۸۵ 5۳00 > ز ) دستور 9 را تکرار کن و 1 + ز ز من اكر ( »ا < ز) آنگاه ۷+1 و (أ)ه > (8)6 84 1 + 1*1 2 ليست 8 را با »ا عضو چاپ کن (نیاز به حلقه دارد) 3) توقف کن

صفحه 10:
a 2 3 (4 6 6 0 6 a 0 03 یک بعدی ۱-۴ آرايه هاى د داده های حذف عملیات ‎oly‏ ‏نجام ‏دون ‎i Geo aula‏ مثال ‎nat ake Ly hs‏ عم ‎gd Je‏ ‎atts ۱‏ 28 حلقه دارد) تکراری ۱ ۱ | ‎niet 1‏ دشر ‎Ls nie mR‏ | تكرار كن 2 6 تا 9 را ‎fe‏ رز ات 9 8 را تکرار را ‎A(i)‏ ( آنگاه ‎“SIAN = ۳0‏ ‎at)‏ روز ۳ ‎ia‏ و 31 توقف كن

صفحه 11:
۱-۴ آرایه های یک بعدی ۰ یسید که یک لیست مرتب بصورت صعودی از اعداد و یک عدد را ۱ ‎wet rai‏ یش که ذاذه ذر ليست مسجو کلد وآن وتف اه 1) را بخوان 2) آرایه ۸ را با عنصر درنظر بگیر 3 آرايه 8 را با 0 عنصر بخوان (بصورت مرتب شده) Olga ‏»را‎ 4 1*1 6 6 تازمانیکه ( (۷۸۷ 300 ۱ > ۱ ) دستور 7 را تکرار کن [1+1 8) اكر ( م < ‎١‏ ) جاب كن "عدد بيدا نشد" و توقف كن 9) تازمانیکه ( ‎٩‏ > 1 ) دستورات 10 تا 11 را تکرار کن A(i) ‏نم‎ + 1( ao و 1 +11۱ nen-Laz 3 آرایه ۸ را با ۲ عضو چاپ کن OS ‏توقف‎ 4

صفحه 12:
* آزمایش الگوریتم حذف از لیست مرتب a ۱-۴ آرایه های یک بعدی 90 90 56 56 26 58 56 90

صفحه 13:
‎Ne‏ که نگ الست ت صعودی از اعداد را از کا زک دربافت یک عدد جدد از ريسن أن ‎Zul S681‏ لیس ‎Renee aes‏ تروب حفظ شود ۶ را بخوان ‏2 آرایه ۵ را با 1 + ۱ عنصر درنظر بگیر ‏3 آرایه ۸ را با 6 عنصر بخوان (بصورت مرتب شده) 4 »را بخولن ‎jen 6 ‏6( تازمانیکه ( (۸ > “ا 300 1 < 1 ) دستورات 7 تا 8 را تكرار كن ‎Ali) 7‏ (1 + ام ‎ici-1 8 ‏و ۷ (1 + ۸ ‏م۵ 1 +۲۰۲ ‏1 آرایه ۸ را با 6 عضو جاب كن ‎OS ‏توقف‎ 2

صفحه 14:
* آزمایش الگوریتم درج در لیست مرتب w=@0 x=99 ۱-۴ آرایه های یک بعدی ae 60 ed 99 99 ee 9 se se

صفحه 15:
@ ‎s mod ۰‏ ۱۵0۸0 را چایکن 7 توقف كن : ۱-۴ آرایه های یک بعدی الگوریتمی بنویسید که یک عدد را دریافت و عددی که بیشترین تکرار را دارد چاپ کند. 0 را بخولن آرایه های ۸ و 5 را با ۵ عضو درنظر بكير آرایه ۸ را با 6 عضو بخوان تمام عناصر آرایه 5 را برابر 0 قرار بده ۵۵۰0 و ۰0 2000۱10 ‎jel‏ ‏تازمانیکه ( 0 > ا) دستورات 7 تا 8 را تکرار کن ‎oll ( sw(i) = 0) 551‏ ‎sw(i)@ 1 3‏ ‎sumeOsjeitl 2‏ 2 تازمانیکه ( 8 > ز ) دستورات 4 تا 6 را تکرار کن ۰ اگر ( (ز۸6 - ۸ ) آنگاه ‎sw(j) = 15 sum+sum+1‏ 1+ زوز 2 اگر ) ‎modNo‏ < صصناع) آنگاه ‎modNo © sum 5 mod « A(i)‏ ‎ic itl‏

صفحه 16:
۱-۴ آرایه های یک بعدی * الگوریتمی بنویسید که برای تعداد دانشجو, کد رشته (از 1 تا 15) را خوانده و سپس تعداد دانشجویان هررشته را به تفکیک چاپ کند. 1) آرایه دام را با 15 عضو درنظر بگیر 2 تمام عناصر آرایه 0۱10۴ را برابر ۵ قرار بده 3 ۱ را بخوان [1 4 6 تازمانیکه ( 0 > ) دستورات 6 تا 8 را تکرار کن 6( 6006 را بخوان count(code) > ‏(علمء)غصنمء‎ + 1 7 ici+l 6 @ آرایه *دام را با 15 عضو جاب كن OS ‏توقف‎ 0

صفحه 17:
۲-۴ آرایه های چندبعدی ۰ ند نیا آرایه ها ‎re‏ بعدی داشتند. این رکه ل دس مشخ مي اير نت * اما گاهی در مسائل نیا يه ها که ‎li kil‏ ‎a a‏ رن ه ها أست كه هر عضو ‎ie‏ ‏چنانچه هر عنصر آرایه به 2 اندیس نیاز داشته باشد, به آن آرایه دو بعدی © يرا تعر هق رانك وتعدى تابه عذال سظرها | مشخم کب كل متو لك أ ‎POI ei Ses‏ ‎abet hs Wola al‏ شتویها ات

صفحه 18:
۲-۴ آرایه های چندبعدی * بعنوان مثال چنانچه آرایه ۸ را بعنوان یک آرایه دوبعدی به ابعاد 5 < 8 تعریف کنیم, آنگاه داریم : شون > 2 2 ٩ 5 5 6 6 6 © © «0 ,۸( ف و 5 ط ee)

صفحه 19:
۲-۴ آرایه های چندبعدی برای آرایه های سه بعدی نیز مفاهیم مشابهی قابل طرح است. در اين آرایه ها هر عنصر نیاز به 3 اندیس دارد و برای تعریف آنها را بصورت ‏ ۷ ۲۰ ۷ ۵ اعلان می کنیم كه م عمق, ۲۱ تعداد سطرها و " تعداد ستونها است. بعنوان مثال چنانچه آرایه 8 بعنوان یک آرایه سه بعدی به ابعاد 3 »ا 4 »ا 6 تعریف شود. خواهیم داشت : 0,82) (2,9,0)

صفحه 20:
۲-۴ آرایه های چندبعدی الگوریتمی بنويسيد كم براي تعدادى داتشجو. شماره دانشجویی و کد رشته (از 2 تا 15) را خوانده و سپس دانشجویان هررشته را به اپ کند. 6 را سخولن آرايه دوبعدى 560066 رأ به ايعاد 15 “ا 0 در نظر يكير آرايه (00ا۵ع را با 15 عنصر در نظر بگیر و تمام عتاصر آن را برابر ۵ قرار بده ied ‏تازمانیکه ( 6 > | ) دستورات 6 تا 9 را تکرار کن‎ ‏سخولن‎ L code » id count(code) + count(code) + 1 student( code , count(code) ) « id [+ 1 جاب كن “ليست دانشجويان" 161 تازمانيكه ( 15 > ا) دستورات 13 نا 18 را نكرار كن چاپ کن "رشته ‎jel‏ تازمانیکه ( ‎count(i)‏ > ز ) دستورات 16 نا 17 را تکرار کن ‎oSle L student i,j)‏ jejtl 1-1 +1 US ‏توقف‎

صفحه 21:
: ۲-۴ آرایه های چندبعدی ee * . الگوریتمیبنویسید که برای تعدادی دانشجو, شماره دانشجویی و کد محل تحصیل (از 3 نا 10) و کد رشنه (از 1 نا 15) را خوانده ‎Jah ssa i tg Senses‏ ۰ 1 مه ۵ ارابخولن ‏2 آرآيه سه بعدى 56009606 را يه ابعاد 10 »ا 15 »ا ‎0١‏ در نطر يكير ‎count abo‏ را با 1510 < عنصر در نظر بكير و تعام عناصر آن را برایر ۵ قرار بده ‎ind‏ ‏6 تازمانيكه ( 6 > ‎)١‏ دستورات 6 نا 9 را تكرار كن ‎cityCode sid 6‏ و 8ص لنته را سخوان ‎count{cityCode studyCode) + count{cityCode,studyCode) +1 7 student( cityCode , studyCode , count(cityCode , studyCode) ( = id ‏م‎ ‏@ 1+1 ‎ao‏ جاب كن "ليست دانشجویان* ‎11 ‎a2‏ تازمانيكه ( 10 > ) دستورات 13 تا 22 را نکرار کن. ‎a‏ جاب كن "محل ”أ ‎jel as ‏05 تازمانيكه ( 15 > [) دستورات 16 نا 21 را تكرار كن 06 جاب كن “كد رشته ", [ ‎kei uw ‎a8‏ تازمانيكه ( نع > ۲ ) دسنورات 19 نا 20 را جاب كن ‎OSE student(i j,k) as‏ ‎۲1 ‏مم‎ ‎jeitl a ieitl ‏هه‎ ‎a‏ توقف كن

صفحه 22:
۲-۴ آرایه های چندبعدی ۰ 50 موضیع مختلف را به رای گذاشته ایم و هرکس می تولند آرای خود را بشرح زیر 1- موافق 2- مخالف 3- ممتنع4- بی اطلاع الگورنتفی بتوینتید ك ةجعداد اقزاد راق دهندة را دزيافت واسنيسن بتن از جریافت آرای هنک از آنان برای هر 50 موضوع. تعداد آرای مختلف هر موضوع را به تشکیک چاب کند. * را ب‌خوان [1 ۶ * تازمانیکه ( ۴ > | ) دستورات را 5 تا 11 تکرار كن jele * تازمانیکه ( 50 > [ ) دستورات 7 تا 10 را تکرار كن * چاپ کن "موضوع ", [ * ۷۵66 را بخولن count(j, vote) « count(j, vote) +1 * ۶ 1+ ز [1+ 1 ۶ ‎Ly count all *‏ به ابعاد 50 < 4 چاب کن (نباز به حلقه دارد) ‏توقف کن

صفحه 23:
(2 ‏قن‎ ‎as ‎a7 ۲-۴ آرایه های چندبعدی الگوریتمی بنویسید که دو ماتریس را از کاربر دریاقت و حاصلضرب آن دو را محاسبه و چاپ کند. و0 را ب‌خوان(لبعاد ماتریس‌اول۴ ۶ 0) و 4 را ب-خولن(لبعاد ماتریس‌دوم 0 « 40 ار (۵ ۶ ) آنگاه چاپ کن "ماتریسها قابل ضرب نیستند" و توقف کن آرایه ۸ را به ابعاد ۵ < 7۱ و آرایه 8 را به ابعاد ۵ < ۵ درنظر بگیر آرایه ۲ را به ابعاد ۵ ‎x‏ ۲0 درتظر بگیز آرایه ۸ را به ابعاد 6 < ۰ بخوان آرایه 8 را به ابعاد و « م بخوان ied تازمانیکه ( ۴0 > ا) دستورات 10 تا 18 را تکرار کن ‎jel‏ تازماتیکه ( ‎٩‏ > ژ) دستورات 12 تا 17 را تکرار کن 0 و۷۲1 تازماتیکه (0 > ۲) دستورات 14 تا 15 را تکرار کن ‎sum + sum + A(ik) x B(k,j)‏ kek tl (i,j) — sum jeje 1+1 آرایه > را به ابعاد 9 ‎oS km x‏ توقف كن

صفحه 24:
۲-۴ آرایه های چندبعدی ‎Oa 20 acl Signa goal Sun‏ گر سرت هیوست يسا الما عل مر تاک ‎cla‏ اد كت بول و أله او ‎asa at ler‏ سک ی ی و ‎ASI‏ ‎Ta ai‏ سار مگاا خی است. هر پاسج علط 9 نمره میدز أرابه 266644 را با 20 عضو درنظر يكير ‏آرايه 30500615 را به ابعاد 20 4 در نظر بگیر ‎iat ‎Lb‏ )520 ستورت 5 نا 7 را تکرر کر ‎Libs cag al ‏له را عون ‏اس ‎۳9 ‎tet ‏رکه (ج > ) دستوات 1:13 22 را تكرار كن ‎(ais ants ‏را بخوان آز ال فال با رود‎ 202 el ‏وس ‎fot ‎ass‏ )20 دستورات 25 نا 20 را تكرار كن ‎cor ere ‎(£51) 28 017 tp ) 2 4( alg ‎count «count +1 al. (‘aneweralj. k) =X) 961 ‎eked ‎grade = grade - 1/3 elfii (count > 1) $1 ‏درعبراتضورت اگر (1 « 6940۴) آگاه ‎| ‎grade « 9:06 - 1/3 ‏درقیراتصورت‎ ‎reper ‏جاب كن ‎saul yl eps”‏ برابر ست با ". 6986و ‎TT ‏توقف كن ‏سا ‎esi

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