Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#1
سلام بر همگی
مرحله ی بعدی کامپیوتر برنامه نویسی است. به همین دلیل خیلی لازم بود که ماراتن برنامه نویسی برگزار شود.
لطفا برنامه ها را به یکی از زبانهای #C و Pascal و ++C و Basic و Java بنویسید. البته توجه داشته باشید که آزمون ما ++C است.
همچنین ماراتن الگوریتم ایجاد شد که امیدوارم این دو تا مفید باشند.
فقط چند تا نکته»
1- تا وقتی سوال حل نشده وجود دارد ، سوال دیگری نگذارید
2-شماره ی سوال را بالای مطلبتان بنویسید
3- وقتی برنامه می نویسید ، از عبارات فارسی در آن استفاده نکنید و برنامه را داخل تگ کد قرار دهید.
مثلا:
کد
#include <stdio.h>
#include <conio.h>
int main()
{
printf("Programming Marathon");
}
دکمه ای که نوشته را در تگ کد قرار می دهد به شکل [#] است.
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#2
[center:7af0313c44]1[/center:7af0313c44]از ساده شروع می کنیم.
برنامه ای بنویسید که یک معادله ی درجه ی اول به صورت ax+b=c را حل کند.a و b و c حداکثر تا 6 رقم اعشار دارند و جواب هم باید دقیقا 6 رقم اعشار داشته باشد.
ورودی:
نوع الف) پرسش a و b و c از کاربر
نوع ب) a و b و c در فایل input.txt به این صورت قرار می گیرند:(این یک مثال است)
کد
a=1.234567
b=2.345678
c=3.456789
خروجی:
نوع الف) اعلام به کاربر با نوشتن در محیط برنامه
نوع ب) جواب را در فایل output.txt به صورت زیر قرار دهید:
کد
1.234567
می دونم که یک کمی آسونه ، ولی برای شروع خوبه
منتظر برنامه هاتون هستم
 
C

counterexample

Guest
#3
متأسفانه من تا حالا با c کار نکردم و کارامو با بیسیک انجام میدم و خیلی ازش خوشم میاد
حالا کد این برنامه به زبان بیسیک:
dim a as integer
dim b as integer
dim c as integer
dim x as integer
x = (c-b)/a

البته بیسیک رو بیسیکشم میچرخه که به 4 لیبل و 1 ......... حیف حوصله ندارم​
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#4
[center:5c7733f9a2]1[/center:5c7733f9a2]من 3 تا نکته گفتم که امیدوار بودم بهش عمل کنید.
ضمنا ورودی و خروجی برنامه ی شما کجاست؟
در آزمون امسال باید ++C بنویسیم ولی Basic هم در این ماراتن قبول می کنیم.
ضمنا لطفا کدتان را درست بنویسید. مثلا As به جای as
 
C

counterexample

Guest
#5
[HIGHLIGHT=#ddd9c3]ضمنا لطفا کدتان را درست بنویسید. مثلا As به جای as[/HIGHLIGHT]

اینا رو وقتی برنامه مینویسی خود سیستم درست میکنه.

راستی بیسیک تو این ماراتن قبوله یا تو مرحله 3 هم قبوله؟؟
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#6
بیسیک تو این ماراتن قبوله ولی تو المپیاد کامپیوتر ، فقط ++C قبوله
ضمنا اینها رو وقتی می نویسی سیستم درست می کنه ولی وقتی Copy-Paste میکنی درست نمی کنه
شما لطفا تو محیط VB بنویس و بعد اینجا داخل تگ کد Paste کن.
موفق باشید
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#7
vasebad گفت
کد
ِِDim a As Integer
Dim b As Integer
Dim c As Integer
Dim x as Integer
x = (c-b)/a
خیلی سوتی بدی دادی

من گفتم تا 6 رقم اعشار بعد شما نوشتی Integer؟
 
C

counterexample

Guest
#8
پس یه تایپیک دیگه درست کن و زبان بیسیک رو هم به نکاتت اضافه کن
فعلا که هیشکی چیزی نمیفرسته حداقل برای فردا درستش کن
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
#10
[center:6b17c21e34]
1
[/center:6b17c21e34]
کد
#include <iostream.h>
#include <conio.h>
main()
{
   double a,b,c,x,z,i=0,j,f=0;
   int y;
   cout<<"enter a,b,c:";
   cin>>a>>b>>c;
   x=(c-b)/a;
   z=x;
   while(f==0)
   {
	 y=x;
	 if(y==x)
	f++;
	 else
	 {
	i++;
	x*=10;
	 }
   }
   cout<<z;
   if(i==0)
	 cout<<".";
   for(j=0;j<6-i;j++)
	 cout<<"0";
   getch();
}
}
خودم نفهمیدم چی نوشتم!!
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
#11
[center:a26910ccdf]
2

این هم یه سوال آسون:
الف) برنامه ای بنویسید که با گرفتن a,b,c ریشه یا ریشه های چندجمله ای P(x)=a.x^2+b.x+c را حساب کند (معادله درجه 2 حل کند).
ب) برنامه ای بنویسید که n را گرفته و سپس ضرایب چندجمله ای P(x)=a0.x^n+a1.x^(n-1)+...+an را از ورودی گرفته و ریشه یا ریشه های آن را حساب کند.
[/center:a26910ccdf]
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
#12
SABB گفت
[center:fea6a4bc3c]
1[/center:fea6a4bc3c]
کد
#include <iostream.h>
#include <conio.h>
main()
{
double a,b,c,x;
cout<<"enter a,b,c:";
cin>>a>>b>>c;
x=(c-b)/a;
cout<<x;
getch();
}
يه سوال فني اينكه كجا مشخص شده تا 6 رقم اعشار ؟؟؟؟
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
#13
Olympiad گفت
SABB گفت
[center:67223e0e4a]
1[/center:67223e0e4a]
کد
#include <iostream.h>
#include <conio.h>
main()
{
double a,b,c,x;
cout<<"enter a,b,c:";
cin>>a>>b>>c;
x=(c-b)/a;
cout<<x;
getch();
}
يه سوال فني اينكه كجا مشخص شده تا 6 رقم اعشار ؟؟؟؟
مرسی

ویرایش شد. ولی مطمئن نیستم درسته یا نه.
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
#14

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#15
Olympiad گفت
SABB گفت
[center:4027b4b5ea]
1[/center:4027b4b5ea]
کد
#include <iostream.h>
#include <conio.h>
main()
{
double a,b,c,x;
cout<<"enter a,b,c:";
cin>>a>>b>>c;
x=(c-b)/a;
cout<<x;
getch();
}
يه سوال فني اينكه كجا مشخص شده تا 6 رقم اعشار ؟؟؟؟
متاسفانه این تا 6 رقم اعشار نیست
6 رقم اعشار یعنی float استفاده کنید ولی نمی دونم چرا یکی int استفاده می کنه ، یکی double و ...
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
#16
SABB گفت
[center:9d406bcffb]
1
[/center:9d406bcffb]
کد
#include <iostream.h>
#include <conio.h>
main()
{
   double a,b,c,x,z,i=0,j,f=0;
   int y;
   cout<<"enter a,b,c:";
   cin>>a>>b>>c;
   x=(c-b)/a;
   z=x;
   while(f==0)
   {
	 y=x;
	 if(y==x)
	f++;
	 else
	 {
	i++;
	x*=10;
	 }
   }
   cout<<z;
   if(i==0)
	 cout<<".";
   for(j=0;j<6-i;j++)
	 cout<<"0";
   getch();
}
}
خودم نفهمیدم چی نوشتم!!
اين متغير هاي اضافي چي بودن....
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#17
جواب 2

[center:0c8b3dbd36]2[/center:0c8b3dbd36]قسمت الف سوال 2 رو من قبلا نوشتم و در وبلاگم هست.

این هم کدهای مفصلش:
1- به زبان C#
کد
Console.WriteLine("We want to solve an equation like ax^2+bx+c=0. It'seasy isn't it?");
		  Console.WriteLine("Please enter a :  ");
		  double a=Convert.ToDouble( Console.ReadLine());
		  Console.WriteLine("Please enter b :  ");
		  double b = Convert.ToDouble(Console.ReadLine());
		  Console.WriteLine("Please enter c :  ");
		  double c = Convert.ToDouble(Console.ReadLine());
		  double delta = b*b-4*a*c;
		  double x1 = (-b+System.Math.Sqrt(delta))/(2*a);
		  double x2 = (-b - System.Math.Sqrt(delta)) / (2 *a);
		  Console.WriteLine("Answer: X_{1}="+x1+"  X_{2}="+x2);
		  Console.ReadLine();
2-به زبان ++C

کد
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
start:
printf("We want to solve an equation like : ax^2+bx+c=0 it's easy.");
printf("\n Please enter a:");
float a=0,b=0,c=0;
scanf("%f",&a);
printf("\n Please enter b:");
scanf("%f",&b);
printf("\n Please enter c:");
scanf("%f",&c);
float delta2 = b*b-4*a*c;
if(delta2 == 0)
{
float delta = sqrt(delta2);
float onlyx = (0-b)/(2*a);
printf("\n We have only one answer, X=%f",onlyx);
}
if(delta2>0)
{
float delta = sqrt(delta2);
float x1 = ((0-b)+delta)/(2*a);
float x2 = ((0-b)-delta)/(2*a);
printf("\n We have two answers : X1=%f\nAnd\nX2=%f",x1,x2);
}
if(delta2<0)
{
printf("\n delta is smaller than 0, We have no answers.");
}
return 0;
}
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#18
[center:dde9a6444d]2
[/center:dde9a6444d]جوابهای یک معادله در حالت کلی چی می شه؟
ببخشید یک کمی جبرم ضعبفه!
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
#19
Goharshady گفت
[center:9437da2390]2[/center:9437da2390]جوابهای یک معادله در حالت کلی چی می شه؟
ببخشید یک کمی جبرم ضعبفه!
دقيقا منظورتون چي بود؟؟/
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#20
[center:afbef8d224]2[/center:afbef8d224]
Olympiad گفت
Goharshady گفت
جوابهای یک معادله در حالت کلی چی می شه؟
ببخشید یک کمی جبرم ضعبفه!
دقيقا منظورتون چي بود؟؟/
مثلا معادله ی ax^n+bx^n-1+...+c=0 را چه جوری حل کنیم؟
 
بالا