Train

PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : تمریناب برنامه نویسی ( هر زبانی )


Ruby
12-27-2009, 03:58 PM
با سلام به شما دوستان عزیز و بازدیدکنندگان گرامی

در این تاپیک سعی داریم که در هر روز یا 2 روز یک یا چند تمرین برنامه نویسی برای شما دوستان عزیز گذاشته و این که توسط شما با هر زبان برنامه نویسی که تسلط دارید آن را حل نمایید .

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

از همه مدیران برنامه نویس سایت هم خواهش دارم که در این تاپیک شرکت کرده و پاسخگو سوالات دوستان عزیز باشند :x


این تاپیک اکه ادامه پیدا کنه مورد استقبال شما دوستان عزیز باشه انشالله تا قسمت تمرین های برنامه نوسی شبکه هم پیش خواهیم رفت . ;)

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

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



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

تمرینات امروز :
1 - برنامه ای بنویسد که عدید بالاتر از دو رقم دریافت کرده و دوباره عددی را دریافت کرده و نمایش دهد که عدد دریافتی شماره 2 در داخل عدد شماره یک است یا خیر ؟
مثال :
عدد اول : 6845
عدد دو رقمی : 45
جواب : بله

عدد اول : 68541
عدد دو رقمی : 43
جواب : خیر

2- برنامه ای که عددی رو دریافت کرده و نمایش دهد آن عدد اول است یا نه ؟

3- برنامه ای که عدد را دریافت و جذرشو حساب و میگه که این عدد صحیح است یا خیر ؟
الگریتم برنامه : الگوریتمش اینجوریه که از عدد یک شروع می کنه و تا وقتی که به جذر اون عدد نرسیده ، همین طور 2تا به عدد قبلی اضافه می کنه .
مثال :

4 = 1+3
9 = 1+3+5
16 = 1+3+5+7+9


زبان های مورد استفاده :> هر زبانی از c تا هرچی دلتون میخواد

vhdmsm
12-27-2009, 09:43 PM
تاپیک خوبیه ...
از دوستونم هم ممنونم به خاطر راه انداختن این تاپیک ...
برنامه اولی رو من نوشتم ( خیلی توپ شده ) :D
زبان برنامه نویسی : Vb

Ruby
12-27-2009, 09:58 PM
تاپیک خوبیه ...
از دوستونم هم ممنونم به خاطر راه انداختن این تاپیک ...
برنامه اولی رو من نوشتم ( خیلی توپ شده ) :D
زبان برنامه نویسی : Vb

ممنو از شما ولی اگر امکان داره واستون سورس رو در تاپیک بزارید به صورت اینکه خط به خط تعریف شده باشه . فایل نیاز نیست ضمیمه بشه فقط اینکه سورس باشه

مثال :

vb:
Dim m as Integer یک متغیر از نوع عدد

c
int c یک متغیر از نوع عدد

ruby
x=0 یک نوع از عدد

به این صورت سورس برنامه رو باز کنید در تاپیک و آن قسمتها رو توضح بدید و اینکه عزیزانی که نمیدونند و تازه داره شروع میکنند تقاوت نوشتاری زبان های برنامه نویسی رو درک کنند و یکی رو انتخاب کنند برای شروع

باز هم ممنون از شما دوست گزامی که به سوال اول جواب دادین لطفا سورس مورد نظر رو باز کنید و توضیح بدید .


خوب مشکلات برنامه شما :
1- اگه در قسمت شماره یک عدد 343434 رو وارد کنید و در قسمت دوم عدد خالی رو بزاریم باز هم یک خانه چراغ سبز نشون میده
اینا فعلا من دیدم بهر صورت خوب بود ....


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

vhdmsm
12-27-2009, 10:09 PM
اینم سورسش ...
توضیحاتش هم اضافه میکنم فردا الان نمیتونم ...
توضیحات در همین پست ادیت میشه ...
----------------------------
در حال رفع کردن مشکلات برنامه هستم ...

Ruby
12-27-2009, 10:12 PM
اینم سورسش ...
توضیحاتش هم اضافه میکنم فردا الان نمیتونم ...
توضیحات در همین پست ادیت میشه ...

ممنون از شما ......

برا بهتر شدن به نظر من و شما بهتر اینه که از این به بعد سورسها با توضیحات در پست قرار بدیم فایل ضمیمه نشه بهتره !!

باز هم ممنون از همکاری شما

b780
12-28-2009, 01:31 AM
سلام

اولی :

chomp(($i1= <STDIN>));
chomp(($i2= <STDIN>));
if (index($i1 , $i2) != -1){print ("yes")}else{print("no")};

دومی :

chomp(($i3= <STDIN>));
if(($i3 == 2) or ($i3 == 3)) {print "Yes";exit 0;}
for($w=2 , $w<$i3 , $w++){if (($i3 % $w) == 0){print "no";exit 0;}}
print "yes";


-------------
کد ها هم سادست ،چیزی نداره توضیح بدم !!
فقط index عملیات جست و جو انجام میده .
-------------
سومی هم سوال اشتباست :D ؛ بد متوجه شدید سوال رو :D .

Ruby
12-28-2009, 01:41 AM
سلام

اولی :

chomp(($i1= <stdin>));
chomp(($i2= <stdin>));
if (index($i1 , $i2) != -1){print ("yes")}else{print("no")};

دومی :

chomp(($i3= <stdin>));
if(($i3 == 2) or ($i3 == 3)) {print "yes";exit 0;}
for($w=2 , $w<$i3 , $w++){if (($i3 % $w) == 0){print "no";exit 0;}}
print "yes";


-------------
کد ها هم سادست ،چیزی نداره توضیح بدم !!
فقط index عملیات جست و جو انجام میده .
-------------
سومی هم سوال اشتباست :d ؛ بد متوجه شدید سوال رو :d .

جواب سواله اول شما شاید مشکل داشته باشه !!!

توضیح بدید سوال اول رو و بعد جواب رو .....

مرسی که در این تاپیک شرکت کردید ممنون از شما

b780
12-28-2009, 01:57 AM
سلام

خواهش میشه ؛
سوال رو توضیح بدم ؟!
یه عدد میگیره (هر رقمی) ؛ یه عدد دیگه میگیره ؛ میگه عدد دومی تو اولی هست یا نه !!
البته رشته هم قبول میکنه ، همه چی قبول میکنه !!
دو خط اول که ورودی رو از کاربر میگیره ؛
خوط سوم هم خروجی index که کارش جست و جوی رشته دومی در اولی هستش رو چک میکنه ، و نتیجه رو اعلام میکنه ;;)

Ruby
12-28-2009, 02:01 AM
سلام

خواهش میشه ؛
سوال رو توضیح بدم ؟!
یه عدد میگیره (هر رقمی) ؛ یه عدد دیگه میگیره ؛ میگه عدد دومی تو اولی هست یا نه !!
البته رشته هم قبول میکنه ، همه چی قبول میکنه !!
دو خط اول که ورودی رو از کاربر میگیره ؛
خوط سوم هم خروجی index که کارش جست و جوی رشته دومی در اولی هستش رو چک میکنه ، و نتیجه رو اعلام میکنه ;;)

مرسی منظورم همین بود که توضیح بدی ;) تا کسی خدایی نکرده متوجه نشد بدونه چی به چیه !!! ;)
در ادامه لطفا از این به بعد مقدوره نام زبان هم ذکر کنید ;)

ممنون مرسی !!!

vhdmsm
12-28-2009, 03:37 AM
اینم ادیت آخر برنامه که دیگه هیچ مشکلی نداره ...
توضیحات کامل هم در سورس برنامه داده شده ...

b780
12-28-2009, 03:24 PM
اینم ادیت آخر برنامه که دیگه هیچ مشکلی نداره ...
توضیحات کامل هم در سورس برنامه داده شده ...

سلام

بزنید 3434 , بعد چک رو بزنید ؛
بعد بزنید 34 !! :D میگه نیست !!
------------------------
شرطتوت مشکل داره !!
If t1 = t2 Then
راهنمایی :
از تابع instr استفاده کنید ؛
If InStr(1, t1, t2) Then

;;)

alpachino
12-29-2009, 05:38 PM
سلام دوستان من میخوام با vb .net و اکسس یه سیستم ثبت نام دانشجویی بنویسم اما یه مشکلی دارم کد رو نگاه کنید:
Public Class Form1
Dim constr As String
Private Sub c1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles c1.Click
constr = "provider=microsoft.jet.oledb.4.0;data source=E:\db1.mdb"
Dim myconnection As New System.Data.OleDb.OleDbConnection(constr)
Dim mycommand As New System.Data.OleDb.OleDbCommand
mycommand.Connection = myconnection
myconnection.Open()
Dim sqlstr As String
sqlstr = "insert into mytable (Name,famil,Tel,ID Daneshj,MELLI,SHENASNAME,sodor,reshte,sal vorod,sal tavalod) values ('asghar','akbari',44057876,5445,444,333,'teran',' pczad',85,22)"
mycommand.CommandText = sqlstr
mycommand.ExecuteNonQuery()
myconnection.Close()
End Sub
End Class

در خط یکی مونده به آخر هنگام فشرده شدن کامند باتن ارور میده و دستورات اجرا نمیشن!
mycommand.ExecuteNonQuery() کسی میتونه کمک کنه؟:-S خیلی واجبه:(

Ruby
12-29-2009, 06:03 PM
سلام دوستان من میخوام با vb .net و اکسس یه سیستم ثبت نام دانشجویی بنویسم اما یه مشکلی دارم کد رو نگاه کنید:
Public Class Form1
Dim constr As String
Private Sub c1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles c1.Click
constr = "provider=microsoft.jet.oledb.4.0;data source=E:\db1.mdb"
Dim myconnection As New System.Data.OleDb.OleDbConnection(constr)
Dim mycommand As New System.Data.OleDb.OleDbCommand
mycommand.Connection = myconnection
myconnection.Open()
Dim sqlstr As String
sqlstr = "insert into mytable (Name,famil,Tel,ID Daneshj,MELLI,SHENASNAME,sodor,reshte,sal vorod,sal tavalod) values ('asghar','akbari',44057876,5445,444,333,'teran',' pczad',85,22)"
mycommand.CommandText = sqlstr
mycommand.ExecuteNonQuery()
myconnection.Close()
End Sub
End Class

در خط یکی مونده به آخر هنگام فشرده شدن کامند باتن ارور میده و دستورات اجرا نمیشن!
mycommand.ExecuteNonQuery() کسی میتونه کمک کنه؟:-S خیلی واجبه:(

این تابع رو ببین :
Function GetData() As System.Data.DataSet

Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=D:\Tecnical Stu"& _
"dy\Complete_Code\Ch08\data\NorthWind.mdb"
Dim dbConnection As System.Data.IDbConnection = New System.Data.OleDb.OleDbConnection(connectionString )

Dim queryString As String = "SELECT [Employees].* FROM [Employees]"
Dim dbCommand As System.Data.IDbCommand = New System.Data.OleDb.OleDbCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection

Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter
dataAdapter.SelectCommand = dbCommand
Dim dataSet As System.Data.DataSet = New System.Data.DataSet
dataAdapter.Fill(dataSet)

Return dataSet
End Function

Ruby
12-29-2009, 06:09 PM
یکی از دوستان عزیز از من تقاضا اسکین برای ویبی کرده بود براشون گذاشتم اینجا

[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

لینک دانلود ([Only registered and activated users can see links])

alpachino
12-29-2009, 06:12 PM
دیدم اما ارتباطشو با سوالم پیدا نکردم:o:ii

Ruby
12-29-2009, 06:17 PM
دیدم اما ارتباطشو با سوالم پیدا نکردم:o:ii

ببین مبخوای به ریکورد اضافه کنی :

پس :

btnCommit.Enabled = True
btnAddNew.Enabled = False
btnUpdate.Enabled = False
btnDelete.Enabled = False

txtFirstName.Clear()
txtSurname.Clear()

If inc <> -1 Then

Dim cb As New OleDb.OleDbCommandBuilder(da)
Dim dsNewRow As DataRow

dsNewRow = ds.Tables("AddressBook").NewRow()

dsNewRow.Item("FirstName") = txtFirstName.Text
dsNewRow.Item("Surname") = txtSurname.Text

ds.Tables("AddressBook").Rows.Add(dsNewRow)

da.Update(ds, "AddressBook")

MsgBox("New Record added to the Database")

btnCommit.Enabled = False
btnAddNew.Enabled = True
btnUpdate.Enabled = True
btnDelete.Enabled = True

End If

alpachino
12-29-2009, 06:35 PM
مشکل این بود که من اسم فیلد هارو با space گذاشته بودم!!!!!!!!!!!!!

vhdmsm
12-29-2009, 07:45 PM
سلام

بزنید 3434 , بعد چک رو بزنید ؛
بعد بزنید 34 !! :D میگه نیست !!
------------------------
شرطتوت مشکل داره !!
If t1 = t2 Then
راهنمایی :
از تابع instr استفاده کنید ؛
If InStr(1, t1, t2) Then

;;)

ولی سوال این بود که عدد دو رقمی دریافت کنه و این برنامه هم همون کار رو میکنه ...
وقتی میزانی 34 باید بگه نیست نه اینکه بگه هست !!!
در مورد سوال دوم و سوم من نمیدونم چطوری باید توی vb نوشت اینها به توضیحی میدید دربارش؟

Ruby
12-29-2009, 11:13 PM
ولی سوال این بود که عدد دو رقمی دریافت کنه و این برنامه هم همون کار رو میکنه ...
وقتی میزانی 34 باید بگه نیست نه اینکه بگه هست !!!
در مورد سوال دوم و سوم من نمیدونم چطوری باید توی vb نوشت اینها به توضیحی میدید دربارش؟

برنامه شماره دو عددی رو دریافت میکنه و میگه که این عدد عدد اول هست یا نه ... ریاضی خونده باشی متوجه میشی که این عدد اول چیه ؟ :x:x
1 2 3 4 5.1 3.4

در مورد سوال سوم هم مثل سواله دوم عددی رو میگیره و جذر اون رو حساب میکنه و جواب رو تست میکنه که عدد اول هست یا نه !! باز هم فرمول ریاضی :x:x

سوالات بزودی عوض میشه ..... ;);)

vhdmsm
12-30-2009, 12:14 AM
برنامه شماره دو عددی رو دریافت میکنه و میگه که این عدد عدد اول هست یا نه ... ریاضی خونده باشی متوجه میشی که این عدد اول چیه ؟ :x:x
1 2 3 4 5.1 3.4

در مورد سوال سوم هم مثل سواله دوم عددی رو میگیره و جذر اون رو حساب میکنه و جواب رو تست میکنه که عدد اول هست یا نه !! باز هم فرمول ریاضی :x:x

سوالات بزودی عوض میشه ..... ;);)

الان فهمیدم عدد اول چیه (چه چیز جالبی هست!) ... حاجی من گفتم توی vb چطوری باید برنامه رو بنویسم که بگه عدد اول هست ...

parselearn
12-30-2009, 12:15 AM
برنامه 2:

C++


#include<conio.h>
#include<iostream.h>
#include<stdlib.h>

void Clear();
class prime
{
int x,t;
public:
void input();
void process();
void output();
};

void main()
{
int cmd;
prime p;
cout<<"Program Name: Prime Number.";
while(1)
{
cout<<"\n\n1: Input Number\n";
cout<<"2: Process Number\n";
cout<<"3: output Number\n";
cout<<"4: Clear Screen\n";
cout<<"5: Exit Program\n";
cout<<"Command: ";
cin>>cmd;
switch (cmd)
{
case 1:p.input();break;
case 2:p.process();break;
case 3:p.output();break;
case 4:Clear();break;
case 5:exit(1);break;
}
}
}

void prime::input()
{
cout<<"\nEnter Number: ";
//گرفتن عدد cin>>x;
}

void prime::process()
{
int i;
//شرط اول بودن t=1;
for(i=0;i<=x/2 && t;i++)
محاسبه باقيمانده if(x%2==0)
t=0;
}

void prime::output()
{
if(t==1)
cout<<endl<<"Prime.";
else
cout<<endl<<"Not Prime.";
}

void Clear()
{
clrscr();
}


VB6
الگوريتم همون بالايي

Dim m As Integer
Dim b As Boolean
b = True
گرفتن عدد m = InputBox("Enter Number")
For i = 0 To (m / 2)
If b = True Then
محاسبه باقيمانده If (m Mod 2 = 0) Then b = False
End If
Next i
If b = True Then
MsgBox "Prime."
Else
MsgBox "Not Prime."
End If




برنامه 3

Dim m As Integer
Dim b As Boolean
b = True
m = InputBox("Enter Number")
جزر m = Sqr(m)
For i = 0 To (m / 2)
If b = True Then
If (m Mod 2 = 0) Then b = False
End If
Next i
If b = True Then
MsgBox "Prime."
Else
MsgBox "Not Prime."
End If

Ruby
12-30-2009, 01:18 AM
الان فهمیدم عدد اول چیه (چه چیز جالبی هست!) ... حاجی من گفتم توی vb چطوری باید برنامه رو بنویسم که بگه عدد اول هست ...

از نمونه برنامه آقای parselearn در بالا استفاده کن عزیزم ;):x

parselearn
12-30-2009, 08:33 PM
سوال 3 صفحه 1 با صفحه 2 فرق مي كنه :ii
جواب سوال 3 صفحه 1


Dim m As Single
گرفتن عدد
m = InputBox("Enter Number")

جزر
m = Sqr(m)

پيدا كردن كاراكتر "." در عدد اعشاري
خروجي در صورتي 0 باشد معلومه كه كاراكتر وجود ندارد
در غير اين صورت وجود داره
If InStr(1, CStr(m), ".") = 0 Then

MsgBox "Int"
Else
MsgBox "Not Int"
End If

Ruby
01-01-2010, 05:24 AM
تمرینات برنامه نویسی :

1 - برنامه ای بنویسید که 100 عدد را گرفته، بزرگ ترین و کوچک ترین آنها را چاپ کند.

2 - برنامه ای بنویسید که 100 عدد را از کاربر گرفته، تعداد اعداد مثبت و منفی و صفر و اعداد مابین 5 تا 15 را محاسبه کند.

3 - برنامه ای که 20 عدد گرفته و در یک آرایه قرار دهد و یک عدد دیگر مثل x را بخواند و مشخص کند x چند بار در آرایه تکرار شده است؟

موفق باشید

زمان دو روز بعد از دو روز سوالات جدید مطرح میشه
سوالات بعدی مربوط به سیستم عامل و کار با فایلها