شرط و تصميم

19
م ي م ص ت رط و ش ر ت و ي پ م ول كا ص ا1

Upload: osanna

Post on 16-Jan-2016

44 views

Category:

Documents


0 download

DESCRIPTION

شرط و تصميم. اصول كامپيوتر 1. الگوريتم اقليدس. E1 : [find remainder] Divide m by n and let r be the remainder. Clearly , 0

TRANSCRIPT

Page 1: شرط و تصميم

تصميم و شرط

كامپيوتر 1اصول

Page 2: شرط و تصميم

2

اقليدس الگوريتم

E1: [find remainder] Divide m by n and let r be the remainder. Clearly, 0 <=r <=n )

E2[it is zero?] if r =0 , the algorithm terminates, n is the answer

E3[Interchange] Set m n , n r and go back to step E1 ▐

Page 3: شرط و تصميم

3

آشنايي

به وابسته الگوريتم، دستورات از برخي اجراياست خاصي شرايط برقراري

– E2[it is zero?] if r =0 , the algorithm terminates, n is the answer

If <conditions> , then <Statements> ،شرطي است دستورات اجراي ممكن مسير

دهند تغيير را برنامه مركب يا ساده است، ممكن استفاده مورد شرط

باشد

Page 4: شرط و تصميم

4

ساده شرط

//Based on the acquired mark, is the student in the tops group?

S1[tops]: if Mark > 17 then the student is in tops

داراي شرطي هاي گزاره بيان براي ساده، شرطشود مي استفاده متغير يك

است – نادرست يا درست آن ارزش

Page 5: شرط و تصميم

5

شرطي ifدستور

true

false

grade >= 10

print “Passed”

A decision can be made on any expression.

zero - false

nonzero - true

Example:

3 - 4 is true

Page 6: شرط و تصميم

6

در شرط ++Cدستور

if ( <شرط> ) <دستور> ; if ( N > 0 ) cout << N << “positive” ;

ساده شرطهاي بيان براي مقايسه عملگرهايشوند مي استفاده

Page 7: شرط و تصميم

7

مقايسه عملگرهاي

Page 8: شرط و تصميم

8

نمونه برنامه

#include <iostream> // allows program to perform input and output

using namespace std; // program uses cout int main() { int number1; // first integer to compare int number2; // second integer to compare cout << "Enter two integers to compare: "; // prompt user for

data cin >> number1 >> number2; // read two integers from user if ( number1 == number2 ) cout << number1 << " == " << number2 << endl; if ( number1 != number2 ) cout << number1 << " != " << number2 << endl; if ( number1 < number2 ) cout << number1 << " < " << number2 << endl; if ( number1 > number2 ) cout << number1 << " > " << number2 << endl; if ( number1 <= number2 ) cout << number1 << " <= " << number2 << endl; if ( number1 >= number2 ) cout << number1 << " >= " << number2 << endl; return 0; // indicate that program ended successfully } // end function main

Page 9: شرط و تصميم

9

If …Else…

در شرط به مقيد شود …ifدستور مي اجرا زمانيشرطي گزاره ارزش باشد درست كه

دستور برقرار … if..elseبا صورت در توان ميشرط كرد ifنبودن اجرا را ديگري خاص دستورات

If student's grade >= 10Print "Passed"

Else Print "Failed"

Page 10: شرط و تصميم

10

دستور if-elseنمودار

truefalse

print “Failed” print “Passed”

grade >= 10

Page 11: شرط و تصميم

11

در شرط ++Cدستور

if ( grade >= 10 ) cout << "Passed";else cout << "Failed";

Page 12: شرط و تصميم

12

دستورات بلوك

يا درستي هنگام را دستور يك از بيش بخواهيم اگرعملگر از كنيم، اجرا شرطي استفاده } {نادرستي

كنيم مي If student's grade >= 10

Print “Congrats!"Print "Passed"

ElsePrint " Sorry!" Print "Failed“Print “Try More Next Semester!"

Page 13: شرط و تصميم

13

در دستورات ++Cبلوك

if (grade >= 10 ){cout << “Congrats!“;cout << "Passed“;

}else {

cout << " Sorry! "; cout << "Failed " ;cout << " Try More Next Semester!" ;

}

Page 14: شرط و تصميم

14

شرطي whileحلقه –تكرار

دستورwhile : است زير شكل به while (<شرط>) < دستورات بلوك يا <دستور while( x > 0 ) x = x -1 ; // decrement x

دستور :ifمشابه كه تفاوت اين با است،دستورات – اجراي بار هر از حلقه whileپس شرط

. شود مي بررسيتكرار – حلقه اجراي نظر، مورد شرط برقراري صورت در

شود مي تكراري اجراي براي توان مي دستورات بلوك از

كرد استفاده دستور چندين

Page 15: شرط و تصميم

15

تکرار حلقه whileنمودار

product <= 1000 product = 2 * producttrue

false

Page 16: شرط و تصميم

16

اقليدس الگوريتم

E1: [find remainder] Divide m by n and let r be the remainder. Clearly, 0 <=r <=n )

E2[it is zero?] if r =0 , the algorithm terminates, n is the answer

E3[Interchange] Set m n , n r and go back to step E1 ▐

Page 17: شرط و تصميم

17

اقليدس الگوريتم سازي پياده

#include <cstdlib>#include <iostream>using namespace std;int main(int argc, char *argv[])} int m , n ,r ; cout <<"Enter two positive integers: " ; cin >> m >> n ; cout << "G.C.D. " << m << " , " << n << " is " ; r = m % n ; // r is the remainder while ( r != 0 )} m = n ; n = r ; r = m % n ; { cout << n << endl ; system("PAUSE"); return EXIT_SUCCESS;{

r = m % n ; while ( r != 0 ){ m = n ; n = r ; r = m % n ; }

Page 18: شرط و تصميم

18

Edsger W. Dijkstra

Edsger Wybe Dijkstra (May 11, 1930 – August 6, 2002;) was a Dutch computer scientist. He received the 1972 A. C. M. Turing Award for fundamental contributions in the area of programming languages, and was the Schlumberger Centennial Chair of Computer Sciences at The University of Texas at Austin from 1984 until 2000.

His most famous quote is: “go to is determined harmful”

More at wikipedia

Page 19: شرط و تصميم

19

تمرين

برنامه و الگوريتم اقليدس، الگوريتم از استفاده باعدد دو مشترك مضرب كوچكترين كه بنويسيد اي

كند چاپ و محاسبه را طبيعي

:بفرستيدمن :– [email protected]ايميل– : شما ايميل ]csb1-cs-assign03[موضوع