حل تمرین های فصل سوم کتاب برنامه نویسی جاوا جعفرنژاد قمی

سلام خدمت شما

همونطور که گفته بودم سعی میکنم تمرین فصل های کتاب برنامه نویسی جاوا جعفرنژاد قمی رو اینجا حل کنم و کداشو بزارم اما یه چیزی که میخوام بگم که خیلی از تمرین های این کتاب مشابه کتاب برنامه نویسی c++ آقای قمیه ، یعنی شما اگه تمرینای اون کتاب رو حل کرده باشید میتونید اینا رو هم به راحتی حل کنید

نظر شخصی : ضمنا اینو بگم بعضی مثال های این کتاب ایراد و مشکل داره از این لحاظ بعضیاشون نیاز به اطلاعات جلوتری نسبت به همون فصل دارن یعنی اینکه شما فقط تا همین فصل سه رو خونده باشی نمیتونی چند تاشونو حل کنی بعضی هاشون هم اصلا در این سطح قابل حل کردن نیست برای مثال سوال ۲ این فصل نیاز به تابع gotoxy() داره که تو جاوا چنین چیزی امکان پذیر نیست من هر چقدر گشتم نتونستم راه حل مناسب واسه این سوال پیدا کنم مشابه این سوال رو در فصل دو سوال ۱ حل کردم که میتونید ازش استفاده کنید

در آخر هم امیدوارم براتون مفید باشه این کدها و اگر سوالی دارید میتونید زیر همین پست بپرسید

بریم سراغ حل مسائل

۱- برنامه ای بنویسید که خروجی زیر را تولید کند :

*

**

***

****

*****

******

package solution3_1;
public class Solution3_1 {
 public static void main(String[] args) {
 System.out.print("* \n");
 for (int i=0;i<2;i++){
 System.out.print("*");
 }
 System.out.print("\n");
 for (int i=0;i<3;i++){
 System.out.print("*");
 }
 System.out.print("\n");
 for (int i=0;i<4;i++){
 System.out.print("*");
 }
 System.out.print("\n");
 for (int i=0;i<5;i++){
 System.out.print("*");
 }
 System.out.print("\n");
 for (int i=0;i<6;i++){
 System.out.print("*");
 }
 System.out.print("\n");
 } 
}

۲- برنامه ای نویسید که خروجی زیر را تولید کند : توضیحات در بالا گفته شد میتونید مشابهش رو در سوال یک اینجا ببینید

۳- برنامه ای بنویسید که عددی را از ورودی خوانده به متدی ارسال کند . متد تشخیص دهد که عدد کامل است یا خیر ….

 

import java.util.*;
public class Solution3_3 {
 public static void main(String[] args) {
 Scanner input = new Scanner (System.in);
 int n;
 char ch;
 while(true) { 
 System.out.print("Adad Ra Vared Konid : ");
 n = input.nextInt();
 mohasebe(n);
 System.out.print("Aya Mikhahid Edame Dahid ? (y/n) : ");
 ch = input.next().charAt(0);//دستور خواندن عبارت کاراکتری در جاوا
 if (ch!='y'){
 System.exit(0);//دستور خروج از برنامه در جاوا
 }
 else 
 continue;// ادامه برنامه 
 }
 }
 public static void mohasebe (int n){
 int i , sum = 0;
 for (i=1;i<n;i++){
 if (n%i==0){
 sum= sum+i;
 }
 }
 if (sum==n){
 System.out.println("Adad Kamel Ast.");
 }
 else 
 System.out.println("Adad Kamel Nist.");
 }
 }
 

۴- دستورات زیر را با for بنویسید.

int i =0;

while (i<=100)}

if ….

  
public class Solution2_4 {
 public static void main(String[] args) {
 int i = 1;
 for (i=1;i<=101;i++){
 if (i<5&&i!=2){
 System.out.println('x');}
 }
 } 
}

 

۵- خروجی دستورات زیر را تعیین کنید:

x=5;
while(–x>0)
System.out.println(x);


۴
۳
۲
۱

۶- برنامه ای بنویسید که n جمله از سری فیبوناچی را تولید کند :

 
import java.util.*;
public class Solution3_6 {
 public static void main(String[] args) {
 Scanner input = new Scanner (System.in); 
 int a=1,b=1,c,n;
 System.out.print("Adad Ra Vared Konid :");
 n = input.nextInt();
 System.out.printf("Natije : %d,%d",a,b);
for(int i=3;i<=n;i++)
{
System.out.print(",");
c=a+b;
System.out.print(c);
a=b;
b=c;
} 
 } 
}

 

۷- برنامه ای بنویسید که شماره روزهای هفته را از ورودی خوانده ، روز معادل آن شماره را در هر خروجی چاپ کند …

 import java.util.*;
public class Solution3_7 {
 public static void main(String[] args) {
 int x;
 Scanner input = new Scanner (System.in);
 System.out.print("Please enter a number between 1 & 7:");
 x=input.nextInt();
 switch(x)
 {
 case 1: 
 System.out.print("Saturday");
 break;
 case 2: 
 System.out.print("Sunday");break;
 case 3: 
 System.out.print("Monday");break;
 case 4: 
 System.out.print("Tuesday");break;
 case 5: 
 System.out.print("Wednesday");break;
 case 6: 
 System.out.print("Thirsday");break;
 case 7: 
 System.out.print("Friday");break;
 default: 
 System.out.print("Wrong number!");
 }
 } 
} 

۸- برنامه ای بنویسید که ضرایب معادله درجه دومی را خوانده ، آن معادله را حل کند

import java.util.*;
public class Solution3_8 {
 public static void main(String[] args) {
 Scanner input = new Scanner (System.in);
 int a,b,c;
 double delta,x,x1;
 System.out.print("Zarayaeb Moadele ax2+bx+c=0 Vared konid (a,b,c) : ");
 a = input.nextInt();
 b = input.nextInt();
 c = input.nextInt();
 delta = (b*b)- (4*a*c);
 if (delta <0){
 System.out.println("Moadele Rishe Haghighi nadarad");
 }
 else if (delta==0){
 x = (-1*b)/(2*a);
 System.out.printf("X barabar Ast Ba = %.3f",x);
 }
 else {
 x = ((-1*b) + Math.sqrt(delta))/(2*a);
 x1 = ((-1*b) - Math.sqrt(delta))/(2*a);
 System.out.printf("Rishe Aval X barabar Ast Ba = %.3f \n",x);
 System.out.printf("Rishe Dovom X barabar Ast Ba = %.3f \n",x1);
 }
 }
 
} 

۹- برنامه ای نوبیسید که اعداد زوج از ۲ تا ۱۰۰ را چاپ کند

public class Solution3_9 {
 public static void main(String[] args) {
 int i;
 for (i=2;i<=100;i=i+2){
 System.out.printf("%d",i);
 System.out.print(",");
 }
 }
}

۱۰- برنامه ای بنویسید که اعداد ۱ تا ۲۵ را به همراه مربع آن ها خروجی ببرد . اعداد در یک ستون …


public class Solution3_10 {
 public static void main(String[] args) {
 int i =1;
 for (i=1;i<=25;i++){
 System.out.printf("%d \t %d \n",i,i*i);
 }
 } 
}

۱۱- برنامه ای بنویسید که مجموع ۱ تا n برای هر n از ۱ تا ۵۰ چاپ کند .

من اصلا این سوال رو نفهمیدم 😐 منظورش چیه 😐

۱۲- برنامه ای بنویسید که اعداد کامل از ۱ تا ۱۰۰ را چاپ کند ، تشخیص اعداد کامل ….

public class Solution3_12 {
 public static void main(String[] args) {
 mohasebe();
} 
 public static void mohasebe(){
 int n=1,i=1,sum;
 for(n=1;n<=100;n++)
 {
 sum = 0;
 for (i=1;i<n;i++){
 if(n%i==0)
 sum=sum+i; 
 }
 if(sum==n)
 System.out.printf("\t%d",n);
 }
 }
 }

۱۳- برنامه ای بنويسيد که مجموع n جمله از سری ۱+ ۱/۲!+۱/۳!+…+۱/n! را محاسبه نمايد.

</pre>
import java.util.*;
public class Solution3_13 {

public static void main(String[] args) {
Scanner input = new Scanner (System.in);
int i,n,f =1;
double sum=0;
System.out.print("Adad Ra Vared konid : ");
n = input.nextInt();
for (i = 1 ;i<n;i++){
f *=i;
sum = sum + (1/f);
}
System.out.printf("Natije = %.4f",sum);
}
}
<pre> 

۱۴- برنامه ای بنويسيد که مجموع n جمله از سری ۱-۱/۲+۱/۳-۱/۴… را محاسبه نمايد.

 
import java.util.*;
public class Solution3_14 {
 public static void main(String[] args) {
 float n;
 Scanner input = new Scanner (System.in);
 System.out.print("Adad Ra Vared konid : ");
 n = input.nextFloat();
 double sum =1;
 for (int i=1;i<n;i++){ 
 sum +=(1/n);
 }
 System.out.printf("Natije : %.3f \n",sum);
 }
}

 

۱۵- برنامه ای بنویسید که کاراکتر های C,S یا T را خوانده ، پیام های “Circle”و …

 
import java.util.*;
public class Solution3_15 {
 public static void main(String[] args) {
 Scanner input = new Scanner (System.in);
 char ch;
 System.out.print("Horof Ra Vared Konid : ");
 ch = input.next().charAt(0);
 if (ch=='C'||ch=='c'){
 System.out.println("\"Circle\"");
 }
 else if (ch=='S'||ch=='s'){
 System.out.println("\"Square\"");
 }
 else if (ch=='T'||ch=='t'){
 System.out.println("\"Triangle\"");
 }
 else 
 System.out.println("\"Horof Eshtebah Ast!!!\"");
 }
}
 

۱۶- برنامه ای بنویسید که تعداد n عدد صحیح را از ورودی خوانده ، بزرگترین عدد ، کوچکترین عدد ، و میانگین اعداد را به خروجی ببرد.

 
import java.util.*;
public class Solution3_16 {
 public static void main(String[] args) {
 Scanner input = new Scanner (System.in);
 int n,i=0,sum=0;
 char ch;
 double f;
 int max=-32767, min=32767;
 while(true){
 System.out.print("Adad Ra Vared Konid : ");
 n = input.nextInt();
 if (n>max)
 max = n ;
 if (n<min)
 min = n ;
 sum+=n;
 i++;
 System.out.print("Aya Edame Midahid (y/n) : ");
 ch = input.next().charAt(0);
 if (ch!='y'){
 break;
 }
 else 
 continue;
 }
 f = sum/i;
 System.out.printf("Bozorgtarin Adad : %d \n",max);
 System.out.printf("Kochaktarin Adad : %d \n",min);
 System.out.printf("Miangin Adad : %.3f \n",f);
 }
}

 

۱۷- برنامه ای بنویسید که نمرات ۱۰ دانشجو را که از ۱ تا ۱۰۰ می باشد از ورودی خوانده ، مشخص کند که نمرات چند نفر از ۹۰ تا ۱۰۰، چند نفر ….

 
import java.util.*;
public class Solution3_17 {
 public static void main(String[] args) {
 int n,i,l=0,j=0,k=0;
 Scanner input = new Scanner (System.in);
 for (i=0;i<10;i++){
 System.out.printf("Adad [%d] Vared Konid : ",i+1);
 n = input.nextInt();
 if (n<=100&&n>90)
 l++;
 else if (n<=89&&n>60)
 j++;
 else if (n<=59&&n>1)
 k++;
 }
 System.out.printf("Tedad Adad Beyn 1 ta 59 : %d \n",k);
 System.out.printf("Tedad Adad Beyn 60 ta 89 : %d \n",j);
 System.out.printf("Tedad Adad Beyn 90 ta 100 : %d \n",l);
 
 }
}

۱۸- خروجی قطعه برنامه زیر را بنویسید :

for (int f = 0;f<3;++f)
for (int g=0;g<2;++g)
System.out.printf(f+” “+g+” “);

 ۰ ۰ ۰ ۱ ۱ ۰ ۱ ۱ ۲ ۰ ۲ ۱


۱۹- برنامه ای بنویسید که تاریخ تولد کاربر و تاریخ فعلی را از او دریافت کند و مشخص نماید چند سال، چند ماه ، چند روز و چند ثانیه عمر کرده است .

نکته : این برنامه رو من با کمترین میزان خطا نوشتم تمامی نکات توش درنظر گرفته شده تا بهترین حالت ممکن برنامه رو بنویسم تنها نکته ای که توش استفاده نکردم محاسبه سال کبیسه بود بقیه موارد از تعداد روز تابستان و ماه اسفند و مقدار عمر سپری شده همگی مدنظر گرفته شده واسه همین که طول برنامه زیاد شده

import java.util.*;
public class Solution3_19 {
 public static void main(String[] args) {
 int year,uyear,month,umonth,day,uday;
 double sal,mah,rooz,sanie,trooz,a,b;
 Scanner input = new Scanner (System.in);
 System.out.print("Tarikh Tavalod Khod Ra Ba Enter Vared Konid : ");
 uyear=input.nextInt();
 umonth=input.nextInt();
 uday=input.nextInt();
 a=tarikheman(uyear, umonth, uday);
 System.out.print("Tarikh Emrooz Ra Ba Enter Vared Konid : ");
 year=input.nextInt();
 month=input.nextInt();
 day=input.nextInt();
 b=tarikhealan(year, month, day);
 sal = (int)(b-a)/365;
 double sal2 = (b-a)/365;
 double mah2 = sal2*12;
 rooz =(int)b-a;
 sanie = rooz*86400;
 System.out.printf("Tedad Sale Gozaghte Shode Az Tarikh Tavalod : %.0f \n",sal);
 System.out.printf("Kol Salhaye Separi Shode : %.0f \n",sal2);
 System.out.printf("Kol Mahhaye Separi Shode : %.0f \n",mah2);
 System.out.printf("Kol Roozhaye Separi Shode : %.0f \n",rooz);
 System.out.printf("Kol Saniehaaye Separi Shode : %.0f \n",sanie);
 
 }
 public static double tarikheman (double sal , double mah , double rooz){
 double fmah,jame=0,fsal = sal*365;
 if (rooz>31){
 System.out.print("Tarikh Rooz Tavalod Eshtebah Vared Shode.");
 System.exit(0);
 }
 if (mah==1){
 jame = fsal+rooz;
 }
 else if (mah<=6&&mah>=2)
 {
 fmah=(mah-1)*31;
 jame = fsal+fmah+rooz;
 }
 else if (mah<=11&&mah>=7)
 {
 fmah=((mah-1)*30)+6;
 jame = fsal+fmah+rooz;
 }
 else if (mah==12)
 {
 fmah=((mah-1)*29)+17;
 jame = fsal+fmah+rooz;
 }
 else {
 System.out.print("Tarikh Mah Tavalod Eshtebah Vared Shode.");
 System.exit(0);
 }
 
 return jame;
 }
 public static double tarikhealan (double sal , double mah , double rooz){
 double fmah,jame=0,fsal = sal*365;
 if (rooz>31){
 System.out.print("Tarikh Rooz Tavalod Eshtebah Vared Shode.");
 System.exit(0);
 }
 if (mah==1){
 jame = fsal+rooz;
 }
 else
 if (mah<=6&&mah>=2)
 {
 fmah=(mah-1)*31;
 jame = fsal+fmah+rooz;
 }
 else if (mah<=11&&mah>=7)
 {
 fmah=((mah-1)*30)+6;
 jame = fsal+fmah+rooz;
 }
 else if (mah==12)
 {
 fmah=((mah-1)*29)+17;
 jame = fsal+fmah+rooz;
 }
 else {
 System.out.print("Tarikh Mah Tavalod Eshtebah Vared Shode.");
 System.exit(0);
 }
 
 return jame;
 }
}

تمرین های فصل سوم این کتاب هم تموم شد اگه تونستم تمرین فصل های دیگه رو هم توی وبلاگ قرار میدم

جوابی بنویسید:

آدرس ایمیل شما به صورت عمومی منتشر نخواهد شد.

اسلایدر سایدبار

درباره من

درباره من

من رضا قاسم زاده هستم ، 20 سال سن دارم . در حال حاضر مشغول گذراندن دوره کارشناسی مهندسی نرم افزار از دانشگاه شمال آمل هستم و از سال 89 در زمینه طراحی و برنامه نویسی وب فعالیت می کنم. بیشتر مطالعه ام این روزا به دلیل علاقه ام به استارتاپ ها تو این زمینه انجام میشه و سعی میکنم مطالعات زیادی رو تو حوزه کسب و کارهای نوپا داشته باشم در کنار رشته تحصیلیم به نوازندگی سنتور ، گوش دادن موسیقی و تماشای فیلم نیز مشغول هستم

شبکه های اجتماعی