Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

מבוא לשפות תכנות באמצעות שפת C פרק 10 – מספרים Numbers

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

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

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

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

מספרים בשפת C

כעת בואו נראה כיצד להזין סוגי מספרים שונים בשפת C:


#include <stdio.h>

int main() {
short s;
int i;
long l;
float f;
double d;

s = 10;
i = 1000;
l = 1000000;
f = 230.47;
d = 30949.374;

printf( "s: %d\n", s);
printf( "i: %d\n", i);
printf( "l: %ld\n", l);
printf( "f: %.3f\n", f);
printf( "d: %.3f\n", d);
}

וכאשר נריץ את התוכנית נקבל את התוצאה הבאה:

s: 10
i: 1000
l: 1000000
f: 230.470
d: 30949.374

שימו לב כי בתוכנית פשוטה זו, בפקודות ה-printf השתמשנו בסמל 3f.% על מנת להדפיס ערך float ו-double, כאשר סמל זה מסמל את מספר הספרות שיוצג לאחר הנקודה.

פעולות מתמטיות על מספרים

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

לפניכם תוכנית פשוטה שתדגים לנו מספר פעולות מתמטיות. יש לכלול את הכותרת <math.h> בדיוק כפי שאנו כותבים בכל פעם stdio.h.


#include <stdio.h>
#include <math.h>

int main() {
short s;
int i;
long l;
float f;
double d;

printf( "sin(s): %f\n", sin(10));
printf( "abs(i): %f\n", abs(1000));
printf( "floor(f): %f\n", floor(230.47));
printf( "sqrt(l): %f\n", sqrt(1000000));
printf( "pow(d, 2): %f\n", pow(2.374, 2));
}

וכאשר נריץ את התכנית נקבל את התוצאה הבאה:

sin(s): -0.544021
abs(i): -0.544021
floor(f): 230.000000
sqrt(l): 1000.000000
pow(d, 2): 5.635876

 

מספרים בשפת Java

זוהי דוגמה של אותה התוכנית, כאשר הפעם היא נכתבה בשפת Java שלה כמעט אותם סוגי נתונים כמו לשפת C:


public class Main {
public static void main(String []args) {
short s;
int i;
long l;
float f;
double d;

s = 10;
i = 1000;
l = 1000000L;
f = 230.47f;
d = 30949.374;

System.out.format( "s: %d\n", s);
System.out.format( "i: %d\n", i);
System.out.format( "l: %d\n", l);
System.out.format( "f: %f\n", f);
System.out.format( "d: %f\n", d);
}
}

שכאשר נריץ אותה נקבל את התוצאה הרצויה:
s: 10
i: 1000
l: 1000000
f: 230.470001
d: 30949.374000

שפת Java מכילה אף היא מבחר של פונקציות מתמטיות שתוכלו להשתמש בהם באותו האופן כמו בשפת C

מספרים בשפת Python

Python היא שפה שעובדת באופן שונה מ-C או Java. היא מקטלגת מספרים לפי intlongfloat ו-complex. לפניכם מספר דוגמאות למספרים בשפת Pyhton:

זוהי דוגמה של אותה התוכנית, כאשר הפעם היא נכתבה בשפת Python:


s = 10
i = 1000
l = 1000000
f = 230.47
d = 30949.374

print ("s: ", s)
print ("i: ", i)
print ("l: ", l)
print ("f: ", f)
print ("d: ", d)

שכאשר נריץ אותה נקבל את התוצאה הרצויה:

s: 10
i: 1000
l: 1000000
f: 230.47
d: 30949.374

שפת Python מכילה אף היא מבחר של פונקציות מתמטיות שתוכלו להשתמש בהם באותו האופן כמו בשפת C

הזמינו אותי לכוס קפה
buy me coffee

רוצים לשתף את המדריך?

אהבתכם את המדריך? פתר לכם תקלה? הזמינו את כותב המדריך לכוס קפה

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

ניתן לתרום 10, 15, 20 או כל סכום אחר שתרצו באמצעות כרטיס אשראי \ Paypal

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

אהבתכם את המדריך? פתר לכם תקלה? הזמינו את כותב המדריך לכוס קפה

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