<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[تالار گفتگوی کیش تک/ kishtech forum - درس برنامه نویسی پیشرفته - گروه فیزیک - بهار 1404]]></title>
		<link>http://forum.kishtech.ir/</link>
		<description><![CDATA[تالار گفتگوی کیش تک/ kishtech forum - http://forum.kishtech.ir]]></description>
		<pubDate>Fri, 24 Apr 2026 18:50:35 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[برنامه سازی پیشرفته ، زهرا ذبیحی فصل اول]]></title>
			<link>http://forum.kishtech.ir/showthread.php?tid=115575</link>
			<pubDate>Mon, 26 May 2025 21:36:14 +0330</pubDate>
			<dc:creator><![CDATA[<a href="http://forum.kishtech.ir/member.php?action=profile&uid=15952">Zahraazimi</a>]]></dc:creator>
			<guid isPermaLink="false">http://forum.kishtech.ir/showthread.php?tid=115575</guid>
			<description><![CDATA[سؤال 1:<br />
عملگرهای رابطه‌ای در زبان ++C چه کاربردی دارند و چند نمونه از آن‌ها را نام ببرید؟<br />
<br />
پاسخ:<br />
عملگرهای رابطه‌ای برای مقایسه بین دو مقدار به کار می‌روند و نتیجه آن‌ها مقدار بولی (درست یا نادرست) است.<br />
نمونه‌هایی از این عملگرها عبارتند از:<br />
<br />
&lt;  (کوچکتر)<br />
<br />
&lt;= (کوچکتر یا مساوی)<br />
<br />
&gt;  (بزرگتر)<br />
<br />
&gt;= (بزرگتر یا مساوی)<br />
<br />
== (برابری)<br />
<br />
!= (نابرابری)<br />
<br />
<br />
مثال:<br />
<br />
int a = 5, b = 10;<br />
bool result = a &lt; b; // نتیجه: true<br />
<br />
<br />
---<br />
<br />
سؤال 2:<br />
تفاوت بین عملگرهای منطقی &amp;&amp;، || و ! در چیست و هر کدام در چه شرایطی مقدار درست (True) بازمی‌گردانند؟<br />
<br />
پاسخ:<br />
عملگرهای منطقی برای ترکیب چند شرط استفاده می‌شوند:<br />
<br />
&amp;&amp; (AND): وقتی هر دو شرط درست باشند نتیجه true است.<br />
<br />
|| (OR): وقتی حداقل یکی از شروط درست باشد نتیجه true است.<br />
<br />
! (NOT): شرط را معکوس می‌کند.<br />
<br />
<br />
مثال:<br />
<br />
int a = 3, b = 5;<br />
bool res1 = (a &lt; 10 &amp;&amp; b &gt; 2); // true<br />
bool res2 = (a &gt; 10 || b &lt; 10); // true<br />
bool res3 = !(a == 3); // false<br />
<br />
<br />
---<br />
<br />
سؤال 3:<br />
نحوه عملکرد عملگر شرطی a ? b : c در زبان ++C را توضیح دهید. در چه حالتی مقدار b و در چه حالتی مقدار c بازگردانده می‌شود؟<br />
<br />
پاسخ:<br />
عملگر شرطی ? : برای تصمیم‌گیری سریع استفاده می‌شود.<br />
اگر شرط a درست باشد، مقدار b بازگردانده می‌شود؛ در غیر این صورت مقدار c.<br />
<br />
مثال:<br />
<br />
int a = 5, b = 10;<br />
int max = (a &gt; b) ? a : b; // نتیجه: 10<br />
<br />
<br />
---<br />
<br />
سؤال 4:<br />
ساختار کلی حلقه‌ی for در ++C چگونه است و هر بخش آن چه نقشی دارد؟ مثالی نیز بیان کنید.<br />
<br />
پاسخ:<br />
حلقه for برای اجرای تکراری دستورات استفاده می‌شود.<br />
<br />
ساختار کلی:<br />
<br />
for(initialization; condition; update) {<br />
    // دستورات<br />
}<br />
<br />
initialization: مقداردهی اولیه<br />
<br />
condition: شرط ادامه‌ی حلقه<br />
<br />
update: به‌روزرسانی متغیر<br />
<br />
<br />
مثال:<br />
<br />
for(int i = 0; i &lt; 5; i++) {<br />
    cout &lt;&lt; i &lt;&lt; " ";<br />
}<br />
// خروجی: 0 1 2 3 4<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="http://forum.kishtech.ir/images/attachtypes/pdf.png" title="Adobe Acrobat PDF" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5650" target="_blank" title="">سوالات برنامه نویسی فصل اول.pdf</a> (اندازه:  101.64 KB / تعداد دفعات دریافت:  0)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="http://forum.kishtech.ir/images/attachtypes/pdf.png" title="Adobe Acrobat PDF" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5651" target="_blank" title="">Presentation-4 (1).pdf</a> (اندازه:  1.33 MB / تعداد دفعات دریافت:  0)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[سؤال 1:<br />
عملگرهای رابطه‌ای در زبان ++C چه کاربردی دارند و چند نمونه از آن‌ها را نام ببرید؟<br />
<br />
پاسخ:<br />
عملگرهای رابطه‌ای برای مقایسه بین دو مقدار به کار می‌روند و نتیجه آن‌ها مقدار بولی (درست یا نادرست) است.<br />
نمونه‌هایی از این عملگرها عبارتند از:<br />
<br />
&lt;  (کوچکتر)<br />
<br />
&lt;= (کوچکتر یا مساوی)<br />
<br />
&gt;  (بزرگتر)<br />
<br />
&gt;= (بزرگتر یا مساوی)<br />
<br />
== (برابری)<br />
<br />
!= (نابرابری)<br />
<br />
<br />
مثال:<br />
<br />
int a = 5, b = 10;<br />
bool result = a &lt; b; // نتیجه: true<br />
<br />
<br />
---<br />
<br />
سؤال 2:<br />
تفاوت بین عملگرهای منطقی &amp;&amp;، || و ! در چیست و هر کدام در چه شرایطی مقدار درست (True) بازمی‌گردانند؟<br />
<br />
پاسخ:<br />
عملگرهای منطقی برای ترکیب چند شرط استفاده می‌شوند:<br />
<br />
&amp;&amp; (AND): وقتی هر دو شرط درست باشند نتیجه true است.<br />
<br />
|| (OR): وقتی حداقل یکی از شروط درست باشد نتیجه true است.<br />
<br />
! (NOT): شرط را معکوس می‌کند.<br />
<br />
<br />
مثال:<br />
<br />
int a = 3, b = 5;<br />
bool res1 = (a &lt; 10 &amp;&amp; b &gt; 2); // true<br />
bool res2 = (a &gt; 10 || b &lt; 10); // true<br />
bool res3 = !(a == 3); // false<br />
<br />
<br />
---<br />
<br />
سؤال 3:<br />
نحوه عملکرد عملگر شرطی a ? b : c در زبان ++C را توضیح دهید. در چه حالتی مقدار b و در چه حالتی مقدار c بازگردانده می‌شود؟<br />
<br />
پاسخ:<br />
عملگر شرطی ? : برای تصمیم‌گیری سریع استفاده می‌شود.<br />
اگر شرط a درست باشد، مقدار b بازگردانده می‌شود؛ در غیر این صورت مقدار c.<br />
<br />
مثال:<br />
<br />
int a = 5, b = 10;<br />
int max = (a &gt; b) ? a : b; // نتیجه: 10<br />
<br />
<br />
---<br />
<br />
سؤال 4:<br />
ساختار کلی حلقه‌ی for در ++C چگونه است و هر بخش آن چه نقشی دارد؟ مثالی نیز بیان کنید.<br />
<br />
پاسخ:<br />
حلقه for برای اجرای تکراری دستورات استفاده می‌شود.<br />
<br />
ساختار کلی:<br />
<br />
for(initialization; condition; update) {<br />
    // دستورات<br />
}<br />
<br />
initialization: مقداردهی اولیه<br />
<br />
condition: شرط ادامه‌ی حلقه<br />
<br />
update: به‌روزرسانی متغیر<br />
<br />
<br />
مثال:<br />
<br />
for(int i = 0; i &lt; 5; i++) {<br />
    cout &lt;&lt; i &lt;&lt; " ";<br />
}<br />
// خروجی: 0 1 2 3 4<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="http://forum.kishtech.ir/images/attachtypes/pdf.png" title="Adobe Acrobat PDF" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5650" target="_blank" title="">سوالات برنامه نویسی فصل اول.pdf</a> (اندازه:  101.64 KB / تعداد دفعات دریافت:  0)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="http://forum.kishtech.ir/images/attachtypes/pdf.png" title="Adobe Acrobat PDF" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5651" target="_blank" title="">Presentation-4 (1).pdf</a> (اندازه:  1.33 MB / تعداد دفعات دریافت:  0)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[برنامه نویسی پیشرفته c++]]></title>
			<link>http://forum.kishtech.ir/showthread.php?tid=115555</link>
			<pubDate>Sun, 25 May 2025 22:54:28 +0330</pubDate>
			<dc:creator><![CDATA[<a href="http://forum.kishtech.ir/member.php?action=profile&uid=16002">Mahsailk</a>]]></dc:creator>
			<guid isPermaLink="false">http://forum.kishtech.ir/showthread.php?tid=115555</guid>
			<description><![CDATA[سوالات تستی<br />
سوال 1:<br />
در زبان C++، کدام نوع حلقه برای مواقعی استفاده می‌شود که تعداد دفعات تکرار از قبل مشخص نیست؟<br />
الف) for<br />
ب) while<br />
ج) do…while<br />
د) switch<br />
پاسخ: ب) while<br />
<br />
<br />
---<br />
<br />
سوال 2:<br />
خروج کامل از حلقه (مثلاً while یا for) با کدام دستور انجام می‌شود؟<br />
الف) continue<br />
ب) break<br />
ج) static_cast<br />
د) switch<br />
پاسخ: ب) break<br />
<br />
<br />
---<br />
<br />
سوال 3:<br />
کدام دستور باعث می‌شود که اجرای حلقه از همان دور متوقف شده و برنامه به سراغ دور بعدی برود؟<br />
الف) break<br />
ب) continue<br />
ج) switch<br />
د) cin.get<br />
پاسخ: ب) continue<br />
<br />
<br />
---<br />
<br />
سوال 4:<br />
در کد زیر خروجی چه خواهد بود؟<br />
<br />
float x = 14.75;  <br />
cout &lt;&lt; static_cast&lt;int&gt;(x) &lt;&lt; endl;<br />
<br />
الف) 14.75<br />
ب) 14<br />
ج) 15<br />
د) خطا می‌دهد<br />
پاسخ: ب) 14<br />
<br />
<br />
---<br />
<br />
سوال 5:<br />
دستور cin.get() در C++ چه کاری انجام می‌دهد؟<br />
الف) فقط یک عدد از ورودی می‌گیرد<br />
ب) حلقه‌ای تا زمانی که شرط برقرار است اجرا می‌کند<br />
ج) یک کاراکتر از ورودی می‌گیرد حتی اگر فاصله یا اینتر باشد<br />
د) مقادیر را به نوع دیگری تبدیل می‌کند<br />
پاسخ: ج) یک کاراکتر از ورودی می‌گیرد حتی اگر فاصله یا اینتر باشد<br />
مهسا ایلخانی<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="http://forum.kishtech.ir/images/attachtypes/pdf.png" title="Adobe Acrobat PDF" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5611" target="_blank" title="">mahsa ilkhani (2).pdf</a> (اندازه:  399.86 KB / تعداد دفعات دریافت:  0)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[سوالات تستی<br />
سوال 1:<br />
در زبان C++، کدام نوع حلقه برای مواقعی استفاده می‌شود که تعداد دفعات تکرار از قبل مشخص نیست؟<br />
الف) for<br />
ب) while<br />
ج) do…while<br />
د) switch<br />
پاسخ: ب) while<br />
<br />
<br />
---<br />
<br />
سوال 2:<br />
خروج کامل از حلقه (مثلاً while یا for) با کدام دستور انجام می‌شود؟<br />
الف) continue<br />
ب) break<br />
ج) static_cast<br />
د) switch<br />
پاسخ: ب) break<br />
<br />
<br />
---<br />
<br />
سوال 3:<br />
کدام دستور باعث می‌شود که اجرای حلقه از همان دور متوقف شده و برنامه به سراغ دور بعدی برود؟<br />
الف) break<br />
ب) continue<br />
ج) switch<br />
د) cin.get<br />
پاسخ: ب) continue<br />
<br />
<br />
---<br />
<br />
سوال 4:<br />
در کد زیر خروجی چه خواهد بود؟<br />
<br />
float x = 14.75;  <br />
cout &lt;&lt; static_cast&lt;int&gt;(x) &lt;&lt; endl;<br />
<br />
الف) 14.75<br />
ب) 14<br />
ج) 15<br />
د) خطا می‌دهد<br />
پاسخ: ب) 14<br />
<br />
<br />
---<br />
<br />
سوال 5:<br />
دستور cin.get() در C++ چه کاری انجام می‌دهد؟<br />
الف) فقط یک عدد از ورودی می‌گیرد<br />
ب) حلقه‌ای تا زمانی که شرط برقرار است اجرا می‌کند<br />
ج) یک کاراکتر از ورودی می‌گیرد حتی اگر فاصله یا اینتر باشد<br />
د) مقادیر را به نوع دیگری تبدیل می‌کند<br />
پاسخ: ج) یک کاراکتر از ورودی می‌گیرد حتی اگر فاصله یا اینتر باشد<br />
مهسا ایلخانی<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="http://forum.kishtech.ir/images/attachtypes/pdf.png" title="Adobe Acrobat PDF" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5611" target="_blank" title="">mahsa ilkhani (2).pdf</a> (اندازه:  399.86 KB / تعداد دفعات دریافت:  0)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[برنامه نویسی پیشرفته c++]]></title>
			<link>http://forum.kishtech.ir/showthread.php?tid=115551</link>
			<pubDate>Sun, 25 May 2025 19:15:57 +0330</pubDate>
			<dc:creator><![CDATA[<a href="http://forum.kishtech.ir/member.php?action=profile&uid=16002">Mahsailk</a>]]></dc:creator>
			<guid isPermaLink="false">http://forum.kishtech.ir/showthread.php?tid=115551</guid>
			<description><![CDATA[۱.تفاوت ساختاری و کاربردی بین حلقه‌های while و do...while در چیست؟<br />
<br />
جواب:<br />
<br />
در ساختار:<br />
<br />
while: شرط قبل از اجرای حلقه بررسی می‌شود. اگر شرط false باشد، بدنه حلقه حتی یک بار هم اجرا نمی‌شود.<br />
<br />
do...while: بدنه حلقه یک بار اجرا می‌شود و سپس شرط بررسی می‌شود. حتی اگر شرط false باشد، حلقه حداقل یک بار اجرا خواهد شد.<br />
<br />
<br />
در کاربرد:<br />
<br />
وقتی می‌دانیم باید حداقل یک بار بدنه حلقه اجرا شود، از do...while استفاده می‌کنیم.<br />
<br />
وقتی ممکن است شرط از ابتدا برقرار نباشد و بخواهیم حلقه اجرا نشود، از while استفاده میکنیم.<br />
<br />
<br />
---<br />
<br />
۲. در یک برنامه‌ای که از while(true) و دستور break برای توقف استفاده شده، چه مزایا یا خطراتی ممکنه به وجود بیاد؟ در چه مواقعی این شیوه مناسب نیست؟<br />
<br />
جواب:<br />
<br />
مزایا:<br />
<br />
مناسب برای حلقه‌های بی‌نهایت که با شرط خاصی (مثلاً یک ورودی یا رویداد) متوقف می‌شوند.<br />
<br />
ساده و قابل فهم برای حلقه‌های نامشخص.<br />
<br />
<br />
خطرات:<br />
<br />
اگر break هرگز اجرا نشود، حلقه بی‌نهایت می‌شود و منابع سیستم را مصرف می‌کند.<br />
<br />
ممکن است باعث هنگ کردن یا عملکرد نادرست برنامه شود.<br />
<br />
<br />
مناسب نبودن:<br />
<br />
در مواقعی که می‌توان شرط حلقه را به طور واضح مشخص کرد (مثلاً while (x &lt; 10))، بهتر است از while شرط‌دار استفاده شود.<br />
<br />
در برنامه‌های حساس (مثل سرورها یا سیستم‌های بلادرنگ) که حلقه بی‌نهایت خطرناک است.<br />
<br />
<br />
<br />
<br />
---<br />
<br />
۳. فرض کن قراره نمره‌های دانش‌آموزان رو بگیری و فقط نمره‌های معتبر (بین ۰ تا ۲۰) رو در میانگین حساب کنی. با استفاده از continue یک کد بنویس که نمره‌های نامعتبر رو نادیده بگیره.<br />
<br />
جواب:<br />
<br />
#include &lt;iostream&gt;<br />
using namespace std;<br />
<br />
int main() {<br />
int n, sum = 0, count = 0;<br />
while (true) {<br />
cout &lt;&lt; "Enter grade (-1 to stop): ";<br />
cin &gt;&gt; n;<br />
if (n == -1) break;<br />
if (n &lt; 0 || n &gt; 20) continue;<br />
sum += n;<br />
count++;<br />
}<br />
if (count &gt; 0)<br />
cout &lt;&lt; "Average grade: " &lt;&lt; (sum / (double)count) &lt;&lt; endl;<br />
else<br />
cout &lt;&lt; "No valid grades entered." &lt;&lt; endl;<br />
return 0;<br />
}<br />
<br />
---<br />
<br />
۴. چرا در زبان ++C از static_cast&lt;&gt; به‌جای تبدیل‌های ساده مثل (int)x استفاده می‌کنیم؟ یک مثال بزن که نشان بده این نوع cast چرا امن‌تر یا مناسب‌تره.<br />
<br />
جواب:<br />
<br />
دلیل:<br />
<br />
static_cast&lt;&gt; نوع تبدیل را مشخص‌تر و ایمن‌تر انجام می‌دهد.<br />
<br />
از تبدیل‌های ناخواسته (مثلاً اشاره‌گرها یا کلاس‌های مختلف) جلوگیری می‌کند.<br />
<br />
باعث خوانایی و قابلیت نگهداری بهتر کد می‌شود.<br />
سوال ۵:<br />
<br />
کدی بنویسید که با استفاده از switch، اعداد ۰ تا ۲ را به متن انگلیسی تبدیل کند و برای سایر مقادیر، پیام "Other number" نمایش دهد. توضیح بده اگر breakها را حذف کنیم چه اتفاقی می‌افتد.<br />
جواب:<br />
<br />
using namespace std;<br />
<br />
int main() {<br />
int num;<br />
cout &lt;&lt; "Enter a number: ";<br />
cin &gt;&gt; num;<br />
<br />
switch (num) {<br />
case 0:<br />
cout &lt;&lt; "Zero" &lt;&lt; endl;<br />
break;<br />
case 1:<br />
cout &lt;&lt; "One" &lt;&lt; endl;<br />
break;<br />
case 2:<br />
cout &lt;&lt; "Two" &lt;&lt; endl;<br />
break;<br />
default:<br />
cout &lt;&lt; "Other number" &lt;&lt; endl;<br />
}<br />
<br />
return 0;<br />
}<br />
<br />
اگر breakها را حذف کنیم:<br />
<br />
بعد از اجرای یک case، برنامه بدون توقف به case‌های بعدی هم وارد می‌شود (به این اتفاق fall-through گفته می‌شود).<br />
<br />
مثلاً اگر عدد 1 را وارد کنیم، خروجی این می‌شود:<br />
<br />
One<br />
Two<br />
Other number<br />
<br />
برای جلوگیری از این مشکل و اجرای فقط یک case، استفاده از break ضروری است.<br />
<br />
مهسا ایلخانی..]]></description>
			<content:encoded><![CDATA[۱.تفاوت ساختاری و کاربردی بین حلقه‌های while و do...while در چیست؟<br />
<br />
جواب:<br />
<br />
در ساختار:<br />
<br />
while: شرط قبل از اجرای حلقه بررسی می‌شود. اگر شرط false باشد، بدنه حلقه حتی یک بار هم اجرا نمی‌شود.<br />
<br />
do...while: بدنه حلقه یک بار اجرا می‌شود و سپس شرط بررسی می‌شود. حتی اگر شرط false باشد، حلقه حداقل یک بار اجرا خواهد شد.<br />
<br />
<br />
در کاربرد:<br />
<br />
وقتی می‌دانیم باید حداقل یک بار بدنه حلقه اجرا شود، از do...while استفاده می‌کنیم.<br />
<br />
وقتی ممکن است شرط از ابتدا برقرار نباشد و بخواهیم حلقه اجرا نشود، از while استفاده میکنیم.<br />
<br />
<br />
---<br />
<br />
۲. در یک برنامه‌ای که از while(true) و دستور break برای توقف استفاده شده، چه مزایا یا خطراتی ممکنه به وجود بیاد؟ در چه مواقعی این شیوه مناسب نیست؟<br />
<br />
جواب:<br />
<br />
مزایا:<br />
<br />
مناسب برای حلقه‌های بی‌نهایت که با شرط خاصی (مثلاً یک ورودی یا رویداد) متوقف می‌شوند.<br />
<br />
ساده و قابل فهم برای حلقه‌های نامشخص.<br />
<br />
<br />
خطرات:<br />
<br />
اگر break هرگز اجرا نشود، حلقه بی‌نهایت می‌شود و منابع سیستم را مصرف می‌کند.<br />
<br />
ممکن است باعث هنگ کردن یا عملکرد نادرست برنامه شود.<br />
<br />
<br />
مناسب نبودن:<br />
<br />
در مواقعی که می‌توان شرط حلقه را به طور واضح مشخص کرد (مثلاً while (x &lt; 10))، بهتر است از while شرط‌دار استفاده شود.<br />
<br />
در برنامه‌های حساس (مثل سرورها یا سیستم‌های بلادرنگ) که حلقه بی‌نهایت خطرناک است.<br />
<br />
<br />
<br />
<br />
---<br />
<br />
۳. فرض کن قراره نمره‌های دانش‌آموزان رو بگیری و فقط نمره‌های معتبر (بین ۰ تا ۲۰) رو در میانگین حساب کنی. با استفاده از continue یک کد بنویس که نمره‌های نامعتبر رو نادیده بگیره.<br />
<br />
جواب:<br />
<br />
#include &lt;iostream&gt;<br />
using namespace std;<br />
<br />
int main() {<br />
int n, sum = 0, count = 0;<br />
while (true) {<br />
cout &lt;&lt; "Enter grade (-1 to stop): ";<br />
cin &gt;&gt; n;<br />
if (n == -1) break;<br />
if (n &lt; 0 || n &gt; 20) continue;<br />
sum += n;<br />
count++;<br />
}<br />
if (count &gt; 0)<br />
cout &lt;&lt; "Average grade: " &lt;&lt; (sum / (double)count) &lt;&lt; endl;<br />
else<br />
cout &lt;&lt; "No valid grades entered." &lt;&lt; endl;<br />
return 0;<br />
}<br />
<br />
---<br />
<br />
۴. چرا در زبان ++C از static_cast&lt;&gt; به‌جای تبدیل‌های ساده مثل (int)x استفاده می‌کنیم؟ یک مثال بزن که نشان بده این نوع cast چرا امن‌تر یا مناسب‌تره.<br />
<br />
جواب:<br />
<br />
دلیل:<br />
<br />
static_cast&lt;&gt; نوع تبدیل را مشخص‌تر و ایمن‌تر انجام می‌دهد.<br />
<br />
از تبدیل‌های ناخواسته (مثلاً اشاره‌گرها یا کلاس‌های مختلف) جلوگیری می‌کند.<br />
<br />
باعث خوانایی و قابلیت نگهداری بهتر کد می‌شود.<br />
سوال ۵:<br />
<br />
کدی بنویسید که با استفاده از switch، اعداد ۰ تا ۲ را به متن انگلیسی تبدیل کند و برای سایر مقادیر، پیام "Other number" نمایش دهد. توضیح بده اگر breakها را حذف کنیم چه اتفاقی می‌افتد.<br />
جواب:<br />
<br />
using namespace std;<br />
<br />
int main() {<br />
int num;<br />
cout &lt;&lt; "Enter a number: ";<br />
cin &gt;&gt; num;<br />
<br />
switch (num) {<br />
case 0:<br />
cout &lt;&lt; "Zero" &lt;&lt; endl;<br />
break;<br />
case 1:<br />
cout &lt;&lt; "One" &lt;&lt; endl;<br />
break;<br />
case 2:<br />
cout &lt;&lt; "Two" &lt;&lt; endl;<br />
break;<br />
default:<br />
cout &lt;&lt; "Other number" &lt;&lt; endl;<br />
}<br />
<br />
return 0;<br />
}<br />
<br />
اگر breakها را حذف کنیم:<br />
<br />
بعد از اجرای یک case، برنامه بدون توقف به case‌های بعدی هم وارد می‌شود (به این اتفاق fall-through گفته می‌شود).<br />
<br />
مثلاً اگر عدد 1 را وارد کنیم، خروجی این می‌شود:<br />
<br />
One<br />
Two<br />
Other number<br />
<br />
برای جلوگیری از این مشکل و اجرای فقط یک case، استفاده از break ضروری است.<br />
<br />
مهسا ایلخانی..]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[برنامه نویسی پیشرفته c++]]></title>
			<link>http://forum.kishtech.ir/showthread.php?tid=115550</link>
			<pubDate>Sun, 25 May 2025 18:53:15 +0330</pubDate>
			<dc:creator><![CDATA[<a href="http://forum.kishtech.ir/member.php?action=profile&uid=16002">Mahsailk</a>]]></dc:creator>
			<guid isPermaLink="false">http://forum.kishtech.ir/showthread.php?tid=115550</guid>
			<description><![CDATA[۱. تفاوت ساختاری و کاربردی بین حلقه‌های while و do...while در چیست؟ یک مثال کدی بنویسید که خروجی این دو حلقه را با هم مقایسه کند.<br />
<br />
۲. در یک برنامه‌ای که از while(true) و دستور break برای توقف استفاده شده، چه مزایا یا خطراتی ممکنه به وجود بیاد؟ در چه مواقعی این شیوه مناسب نیست؟<br />
<br />
۳. فرض کنید قراره نمره‌های دانش‌آموزان رو بگیرید و فقط نمره‌های معتبر (بین ۰ تا ۲۰) رو در میانگین حساب کنید. با استفاده از continue یک کد بنویس که نمره‌های نامعتبر رو نادیده بگیرد.<br />
<br />
۴. چرا در زبان ++C از static_cast&lt;&gt; به‌جای تبدیل‌های ساده مثل (int)x استفاده می‌کنیم؟ یک مثال بزنید که نشان بدهد این نوع cast چرا امن‌تر یا مناسب‌تر است.<br />
<br />
۵. کدی بنویسید که با استفاده از switch، اعداد ۰ تا ۲ را به متن انگلیسی تبدیل کند و برای سایر مقادیر، پیام "Other number" نمایش دهد. توضیح بدهید اگر breakها را حذف کنیم چه اتفاقی می‌افتد.<br />
مهسا ایل خانی<br />
<hr class="mycode_hr" />
۱.تفاوت ساختاری و کاربردی بین حلقه‌های while و do...while در چیست؟<br />
<br />
جواب:<br />
<br />
در ساختار:<br />
<br />
while: شرط قبل از اجرای حلقه بررسی می‌شود. اگر شرط false باشد، بدنه حلقه حتی یک بار هم اجرا نمی‌شود.<br />
<br />
do...while: بدنه حلقه یک بار اجرا می‌شود و سپس شرط بررسی می‌شود. حتی اگر شرط false باشد، حلقه حداقل یک بار اجرا خواهد شد.<br />
<br />
<br />
در کاربرد:<br />
<br />
وقتی می‌دانیم باید حداقل یک بار بدنه حلقه اجرا شود، از do...while استفاده می‌کنیم.<br />
<br />
وقتی ممکن است شرط از ابتدا برقرار نباشد و بخواهیم حلقه اجرا نشود، از while استفاده میکنیم.<br />
<br />
<br />
---<br />
<br />
۲. در یک برنامه‌ای که از while(true) و دستور break برای توقف استفاده شده، چه مزایا یا خطراتی ممکنه به وجود بیاد؟ در چه مواقعی این شیوه مناسب نیست؟<br />
<br />
جواب:<br />
<br />
مزایا:<br />
<br />
مناسب برای حلقه‌های بی‌نهایت که با شرط خاصی (مثلاً یک ورودی یا رویداد) متوقف می‌شوند.<br />
<br />
ساده و قابل فهم برای حلقه‌های نامشخص.<br />
<br />
<br />
خطرات:<br />
<br />
اگر break هرگز اجرا نشود، حلقه بی‌نهایت می‌شود و منابع سیستم را مصرف می‌کند.<br />
<br />
ممکن است باعث هنگ کردن یا عملکرد نادرست برنامه شود.<br />
<br />
<br />
مناسب نبودن:<br />
<br />
در مواقعی که می‌توان شرط حلقه را به طور واضح مشخص کرد (مثلاً while (x &lt; 10))، بهتر است از while شرط‌دار استفاده شود.<br />
<br />
در برنامه‌های حساس (مثل سرورها یا سیستم‌های بلادرنگ) که حلقه بی‌نهایت خطرناک است.<br />
<br />
<br />
<br />
<br />
---<br />
<br />
۳. فرض کن قراره نمره‌های دانش‌آموزان رو بگیری و فقط نمره‌های معتبر (بین ۰ تا ۲۰) رو در میانگین حساب کنی. با استفاده از continue یک کد بنویس که نمره‌های نامعتبر رو نادیده بگیره.<br />
<br />
جواب:<br />
<br />
#include &lt;iostream&gt;<br />
using namespace std;<br />
<br />
int main() {<br />
    int n, sum = 0, count = 0;<br />
    while (true) {<br />
        cout &lt;&lt; "Enter grade (-1 to stop): ";<br />
        cin &gt;&gt; n;<br />
        if (n == -1) break;<br />
        if (n &lt; 0 || n &gt; 20) continue;<br />
        sum += n;<br />
        count++;<br />
    }<br />
    if (count &gt; 0)<br />
        cout &lt;&lt; "Average grade: " &lt;&lt; (sum / (double)count) &lt;&lt; endl;<br />
    else<br />
        cout &lt;&lt; "No valid grades entered." &lt;&lt; endl;<br />
    return 0;<br />
}<br />
<br />
---<br />
<br />
۴. چرا در زبان ++C از static_cast&lt;&gt; به‌جای تبدیل‌های ساده مثل (int)x استفاده می‌کنیم؟ یک مثال بزن که نشان بده این نوع cast چرا امن‌تر یا مناسب‌تره.<br />
<br />
جواب:<br />
<br />
دلیل:<br />
<br />
static_cast&lt;&gt; نوع تبدیل را مشخص‌تر و ایمن‌تر انجام می‌دهد.<br />
<br />
از تبدیل‌های ناخواسته (مثلاً اشاره‌گرها یا کلاس‌های مختلف) جلوگیری می‌کند.<br />
<br />
باعث خوانایی و قابلیت نگهداری بهتر کد می‌شود.<br />
سوال ۵:<br />
<br />
کدی بنویسید که با استفاده از switch، اعداد ۰ تا ۲ را به متن انگلیسی تبدیل کند و برای سایر مقادیر، پیام "Other number" نمایش دهد. توضیح بده اگر breakها را حذف کنیم چه اتفاقی می‌افتد.<br />
جواب:<br />
<br />
using namespace std;<br />
<br />
int main() {<br />
    int num;<br />
    cout &lt;&lt; "Enter a number: ";<br />
    cin &gt;&gt; num;<br />
<br />
    switch (num) {<br />
        case 0:<br />
            cout &lt;&lt; "Zero" &lt;&lt; endl;<br />
            break;<br />
        case 1:<br />
            cout &lt;&lt; "One" &lt;&lt; endl;<br />
            break;<br />
        case 2:<br />
            cout &lt;&lt; "Two" &lt;&lt; endl;<br />
            break;<br />
        default:<br />
            cout &lt;&lt; "Other number" &lt;&lt; endl;<br />
    }<br />
<br />
    return 0;<br />
}<br />
<br />
اگر breakها را حذف کنیم:<br />
<br />
بعد از اجرای یک case، برنامه بدون توقف به case‌های بعدی هم وارد می‌شود (به این اتفاق fall-through گفته می‌شود).<br />
<br />
مثلاً اگر عدد 1 را وارد کنیم، خروجی این می‌شود:<br />
<br />
One<br />
Two<br />
Other number<br />
<br />
برای جلوگیری از این مشکل و اجرای فقط یک case، استفاده از break ضروری است.<br />
<br />
<br />
<br />
<br />
مهسا ایلخانی<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="http://forum.kishtech.ir/images/attachtypes/pdf.png" title="Adobe Acrobat PDF" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5607" target="_blank" title="">mahsa ilkhani (2).pdf</a> (اندازه:  399.86 KB / تعداد دفعات دریافت:  0)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[۱. تفاوت ساختاری و کاربردی بین حلقه‌های while و do...while در چیست؟ یک مثال کدی بنویسید که خروجی این دو حلقه را با هم مقایسه کند.<br />
<br />
۲. در یک برنامه‌ای که از while(true) و دستور break برای توقف استفاده شده، چه مزایا یا خطراتی ممکنه به وجود بیاد؟ در چه مواقعی این شیوه مناسب نیست؟<br />
<br />
۳. فرض کنید قراره نمره‌های دانش‌آموزان رو بگیرید و فقط نمره‌های معتبر (بین ۰ تا ۲۰) رو در میانگین حساب کنید. با استفاده از continue یک کد بنویس که نمره‌های نامعتبر رو نادیده بگیرد.<br />
<br />
۴. چرا در زبان ++C از static_cast&lt;&gt; به‌جای تبدیل‌های ساده مثل (int)x استفاده می‌کنیم؟ یک مثال بزنید که نشان بدهد این نوع cast چرا امن‌تر یا مناسب‌تر است.<br />
<br />
۵. کدی بنویسید که با استفاده از switch، اعداد ۰ تا ۲ را به متن انگلیسی تبدیل کند و برای سایر مقادیر، پیام "Other number" نمایش دهد. توضیح بدهید اگر breakها را حذف کنیم چه اتفاقی می‌افتد.<br />
مهسا ایل خانی<br />
<hr class="mycode_hr" />
۱.تفاوت ساختاری و کاربردی بین حلقه‌های while و do...while در چیست؟<br />
<br />
جواب:<br />
<br />
در ساختار:<br />
<br />
while: شرط قبل از اجرای حلقه بررسی می‌شود. اگر شرط false باشد، بدنه حلقه حتی یک بار هم اجرا نمی‌شود.<br />
<br />
do...while: بدنه حلقه یک بار اجرا می‌شود و سپس شرط بررسی می‌شود. حتی اگر شرط false باشد، حلقه حداقل یک بار اجرا خواهد شد.<br />
<br />
<br />
در کاربرد:<br />
<br />
وقتی می‌دانیم باید حداقل یک بار بدنه حلقه اجرا شود، از do...while استفاده می‌کنیم.<br />
<br />
وقتی ممکن است شرط از ابتدا برقرار نباشد و بخواهیم حلقه اجرا نشود، از while استفاده میکنیم.<br />
<br />
<br />
---<br />
<br />
۲. در یک برنامه‌ای که از while(true) و دستور break برای توقف استفاده شده، چه مزایا یا خطراتی ممکنه به وجود بیاد؟ در چه مواقعی این شیوه مناسب نیست؟<br />
<br />
جواب:<br />
<br />
مزایا:<br />
<br />
مناسب برای حلقه‌های بی‌نهایت که با شرط خاصی (مثلاً یک ورودی یا رویداد) متوقف می‌شوند.<br />
<br />
ساده و قابل فهم برای حلقه‌های نامشخص.<br />
<br />
<br />
خطرات:<br />
<br />
اگر break هرگز اجرا نشود، حلقه بی‌نهایت می‌شود و منابع سیستم را مصرف می‌کند.<br />
<br />
ممکن است باعث هنگ کردن یا عملکرد نادرست برنامه شود.<br />
<br />
<br />
مناسب نبودن:<br />
<br />
در مواقعی که می‌توان شرط حلقه را به طور واضح مشخص کرد (مثلاً while (x &lt; 10))، بهتر است از while شرط‌دار استفاده شود.<br />
<br />
در برنامه‌های حساس (مثل سرورها یا سیستم‌های بلادرنگ) که حلقه بی‌نهایت خطرناک است.<br />
<br />
<br />
<br />
<br />
---<br />
<br />
۳. فرض کن قراره نمره‌های دانش‌آموزان رو بگیری و فقط نمره‌های معتبر (بین ۰ تا ۲۰) رو در میانگین حساب کنی. با استفاده از continue یک کد بنویس که نمره‌های نامعتبر رو نادیده بگیره.<br />
<br />
جواب:<br />
<br />
#include &lt;iostream&gt;<br />
using namespace std;<br />
<br />
int main() {<br />
    int n, sum = 0, count = 0;<br />
    while (true) {<br />
        cout &lt;&lt; "Enter grade (-1 to stop): ";<br />
        cin &gt;&gt; n;<br />
        if (n == -1) break;<br />
        if (n &lt; 0 || n &gt; 20) continue;<br />
        sum += n;<br />
        count++;<br />
    }<br />
    if (count &gt; 0)<br />
        cout &lt;&lt; "Average grade: " &lt;&lt; (sum / (double)count) &lt;&lt; endl;<br />
    else<br />
        cout &lt;&lt; "No valid grades entered." &lt;&lt; endl;<br />
    return 0;<br />
}<br />
<br />
---<br />
<br />
۴. چرا در زبان ++C از static_cast&lt;&gt; به‌جای تبدیل‌های ساده مثل (int)x استفاده می‌کنیم؟ یک مثال بزن که نشان بده این نوع cast چرا امن‌تر یا مناسب‌تره.<br />
<br />
جواب:<br />
<br />
دلیل:<br />
<br />
static_cast&lt;&gt; نوع تبدیل را مشخص‌تر و ایمن‌تر انجام می‌دهد.<br />
<br />
از تبدیل‌های ناخواسته (مثلاً اشاره‌گرها یا کلاس‌های مختلف) جلوگیری می‌کند.<br />
<br />
باعث خوانایی و قابلیت نگهداری بهتر کد می‌شود.<br />
سوال ۵:<br />
<br />
کدی بنویسید که با استفاده از switch، اعداد ۰ تا ۲ را به متن انگلیسی تبدیل کند و برای سایر مقادیر، پیام "Other number" نمایش دهد. توضیح بده اگر breakها را حذف کنیم چه اتفاقی می‌افتد.<br />
جواب:<br />
<br />
using namespace std;<br />
<br />
int main() {<br />
    int num;<br />
    cout &lt;&lt; "Enter a number: ";<br />
    cin &gt;&gt; num;<br />
<br />
    switch (num) {<br />
        case 0:<br />
            cout &lt;&lt; "Zero" &lt;&lt; endl;<br />
            break;<br />
        case 1:<br />
            cout &lt;&lt; "One" &lt;&lt; endl;<br />
            break;<br />
        case 2:<br />
            cout &lt;&lt; "Two" &lt;&lt; endl;<br />
            break;<br />
        default:<br />
            cout &lt;&lt; "Other number" &lt;&lt; endl;<br />
    }<br />
<br />
    return 0;<br />
}<br />
<br />
اگر breakها را حذف کنیم:<br />
<br />
بعد از اجرای یک case، برنامه بدون توقف به case‌های بعدی هم وارد می‌شود (به این اتفاق fall-through گفته می‌شود).<br />
<br />
مثلاً اگر عدد 1 را وارد کنیم، خروجی این می‌شود:<br />
<br />
One<br />
Two<br />
Other number<br />
<br />
برای جلوگیری از این مشکل و اجرای فقط یک case، استفاده از break ضروری است.<br />
<br />
<br />
<br />
<br />
مهسا ایلخانی<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="http://forum.kishtech.ir/images/attachtypes/pdf.png" title="Adobe Acrobat PDF" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5607" target="_blank" title="">mahsa ilkhani (2).pdf</a> (اندازه:  399.86 KB / تعداد دفعات دریافت:  0)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[برنامه نویسی پیشرفته c++  مهسا ایل خانی]]></title>
			<link>http://forum.kishtech.ir/showthread.php?tid=115548</link>
			<pubDate>Sun, 25 May 2025 18:45:31 +0330</pubDate>
			<dc:creator><![CDATA[<a href="http://forum.kishtech.ir/member.php?action=profile&uid=16002">Mahsailk</a>]]></dc:creator>
			<guid isPermaLink="false">http://forum.kishtech.ir/showthread.php?tid=115548</guid>
			<description><![CDATA[۱. تفاوت ساختاری و کاربردی بین حلقه‌های while و do...while در چیست؟ یک مثال کدی بنویسید که خروجی این دو حلقه را با هم مقایسه کند.<br />
<br />
۲. در یک برنامه‌ای که از while(true) و دستور break برای توقف استفاده شده، چه مزایا یا خطراتی ممکنه به وجود بیاد؟ در چه مواقعی این شیوه مناسب نیست؟<br />
<br />
۳. فرض کنید قراره نمره‌های دانش‌آموزان رو بگیرید و فقط نمره‌های معتبر (بین ۰ تا ۲۰) رو در میانگین حساب کنید. با استفاده از continue یک کد بنویس که نمره‌های نامعتبر رو نادیده بگیرد.<br />
<br />
۴. چرا در زبان ++C از static_cast&lt;&gt; به‌جای تبدیل‌های ساده مثل (int)x استفاده می‌کنیم؟ یک مثال بزنید که نشان بدهد این نوع cast چرا امن‌تر یا مناسب‌تر است.<br />
<br />
۵. کدی بنویسید که با استفاده از switch، اعداد ۰ تا ۲ را به متن انگلیسی تبدیل کند و برای سایر مقادیر، پیام "Other number" نمایش دهد. توضیح بدهید اگر breakها را حذف کنیم چه اتفاقی می‌افتد.<br />
<br />
مهسا ایل خانی<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="http://forum.kishtech.ir/images/attachtypes/pdf.png" title="Adobe Acrobat PDF" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5606" target="_blank" title="">mahsa ilkhani (2).pdf</a> (اندازه:  399.86 KB / تعداد دفعات دریافت:  0)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[۱. تفاوت ساختاری و کاربردی بین حلقه‌های while و do...while در چیست؟ یک مثال کدی بنویسید که خروجی این دو حلقه را با هم مقایسه کند.<br />
<br />
۲. در یک برنامه‌ای که از while(true) و دستور break برای توقف استفاده شده، چه مزایا یا خطراتی ممکنه به وجود بیاد؟ در چه مواقعی این شیوه مناسب نیست؟<br />
<br />
۳. فرض کنید قراره نمره‌های دانش‌آموزان رو بگیرید و فقط نمره‌های معتبر (بین ۰ تا ۲۰) رو در میانگین حساب کنید. با استفاده از continue یک کد بنویس که نمره‌های نامعتبر رو نادیده بگیرد.<br />
<br />
۴. چرا در زبان ++C از static_cast&lt;&gt; به‌جای تبدیل‌های ساده مثل (int)x استفاده می‌کنیم؟ یک مثال بزنید که نشان بدهد این نوع cast چرا امن‌تر یا مناسب‌تر است.<br />
<br />
۵. کدی بنویسید که با استفاده از switch، اعداد ۰ تا ۲ را به متن انگلیسی تبدیل کند و برای سایر مقادیر، پیام "Other number" نمایش دهد. توضیح بدهید اگر breakها را حذف کنیم چه اتفاقی می‌افتد.<br />
<br />
مهسا ایل خانی<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="http://forum.kishtech.ir/images/attachtypes/pdf.png" title="Adobe Acrobat PDF" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5606" target="_blank" title="">mahsa ilkhani (2).pdf</a> (اندازه:  399.86 KB / تعداد دفعات دریافت:  0)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[برنامه نویسی پیشرفته c++]]></title>
			<link>http://forum.kishtech.ir/showthread.php?tid=115547</link>
			<pubDate>Sun, 25 May 2025 18:30:53 +0330</pubDate>
			<dc:creator><![CDATA[<a href="http://forum.kishtech.ir/member.php?action=profile&uid=16002">Mahsailk</a>]]></dc:creator>
			<guid isPermaLink="false">http://forum.kishtech.ir/showthread.php?tid=115547</guid>
			<description><![CDATA[۱. تفاوت ساختاری و کاربردی بین حلقه‌های while و do...while در چیست؟ یک مثال کدی بنویسید که خروجی این دو حلقه را با هم مقایسه کند.<br />
<br />
۲. در یک برنامه‌ای که از while(true) و دستور break برای توقف استفاده شده، چه مزایا یا خطراتی ممکنه به وجود بیاید؟ در چه مواقعی این شیوه مناسب نیست؟<br />
<br />
۳. فرض کنید قراره نمره‌های دانش‌آموزان رو بگیرید و فقط نمره‌های معتبر (بین ۰ تا ۲۰) رو در میانگین حساب کنید. با استفاده از continue یک کد بنویس که نمره‌های نامعتبر رو نادیده بگیرد.<br />
<br />
۴. چرا در زبان ++C از static_cast&lt;&gt; به‌جای تبدیل‌های ساده مثل (int)x استفاده می‌کنیم؟ یک مثال بزنید که نشان بدهید این نوع cast چرا امن‌تر یا مناسب‌تره.<br />
<br />
۵. کدی بنویس که با استفاده از switch، اعداد ۰ تا ۲ را به متن انگلیسی تبدیل کند و برای سایر مقادیر، پیام "Other number" نمایش دهد. توضیح بدهید اگر breakها را حذف کنیم چه اتفاقی می‌افتد.]]></description>
			<content:encoded><![CDATA[۱. تفاوت ساختاری و کاربردی بین حلقه‌های while و do...while در چیست؟ یک مثال کدی بنویسید که خروجی این دو حلقه را با هم مقایسه کند.<br />
<br />
۲. در یک برنامه‌ای که از while(true) و دستور break برای توقف استفاده شده، چه مزایا یا خطراتی ممکنه به وجود بیاید؟ در چه مواقعی این شیوه مناسب نیست؟<br />
<br />
۳. فرض کنید قراره نمره‌های دانش‌آموزان رو بگیرید و فقط نمره‌های معتبر (بین ۰ تا ۲۰) رو در میانگین حساب کنید. با استفاده از continue یک کد بنویس که نمره‌های نامعتبر رو نادیده بگیرد.<br />
<br />
۴. چرا در زبان ++C از static_cast&lt;&gt; به‌جای تبدیل‌های ساده مثل (int)x استفاده می‌کنیم؟ یک مثال بزنید که نشان بدهید این نوع cast چرا امن‌تر یا مناسب‌تره.<br />
<br />
۵. کدی بنویس که با استفاده از switch، اعداد ۰ تا ۲ را به متن انگلیسی تبدیل کند و برای سایر مقادیر، پیام "Other number" نمایش دهد. توضیح بدهید اگر breakها را حذف کنیم چه اتفاقی می‌افتد.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[برنامه سازی پیشرفته C++ زهرا عظیمی شامیر ، آرایه ها]]></title>
			<link>http://forum.kishtech.ir/showthread.php?tid=115516</link>
			<pubDate>Sat, 24 May 2025 20:22:51 +0330</pubDate>
			<dc:creator><![CDATA[<a href="http://forum.kishtech.ir/member.php?action=profile&uid=15952">Zahraazimi</a>]]></dc:creator>
			<guid isPermaLink="false">http://forum.kishtech.ir/showthread.php?tid=115516</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align">1: برنامه‌ای بنویسید که جملات اول تا 50ام دنباله فیبوناچی را در یک آرایه محاسبه کنید<br />
<div style="text-align: right;" class="mycode_align">#include &lt;iostream&gt;</div>
<br />
int main()<br />
}<br />
int A[100]; <br />
 int i; A[0] = 1; A[1] = 1;<br />
 for(i=2; i&lt;50 ;i++) A[i] = A[i-1] + A[i-2]; <br />
 for(i=0;i&lt;50;i++) <br />
;" " &gt;&gt;cout&lt;&lt;A[i]<br />
 ؛return 0<br />
{<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: justify;" class="mycode_align">2: برنامه زیر از ایندکس خارج از محدوده استفاده میکند و این باعث میشود که مقدار یک متغییر به طور ناخواسته تغییر کنید</div>
<br />
&lt;include &lt;iostream#<br />
int main()<br />
 { <br />
const int SIZE=4; <br />
float a[] = { 22.2, 44.4, 66.6 }; <br />
float x=11.1; <br />
cout &lt;&lt; "x = " &lt;&lt; x &lt;&lt; endl;<br />
 a[3] = 88.8; // ERROR: index is out of bounds!<br />
cout &lt;&lt; "x = " &lt;&lt; x &lt;&lt; endl;<br />
؛return0<br />
 }<br />
x = 88.8<br />
<br />
3:برنامه ای بنویسید که ارایه ی text را از نوع کاراکتر از ورودی بگیرد و آرایه ی asctext را از نوع عدد صحیح بسازد که کد اسکی آرایه اول در آن <br />
باشد و آن را نمایش دهد.<br />
<br />
&lt;include &lt;cstdlib#<br />
&lt;include &lt;iostream#<br />
int main(int argc, char *argv[])<br />
{ <br />
 int n; <br />
 cin&gt;&gt;n; <br />
 char text[n]; <br />
 for(int i=0;i&lt;n;i++)<br />
 {<br />
 cin&gt;&gt;text[i];<br />
 }<br />
 cout&lt;&lt;endl; <br />
 int asctext[n]; <br />
 for(int i=0;i&lt;n;i++) <br />
 { <br />
 asctext[i]=(int)text[i];<br />
 }<br />
 for(int i=0;i&lt;n;i++) <br />
 { <br />
 &gt;&gt;[i]cout &lt;&lt; asctext" "; <br />
 } <br />
 cout&lt;&lt;endl; <br />
 system("PAUSE");<br />
 return;<br />
}<br />
<div style="text-align: right;" class="mycode_align">4:برنامه ای بنویسید که دو آرایه با طول n و m را از ورودی گرفته و یک آرایه با طول n+m بسازد که ابتدا عناصر آرایه ی n عنصری و سپس عناصر آرایه ی m عنصری در آن ریخته شده باشد و آن را نمایش دهد( چسباندن دو آرایه به هم)  <br />
<br />
&lt;include &lt;cstdlib#<br />
&lt;include &lt;iostream#<br />
int main(int argc, char *argv[])<br />
{<br />
 int n,m;<br />
 cout&lt;&lt;"enter lenght of your arrays"&lt;&lt;endl; <br />
 cin&gt;&gt;n&gt;&gt;m; <br />
 int arr1[n; <br />
 cout&lt;&lt;"enter items of first array"&lt;&lt;endl;<br />
 for(int i=0;i&lt;n;i++)<br />
 {<br />
 cin&gt;&gt;arr1[i];<br />
 } cout&lt;&lt;endl; <br />
 cout&lt;&lt;"enter items of second array"&lt;&lt;endl;<br />
 for(int i=0;i&lt;m;i++) <br />
   { cin&gt;&gt;arr2[i];; } int arr[n+m]; <br />
 for(int i=0;i&lt;n;i++)<br />
 { <br />
 arr[i]=arr1[i];<br />
 } <br />
 for(int i=n;i&lt;n+m;i++) <br />
 { <br />
 arr[i]=arr2[i-n];<br />
 }<br />
 cout&lt;&lt;endl;<br />
 for(int i=0;i&lt;n+m;i++)<br />
 {<br />
 cout&lt;&lt;arr[i]; <br />
 } <br />
 cout&lt;&lt;endl; system("PAUSE")<br />
; Sreturn EXIT_SUCCES<br />
}<br />
<br />
</div>
</div>
</div><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="http://forum.kishtech.ir/images/attachtypes/pdf.png" title="Adobe Acrobat PDF" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5597" target="_blank" title="">زهرا عظیمی شامیر.pdf</a> (اندازه:  1.54 MB / تعداد دفعات دریافت:  0)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="http://forum.kishtech.ir/images/attachtypes/pdf.png" title="Adobe Acrobat PDF" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5598" target="_blank" title="">زهرا عظیمی شامیر (1).pdf</a> (اندازه:  378.82 KB / تعداد دفعات دریافت:  2)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align">1: برنامه‌ای بنویسید که جملات اول تا 50ام دنباله فیبوناچی را در یک آرایه محاسبه کنید<br />
<div style="text-align: right;" class="mycode_align">#include &lt;iostream&gt;</div>
<br />
int main()<br />
}<br />
int A[100]; <br />
 int i; A[0] = 1; A[1] = 1;<br />
 for(i=2; i&lt;50 ;i++) A[i] = A[i-1] + A[i-2]; <br />
 for(i=0;i&lt;50;i++) <br />
;" " &gt;&gt;cout&lt;&lt;A[i]<br />
 ؛return 0<br />
{<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: justify;" class="mycode_align">2: برنامه زیر از ایندکس خارج از محدوده استفاده میکند و این باعث میشود که مقدار یک متغییر به طور ناخواسته تغییر کنید</div>
<br />
&lt;include &lt;iostream#<br />
int main()<br />
 { <br />
const int SIZE=4; <br />
float a[] = { 22.2, 44.4, 66.6 }; <br />
float x=11.1; <br />
cout &lt;&lt; "x = " &lt;&lt; x &lt;&lt; endl;<br />
 a[3] = 88.8; // ERROR: index is out of bounds!<br />
cout &lt;&lt; "x = " &lt;&lt; x &lt;&lt; endl;<br />
؛return0<br />
 }<br />
x = 88.8<br />
<br />
3:برنامه ای بنویسید که ارایه ی text را از نوع کاراکتر از ورودی بگیرد و آرایه ی asctext را از نوع عدد صحیح بسازد که کد اسکی آرایه اول در آن <br />
باشد و آن را نمایش دهد.<br />
<br />
&lt;include &lt;cstdlib#<br />
&lt;include &lt;iostream#<br />
int main(int argc, char *argv[])<br />
{ <br />
 int n; <br />
 cin&gt;&gt;n; <br />
 char text[n]; <br />
 for(int i=0;i&lt;n;i++)<br />
 {<br />
 cin&gt;&gt;text[i];<br />
 }<br />
 cout&lt;&lt;endl; <br />
 int asctext[n]; <br />
 for(int i=0;i&lt;n;i++) <br />
 { <br />
 asctext[i]=(int)text[i];<br />
 }<br />
 for(int i=0;i&lt;n;i++) <br />
 { <br />
 &gt;&gt;[i]cout &lt;&lt; asctext" "; <br />
 } <br />
 cout&lt;&lt;endl; <br />
 system("PAUSE");<br />
 return;<br />
}<br />
<div style="text-align: right;" class="mycode_align">4:برنامه ای بنویسید که دو آرایه با طول n و m را از ورودی گرفته و یک آرایه با طول n+m بسازد که ابتدا عناصر آرایه ی n عنصری و سپس عناصر آرایه ی m عنصری در آن ریخته شده باشد و آن را نمایش دهد( چسباندن دو آرایه به هم)  <br />
<br />
&lt;include &lt;cstdlib#<br />
&lt;include &lt;iostream#<br />
int main(int argc, char *argv[])<br />
{<br />
 int n,m;<br />
 cout&lt;&lt;"enter lenght of your arrays"&lt;&lt;endl; <br />
 cin&gt;&gt;n&gt;&gt;m; <br />
 int arr1[n; <br />
 cout&lt;&lt;"enter items of first array"&lt;&lt;endl;<br />
 for(int i=0;i&lt;n;i++)<br />
 {<br />
 cin&gt;&gt;arr1[i];<br />
 } cout&lt;&lt;endl; <br />
 cout&lt;&lt;"enter items of second array"&lt;&lt;endl;<br />
 for(int i=0;i&lt;m;i++) <br />
   { cin&gt;&gt;arr2[i];; } int arr[n+m]; <br />
 for(int i=0;i&lt;n;i++)<br />
 { <br />
 arr[i]=arr1[i];<br />
 } <br />
 for(int i=n;i&lt;n+m;i++) <br />
 { <br />
 arr[i]=arr2[i-n];<br />
 }<br />
 cout&lt;&lt;endl;<br />
 for(int i=0;i&lt;n+m;i++)<br />
 {<br />
 cout&lt;&lt;arr[i]; <br />
 } <br />
 cout&lt;&lt;endl; system("PAUSE")<br />
; Sreturn EXIT_SUCCES<br />
}<br />
<br />
</div>
</div>
</div><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="http://forum.kishtech.ir/images/attachtypes/pdf.png" title="Adobe Acrobat PDF" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5597" target="_blank" title="">زهرا عظیمی شامیر.pdf</a> (اندازه:  1.54 MB / تعداد دفعات دریافت:  0)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="http://forum.kishtech.ir/images/attachtypes/pdf.png" title="Adobe Acrobat PDF" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5598" target="_blank" title="">زهرا عظیمی شامیر (1).pdf</a> (اندازه:  378.82 KB / تعداد دفعات دریافت:  2)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
	</channel>
</rss>