מבוא כללי למדעי המחשב תרגול 2

Slides:



Advertisements
Similar presentations
For loops For loops are controlled by a counter variable. for( c =init_value;c
Advertisements

Selection Statements Selects statements to execute based on the value of an expression The expression is sometimes called the controlling expression Selection.
תכנות תרגול 2 שבוע : שבוע שעבר כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.
תכנות תרגול 2 שבוע : צור קשר מתרגל – שי גוטנר, ביה " ס למדעי המחשב. מתרגל – שי גוטנר, ביה " ס למדעי המחשב. דואר אלקטרוני : דואר.
ICS103 Programming in C Lecture 11: Recursive Functions
Declarations/Data Types/Statements. Assignments Due – Homework 1 Reading – Chapter 2 – Lab 1 – due Monday.
לולאות 02 יולי יולי יולי 1502 יולי יולי יולי 1502 יולי יולי יולי 15 1 Department of Computer Science-BGU.
Pointers Example Use int main() { int *x; int y; int z; y = 10; x = &y; y = 11; *x = 12; z = 15; x = &z; *x = 5; z = 8; printf(“%d %d %d\n”, *x, y, z);
1 Agenda - Loops while for for & while Nested Loops do-while Misc. & Questions.
Programming Variables. Named area in the computer memory, intended to contain values of a certain kind (integers, real numbers, characters etc.) They.
Computer Science 210 Computer Organization Introduction to C.
CS140: Intro to CS An Overview of Programming in C by Erin Chambers.
C programming for Engineers Lcc compiler – a free C compiler available on the web. Some instructions.
Tutorial ICS431 – Introduction to C.
Incremental operators Used as a short-hand i++ or ++i  ==  i = i + 1 i-- or --i  ==  i = i – 1 i += a  ==  i = i + a i -= a  ==  i = i - a i *=
1 C Programming Week 2 Variables, flow control and the Debugger.
C Programming Lecture 7 : Control Structures. Control Structures Conditional statement : if, switch Determine a block of statements to execute depending.
CSCI 171 Presentation 5. The while loop Executes a block as long as the condition is true general form: while (condition) { statement 1; statement 2;
Struct 1. Definition: Using struct to define a storage containing different types. For example it can contain int, char, float and array at the same time.
Functions: Part 2 of /11/10: Lecture 16 CMSC 104, Section 0101 John Y. Park 1.
/* example program to demonstrate the passing of an array */ #include int maximum( int [] ); /* ANSI function prototype */ int maximum(
While loop Write a program that asks the user to enter a number, then displays whether this number is even or odd. The program repeats until the user quits.
Divisibility Find out if a number, Numb, is divisible by another number, Div. Is 432 divisible by 3? Is 432 divisible by 4? 432 / 3 = ? 432 / 4 = ? 432.
BY ILTAF MEHDI (MCS, MCSE, CCNA)1. INSTRUCTOR: ILTAF MEHDI (MCS, MCSE, CCNA, Web Developer) BY ILTAF MEHDI (MCS, MCSE, CCNA)2 Chapter No: 04 “Loops”
POINTERS IN C Pointer Basics, Pointer Arithmetic, Pointer to arrays and Pointer in functions.
Int fact (int n) { If (n == 0) return 1; else return n * fact (n – 1); } 5 void main () { Int Sum; : Sum = fact (5); : } Factorial Program Using Recursion.
Arrays Name, Index, Address. Arrays – Declaration and Initialization int x; y[0] y[1] y[2]
 Real numbers representation - Floating Point Notation  First C Program  Variables Declaration  Data Types in C ◦ char, short, int, long, float, double,
CHAPTER 4 REPETITION STRUCTURES 1 st semester King Saud University College of Applied studies and Community Service Csc 1101 A.AlOsaimi.
Week 3.  TO PRINT NUMBERS FROM 1 TO 20  TO PRINT EVEN NUMBERS FROM 1 TO 20 2.
The Repetition control structure using while loop.
C language--Introduction. History 1970: B by Ken Thompson at AT&T Bell Lab 1972: C by Dennis Ritchie and Ken Tompson at At&T Bell Lab for UNIX 1978: “The.
C Programming.
Tutorial #4 Summer 2005.
C Programming.
Introduction to Computer Algorithmics and Programming Ceng 113
Week 4 – Repetition Structures / Loops
CS1010 Programming Methodology
2008/10/22: Lecture 12 CMSC 104, Section 0101 John Y. Park
2008/11/10: Lecture 16 CMSC 104, Section 0101 John Y. Park
Control Structures Lecture 7.
INC 161 , CPE 100 Computer Programming
Looping.
Compiled and ready to run Memory Stack /*
Computer Programming Summer 2017
C Programming Variables.
Programming application CC213
מ- C++ ל- C קרן כליף.
2008/10/22: Lecture 12 CMSC 104, Section 0101 John Y. Park
Chapter 8 The Loops By: Mr. Baha Hanene.
CSC215 Homework Homework 04 Due date: Oct 14, 2016.
Loops in C.
שיעור רביעי: פונקציות, מבוא לרקורסיה
Functions, Part 2 of 3 Topics Functions That Return a Value
A function with one argument
Default Arguments.
Incremental operators
Week 6 CPS125.
More Loops Topics Counter-Controlled (Definite) Repetition
More Loops Topics Counter-Controlled (Definite) Repetition
More Loops Topics Counter-Controlled (Definite) Repetition
Lecture 8.
CSCE 206 Lab Structured Programming in C
Functions, Part 2 of 3 Topics Functions That Return a Value
Functions, Part 2 of 3 Topics Functions That Return a Value
More Loops Topics Counter-Controlled (Definite) Repetition
Control Structure គោលបំណងនៃមេរៀន អ្វីជា Control structure ?
Presentation transcript:

מבוא כללי למדעי המחשב תרגול 2 מבוא כללי למדעי המחשב תרגול 2

שבוע שעבר כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.

פתרון #include <stdio.h> void main() { int x,y,z; x=1; y=2; printf ("x*y*z=%d\n",x*y*z); printf ("x+y+z=%d\n",x+y+z); printf ("x-y-z=%d\n",x-y-z); } נשים לב שפונקצית ההדפסה מקבלת גם ביטוי, מתמטי מחשבת אותו ומדפיסה את ערכו

קליטת ערכים למשתנים מהמשתמש #include <stdio.h> void main() { int num, num1; printf("Enter two positive numbers\n"); scanf("%d%d", &num, &num1); } הוראה למשתמש קליטת הערכים

פונקצית הקליטה scanf("%d%d", &num, &num1); & & שם הפונקציה אופי הקלט (מופיע בין גרשיים) הקלט יכנס למשתנים num num1ו- מה פשר הסימן & ?

תרגיל כתבו תוכנית הקולטת שני מספרים מהמשתמש ומדפיסה את ההפרש שלהם ואת המנה שלהם.

פתרון תרגיל הוראה למשתמש קליטת הערכים #include <stdio.h> void main() { int num, num1, s,q; printf("Enter two positive numbers\n"); scanf("%d%d", &num, &num1); s = num - num1; printf("subtraction of %d from %d is %d\n", num1, num, s); q = num / num1; printf("quotient of %d and %d is %d\n", num, num1, q); } הוראה למשתמש קליטת הערכים

תוכנית לפירוק מספר דו ספרתי #include <stdio.h> void main() { int sum, num; sum = 0; printf("Enter 2-digits number\n"); scanf("%d", &num); sum = num % 10; num = num / 10; sum = sum + num; printf("The digits sum is %d\n", sum); } ספרה ראשונה ספרה שניה

תרגיל 1 כתוב תוכנית המקבלת מספר תלת ספרתי ומדפיסה את סכום ספרותיו.

פתרון תרגיל 1 #include <stdio.h> void main() { int sum, num; printf("Enter 3-digits number\n"); scanf("%d", &num); sum = num % 10; num = num / 10; sum = sum + num % 10; printf("The digits sum is %d\n", sum); } ספרה ראשונה ספרה שנייה ספרה שלישית

סוגי משתנים אפשריים שם טווח הדפסה Bytes float 3.4E +/- 38 %f 4 double int תלוי מערכת %d * char מ 128- עד 127 %c 1

printf("1. ir = %d, fr = %f\n",ir,fr); ir = i1 / f2 ; fr = i1 / f2 ; int i1,i2,ir; float f1,f2,fr; i1=5,f2=2; f1 = (float)i1; i2 = (int)f2; ir = i1 / i2 ; fr = f1 / f2 ; printf("1. ir = %d, fr = %f\n",ir,fr); ir = i1 / f2 ; fr = i1 / f2 ; printf("2. ir = %d, fr = %f\n",ir,fr); fr = i1 / i2 ; printf("3. ir = %d, fr = %f\n",ir,fr); הגדרת משתנים אתחול משתנים הסבה, בלי זה נקבל את האזהרה: conversion from 'int' to 'float', possible loss of data חילוק – דוגמא 1 הדפסה 1. ir = 2 fr =2.500000 חילוק – דוגמא 2 הדפסה 2. ir = 2 fr =2.500000 חילוק – דוגמא 3 הדפסה 3. ir = 2 fr =2.000000

תרגיל 2 ריצת מרתון היא 26 מיילים ו 385 יארדים לתרגם מיילים ויארדים לקילומטרים ומטרים נשתמש בנוסחה הבאה: Kilometers = 1.609 (miles + yards/1760) כתוב תוכנית שמחשבת את אורך ריצת המרתון בקילומטרים.

פתרון שגוי לתרגיל 2 #include <stdio.h> int main() { int miles, yards; double kilometers; miles = 26; yards = 385; kilometers = 1.609 * (miles + yards / 1760); }

פתרון נכון לתרגיל 2 #include <stdio.h> int main() { int miles, yards; double kilometers; miles = 26; yards = 385; kilometers = 1.609 * (miles + yards / 1760.0); }

התנאי הוא אמת אם ערכו שונה מ 0 משפטי תנאי if (condition) { } else התנאי הוא אמת אם ערכו שונה מ 0 במקרה של קיום התנאי במקרה של אי-קיום התנאי

כתיבת תנאים (A == B) (A != B) (A < B) (A > B) (A <= B) (A > B || A < C) (A < B && B < C)

תרגיל 3 כתוב תוכנית הקולטת שני מספרים A ו B ומדפיסה את היחס בניהם. אם הם שווים יודפס B==A אם A גדול מ B יודפס B<A אחרת יודפס B>A.

תרגיל 3 - פתרון void main() { int A, B; printf("Enter two Numbers\n"); scanf("%d%d", &A, &B); if (A == B) printf(“A==B\n"); else if (A > B) printf(“A>B\n"); printf(“A<B\n"); }

לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא מהלולאה !

דוגמא ללולאה – חישוב עצרת #include <stdio.h> int main() { int i,n,fact = 1; printf("Enter a number\n"); scanf("%d", &n); i=1; while (i<=n) fact *= i; i++; } printf("the factorial is %d\n", fact); return 0; הגדרת משתנים קליטת ערכים אתחול מונה הלולאה עצמה הדפסת התוצאה

תרגיל 4 קלוט שני מספרים וחשב את החזקה שלהם באמצעות פעולות כפל בלבד.

פתרון תרגיל 4 #include <stdio.h> int main() { int a, b, i, power; i = 1; power = 1; printf("Enter 2 numbers\n"); scanf("%d%d", &a, &b); while(i <= b) power = power * a; i++; } printf("%d power %d is %d\n",a,b, power); return 0; תנאי הקיום של הלולאה גוף הלולאה כאשר הוא מכיל יותר מהוראה אחת נפתח קטע קוד { }

לולאה שמחשבת סכום סדרת מספרים #include <stdio.h> void main() { int num, i=1, counter, sum=0; printf("Enter the expected number of integers\n"); scanf("%d", &counter); while( i <= counter) printf("Enter a number\n"); scanf("%d", &num); sum += num; i++; } printf("The numbers sum is %d\n", sum); הגדרת משתנים ואתחולם קליטת מספר הפעמים לביצוע תנאי קיום הלולאה גוף הלולאה: קליטת המספר סיכום המספר קידום המונה הדפסת הסכום