جلسه هفتم PHP : حل تمرین پی اچ پی (1)

خانه » مقالات اموزشی » php » جلسه هفتم PHP : حل تمرین پی اچ پی (1)
Share on facebook
Share on twitter
Share on linkedin
Share on email
Share on whatsapp
Share on telegram
Share on print
جلسه هفتم PHP

نویسنده:

سجاد حسین زاده

Statistics-rafiki

تعداد بازدید:

4527

Calendar-amico (2)

تاریخ به‌روزرسانی:

۱۴۰۰-۰۹-۱۰

Work time-rafiki

زمان مطالعه:

20 دقیقه

جلسه هفتم PHP : آموزش کامل زبان برنامه نویسی پی اچ پی مقدماتی تا پیشرفته (جلسه اول حل تمرین)

در این جلسه از آموزش PHP با جلسه هفتم PHP در خدمت شما هستیم. در قسمت قبل در جلسه ششم پی اچ پی انواع حلقه‌ها در PHP را بررسی کردیم. رسم فلوچارت برای حلقه‌ها همیشه به فهم بهتر آن‌ها کمک می‌کند. ازاین‌رو برای هرکدام از حلقه‌های for، while، do-while و foreach علاوه بر آوردن مثالی ساده، فلوچارتی نیز رسم کردیم. جلسه هفتم پی اچ پی را به حل تمرین اختصاص داده‌ایم. حتماً تک‌تک آن‌ها را بررسی کرده و قبل از دیدن جواب، سعی کنید تا آن را حل کنید.

اولین جلسه از حل تمرین PHP
اولین جلسه از حل تمرین PHP

جلسه اول حل تمرین PHP

** جواب تمامی سؤالات در پایین صفحه قابل‌مشاهده است. **

توجه داشته باشید که ممکن است جواب‌های شما دقیقاً همانند جواب‌های این جلسه نباشد. ازاین‌رو نگران نباشید. اما لطفا بعد از نوشتن ِ جواب‌های خودتان، حتما جواب‌های موجود در این جلسه را با دقت بررسی کنید، چرا که ممکن‌است نکته‌ای در جواب‌ها وجود داشته‌باشد، که به یادگیری ِ عمیق‌تر ِ مساله کمک کند.


  1. برنامه‌ای بنویسید، که خروجی زیر را نمایش دهد. این برنامه می‌تواند به فهم بهتر شما در مورد string ها کمک کند.

تفاوت تک کوتیشن و دابل کوتیشن را در جلسه دوم PHP داشتیم.


2. برنامه‌ای بنویسید که با استفاده از حلقه for خروجی زیر را تولید کند. حلقه for را در جلسه ششم PHP ملاحظه نمودید.


3. برنامه‌ای بنویسید که مقدار دو متغیر را جابه‌جا کند. برای مثال: دو مقدار a= 12 و b=6 را به b=12 و a=6 تغییر دهد.


4. فرض کنید x=10 و y=7 باشد. ابتدا عملیات‌های زیر را انجام دهید و سپس با دستور echo آنها را به نمایش درآورید.

x+y ، x/y ، x-y ، x*y ، x%y

جواب هرکدام را در خطوط جداگانه در خروجی نمایش دهید.
با عملگرهای محاسباتی در جلسه سوم PHP آشنا شده بودیم.


5. مقدار value را در ابتدا 8 قرار دهید. سپس 2 واحد به آن اضافه کنید. حال 4 واحد کم کنید. در مرحله‌ی بعد 5 را در آن ضرب کنید. حال 3 را به آن تقسیم کنید. اکنون یک واحد افزایش دهید. سرانجام یک واحد کاهش دهید.
** توجه داشته باشید که حتماً باید مقدار value را در هر مرحله دچار تغییر کنید. و همچنین هرکدام را در خطوط جداگانه محاسبه نمایید. می‌توانید از عملگرهای نسبت‌دهی در جلسه سوم PHP کمک بگیرید. **


6. در ششمین مورد فقط مثال ِ زیر را در نظر بگیرید. نیاز به حل کردن نیست.
در جلسه چهارم PHP آموختیم که توابع var_dump() و print_r() تمامی عناصر یک آرایه را نمایش می‌دهند. حال فرض کنید که برنامه‌ای وسیع نوشته‌اید. برای این‌که متوجه شوید اکنون فلان متغیر چه مقداری را اختیار کرده است، کافی است که از این دو تابع استفاده کنید. به مثال زیر توجه کنید.

خروجی کد بالا:

var_dump and print_r exercise in PHP
var_dump and print_r exercise in PHP

7. شعاع دایره‌ای برابر 5 می‌باشد. محیط و مساحت آن را حساب کنید. و در خروجی به‌صورت زیر نمایش دهید.

Mohit = مقدار محیط
Masahat = مقدار مساحت


8. دانشگاهی قرار است بر اساس معدل ِ دانشجویان، به آن‌ها مبلغی را واریز نماید. جدول زیر ترتیب مبالغ را نمایش می‌دهد. فرض کنید این مقادیر به نحوی وارد می‌شوند. شما با استفاده از if…else…elseif شروط جدول را تعیین کنید.

معدل دانشجویان | جلسه هفتم PHP
معدل دانشجویان | جلسه هفتم PHP

9. با استفاده از دستور switch برنامه‌ای بنویسید که معادل عددی روزهای هفته را بگیرد سپس روز معادل آن را چاپ کند. روزهای هفته را با اعداد مشخص کنید فرض را بر این میگیریم که شنبه معادل 0 است. بنابراین جمعه 6 است. فرض کنید که کاربر عدد 0 را وارد کرده است. که یعنی امروز شنبه می‌باشد.


10. مجموع و میانگین اعداد 25 تا 35 را با استفاده از حلقه‌ی for حساب کنید.
((25 + 26 + 27 + …. +35) / 10 )


11. اعداد 5- تا 5 را با طول گام 0.5 در خروجی چاپ کنید.


12. برنامه‌ای بنویسید که با حلقه‌ی for اعداد 1 تا 10 را به طور معکوس در خروجی چاپ کند.


13. با استفاده از for های تو در تو جدول ضرب 6*6 را به صورت زیر در خروجی چاپ کنید.

تمرین نمایش جدول ضرب با پی اچ پی | جلسه هفتم PHP
تمرین نمایش جدول ضرب با پی اچ پی | جلسه هفتم PHP

14. با استفاده از حلقه‌ی while برنامه‌ای بنویسید که مضارب 5 کوچکتر از عدد 36 را در خروجی نمایش دهد.


15.1. با استفاده از حلقه‌ی for اعداد زوج بین 1 تا 10 را نمایش دهید.
15.2. (این سوال را یک‌بار با عبارت continue و یک‌بار بدون عبارت continue بنویسید.)


جواب تمرین‌ها از جلسه هفتم PHP

توجه: ** اگر سوال، ایراد، نظر و یا هر چیز دیگری مدنظر شما بود، می توانید آن را در کامنت‌ها مطرح کنید.  **

پاسخ جلسه هفتم PHP جواب تمرین 1 :

پاسخ جلسه هفتم PHP جواب تمرین 2 :

جواب تمرین 2  به گونه‌ای دیگر

پاسخ جلسه هفتم PHP جواب تمرین 3 :

نکته 1: تکنیک ِ این سؤال می‌تواند این‌گونه باشد که مقدار متغیر b را به‌صورت موقت به متغیر temp بدهیم، سپس مقدار متغیر ِ a را به b می‌دهیم. متأسفانه با این کار، مقدار متغیر ِ اصلی ِ b از بین رفت. اما جای ِ هیچ‌گونه نگرانی نیست، چراکه در ابتدا مقدار متغیر b را در temp ذخیره کرده بودیم. حالا وقت آن است تا که مقدار ذخیره‌شده در temp را به متغیر a بدهیم. با این کار مقدار متغیرهای a و b را جابه‌جا کردیم.

شما در حال آموزش و یادگیری جلسه هفتم PHP می باشید.

پاسخ جلسه هفتم PHP جواب تمرین 4 :

نکته 1: در جواب این سؤال، چندین x و y را تعریف کردیم و چندین مرتبه آن‌ها را در متغیر result قراردادیم. بااین‌حال هیچ‌گونه اروری دریافت نکردیم. در این خصوص باید بدانیم که در PHP کدها به‌صورت خط به خط توسط مفسر (interpreter) تفسیر و اجرا می‌شوند بنابراین در هر خط ممکن است x، y و یا result جدید تعریف شود و این مورد اگر در برنامه‌ی ما خللی ایجاد نکند، اصلاً ایراد ندارد.

پاسخ جلسه هفتم PHP جواب تمرین 5 :

نکته 1: در این سؤال هم مانند سؤال قبل، می‌توانستیم حاصل را در متغیری مشابه result ذخیره کنیم. اما چرا کد زیادی بنویسیم؟!
بنابراین با استفاده از عملگرهای نسبت‌دهی، مستقیماً تغییرات را روی value اعمال می‌کنیم.

پاسخ جلسه هفتم PHP جواب تمرین 7 :

پاسخ جلسه هفتم PHP جواب تمرین 8 :

پاسخ جلسه هفتم PHP جواب تمرین 9 :

پاسخ جلسه هفتم PHP جواب تمرین 10 :

نکته 1: اگر خطی که کامنت شده‌است را از کامنت خارج کنید، خروجی را در هر مرحله نمایش می‌دهد.

پاسخ جلسه هفتم PHP جواب تمرین 11 :

پاسخ جلسه هفتم PHP جواب تمرین 12 :

نکته 1: همان‌طور که ملاحظه می‌کنید، حلقه‌ی for را به‌صورت برعکس هم می‌توانیم بنویسیم. مقدار متغیر اولیه را یک عدد بالا در نظر بگیریم و سپس انتهای این حلقه که همان شرط ِ ما است را یک عدد پایین در نظر بگیریم. حال با استفاده از شمارنده، با طول ِ گام موردنظر، به سمت شرط (انتهای حلقه) حرکت می‌کنیم.

پاسخ جلسه هفتم PHP جواب تمرین 13 :

نکته 1 : از “\t” برای ایجاد tab استفاده میکنیم.
نکته 2: تگ pre برای نمایش بهتر، استفاده می‌شود. یک‌بار بدون آن تست کنید.

نکته 3: توضیح حلقه‌های for تودرتو در PHP

ابتدا برنامه وارد حلقه‌ی for می‌شود. درون این حلقه‌ی for یک حلقه‌ی for دیگر نیز وجود دارد. حلقه‌ی for داخلی 6 تکرار دارد. بنابراین 6 بار متغیرهای row و col را ضرب می‌کند و 6 ستون در ردیف اول می‌چیند. حال کار با حلقه‌ی داخلی تمام‌شده است. وارد حلقه‌ی اصلی می‌شود و دومین تکرار یا دومین ردیف را اجرا می‌کند. بازهم سراغ ِ حلقه‌ی داخلی می‌رود و 6 بار تکرار می‌شود که یعنی 6 ستون در دومین ردیف را می‌چیند و سپس از حلقه‌ی داخلی خارج می‌شود. این روند تا ششمین row تکرار می‌شود. تا یک جدول‌ضرب 6*6 اجرا شود.
عکس زیر هم ممکن است برای درک بهتر حلقه‌های for تودرتو در پی اچ پی کمک کننده باشد.

حلقه‌های for تودرتو در پی اچ پی
حلقه‌های for تودرتو در پی اچ پی

 

پاسخ جلسه هفتم PHP جواب تمرین 14 :

نکته 1: شرط if برای بررسی مضرب 5 بودن اعداد است. زمانی شرط if بررسی خواهد شد که عدد ما مضرب 5 باشد.
نکته 2: حتماً دقت کنید که افزاینده‌ی i باید بیرون حلقه‌ی if و در حلقه‌ی اصلی، یعنی حلقه‌ی while قرار گیرد تا بتواند مقدار i را زیاد کند که حلقه‌ی while بتواند اعداد بعدی را بررسی کند.
نکته 3: اگر افزاینده‌ی i را درون if قرار دهید، فقط در مواردی i را زیاد می‌کند که عدد مضرب 5 باشد.
نکته 4: با افزاینده های محاسباتی در جلسه سوم PHP آشنا شدیم.

پاسخ جلسه هفتم PHP جواب تمرین 15.1:

جواب تمرین 15.2:

سخن پایانی

تبریک میگم شما موفق شدید تا جلسه هفتم PHP ، ( جلسه اول حل تمرین )را پشت سر بگذارید. اگر تمرین مناسبی در ذهن شما وجود دارد که تا این لحضه به موضوعات آن پرداختیم، لطفا آن را در کامنت‌ها ثبت کنید. و یا از طریق ایمیل کدپز برای ما ارسال کنید. تا در این جلسه آن‌ها را قرار دهیم.
در آینده 2 جلسه حل تمرین هم خواهیم داشت که می‌توانید به آن‌ها نیز دسترسی داشته باشید. البته که تمرین‌ها سخت‌تر خواهند بود، بنابراین در ابتدا نیاز است تا ادامه‌ی جلسات آموزش PHP را پشت سر بگذارید.

همچنین در نظر داشته باشید خودتان هم می‌توانید تمرین‌های بیشتری را از اینجا ملاحظه کنید.

سجاد حسین زاده

سجاد حسین زاده

سجاد حسین زاده هستم متولد کرج, بنده از سال ۹۴ سابقه حضور در حوزه وب را دارم. و روزبه‌روز در حال رشد و ارتقای خودم تو این زمینه هستم. از علایقم که بخوام به گم: خب واضحه که عاشق کدنویسی هستم. و همچنین من از معدود افراد برنامه‌نویس ورزشکار هم به‌حساب میام.

تا کنون 264 نفر در کدپز ثبت نام کرده اند.

10 Comments

Join the discussion and tell us your opinion.

  • سلام خسته نباشید خیلی ممنون بابت مطالب خوبتون انشالله بتونیم جبران کنیم
    قربان تو تمرین 7 یجا توانو حساب کردین من همونو به صورت ضرب نوشته بودم ولی نکته جالبی که هست جواب شما اشتباه درومد بعد رفتم نگاه کردم نمیدونم چرا توانو درست حساب نمیکنه
    این کد
    $masahat = $pi*(($r)^2);
    جواب مساحتو 21.98 در میاره بعد توانشو جداگونه زدم 7 در میاره 5 به توان 2 رو
    بعد تو تمرین 14 هم من متوجه اون علامت % و نحوه کارش نشدم من یه چیز دیگه درآوردم عددایی که با ضرب شدن در 5 زیر 36 در میومدن رو برنامه نوشتم که تایپ کنه یعنی 1 تا 7
    اینجوری در اومد آخرش:
    mazareb shamel
    1 , 2 , 3 , 4 , 5 , 6 , 7 ,
    mishavad
    با تشکر از زحماتتون

    • سلام
      در سوال 7 ایرادی وجود ندارد.
      کدی که برای محاسبه مساحت نوشتید درست هستش.
      بسته به میزان ورودی از طرف کاربر، مساحت محاسبه خواهد شد.

      در تمرین 14 هم علامت % به کار گرفته شده است که بیان گر ” باقی مانده تقسیم ” می باشد.
      اگر این مورد برای شما مفهوم نیست، می توانید آن را در جلسه سوم PHP فرا بگیرید. برای این منظور روی لینک زیر کلیک کنید.
      آموزش علامت % در PHP

  • سلام خسته نباشید بابت تمرین ها ممنون کمک بزرگیه ولی بعضی از سوالات کد های دیگه هم میشه نوشت که جواب یکسان باشه فقط مال شما جواب نیست و در سوال 8 هم باید یک الز دیگه اضافه کنید اخر که اگر نمره ها بین این 4تا نبود و تجدید بود انگار هیچ پولی تعلق نگیرد لطفا اصلاح کنید با تشکر

  • درود جناب حسین زاده .
    تمرین ها عالی بود .
    فقط ای کاش برای هر تمرین ، توضیحات مختصری درمورد عملیات های خاص(مثل مثال 13 ) داده بشه .
    چون عملا برای حل تمرین ها ، باید از دانسته هایی که توی درسنامه های قبل از تمرین هاست استغفاده کرده و در اون درسنامه ها ، درمورد جزئیات ، اطلاع کاملی داده نشده و چه بهتر که توی تمرین ها توضیحاتتون رو کامل کنید .
    مثلا در تمرین آخر ، دانشجو هیچ درکی از این قضیه نداره که چرا عملگر افزایشی شمارنده (++i$) چرا درون حلقه ی while قرار گرفته و چرا نباید درون کندیشن if قرار بگیره .
    درکل واقعا ممنون بخاطر تدریس عالیتون و تمرین های عالی ترتون که هم برای یادگیری از صفر و هم مرور دانسته ها واقعا عالی هستش ! 3> 3> 3>

    • با سلام خدمت شما و ممنون از همراهی‌تان برای بهتر کردن محتواها
      بعد از کامنت شما، در پاسخ تمامی سؤالات اصلاحاتی قرار داده شد. همچنین نکته‌هایی برای درک بهتر پاسخ‌ها قرار داده شد.
      در جلسات آینده هم اگر نکته‌ای مدنظرتان بود، خوشحال می‌شویم که با ما در میان بگذارید.

دیدگاهتان را بنویسید