شرط و تصميم

Post on 16-Jan-2016

44 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

تصميم و شرط

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

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 ▐

3

آشنايي

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

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

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

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

باشد

4

ساده شرط

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

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

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

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

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

6

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

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

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

7

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

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

9

If …Else…

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

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

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

Else Print "Failed"

10

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

truefalse

print “Failed” print “Passed”

grade >= 10

11

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

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

12

دستورات بلوك

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

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

Print “Congrats!"Print "Passed"

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

13

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

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

}else {

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

}

14

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

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

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

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

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

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

15

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

product <= 1000 product = 2 * producttrue

false

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 ▐

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 ; }

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

19

تمرين

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

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

:بفرستيدمن :– mansoorm@modares.ac.irايميل– : شما ايميل ]csb1-cs-assign03[موضوع

top related