קצת עזרה בPascal

זה המקום לכל נושא שאינו מתאים לאף פורום אחר, כולל דיונים בנושאים שאינם קשורים למג'יק.

מנהלים: kabanist, Sir Psycho Sexy

שלח תגובה
LunaTic
MTGil Wizard
הודעות: 1165
הצטרף: 01/5/2005 , 10:39
אמר/ה תודה: 0
קיבל תודה: 0

קצת עזרה בPascal

שליחה על ידי LunaTic »

יש לי מחר בוחן על כל הנושא של If-then-else ויש שני דברים שלא נקלטו לי ממש טוב:
1. מתי אני צריך להשתמש בBegin בתוך תווית של If?
2. איך כל העניין של If-then-else נכנס לתוך טבלת מעקב?
דוגמאות יתקבלו בברכה

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

LunaTic
קובי שפירא כתב:ראו אותי, חושו אותי!
Arie
מארגן טורנירים בדרום
הודעות: 4472
הצטרף: 20/3/2003 , 21:46
מיקום: באר שבע
אמר/ה תודה: 0
קיבל תודה: 0

שליחה על ידי Arie »

אתה צריך לכתוב BEGIN כשאר יש לך יותר מפקודה אחת בכל מקום, אני מתכוון שגם ב IF גם בWHILE וכו' לדוגמא
if x>2 then
writeln(x);
או
if x>2 then
begin
write(x);
writeln;
end;
לגבי טבלת המעקב, אתה צריך לכתוב עמודה שנקראת 'תנאי' ואז כשאתה מגיע לIF אתה כותב שם אמת או שקר וממשיך בהתאם. לגבי המספרים IF יהווה (1) משל עצמו ובשורה שלו יהיה כתוב אמת או שקר, אם אמת אז אתה ממשיך ל1.1 בקר לפעולה שיש בTHEN או לפקודה הראשונה לאחר הBEGIN, אם יש לך ELSE אז הוא (2) עצמאי ואתה ממשיך ל2.1 וכו' מהפקודה הראשונה שלו או מהפקודה הראשונה שיש בBEGIN שלו אם יש כזה.

בהצלחה :)
Banuni
TimeShifted Banana
הודעות: 3479
הצטרף: 17/1/2004 , 20:48
מיקום: אביחיל(עמק חפר)
אמר/ה תודה: 0
קיבל תודה: 0
יצירת קשר:

שליחה על ידי Banuni »

אמממ האמת שאנחנו לא עושים ככה טבלת מעקב...=\

אנחנו פשוט פועלים לפי התנאי...
למשל במקרה של
if x>3
writeln('gagaga')
else writeln('bobobo');


אז בטבלה (אנחנו לפחות) כותבים לפי מה שיצא,זאת אומרת...אם לפני זה נקלט לתוך X מס' שגדול מ 3 אז כותבים(שוב אצלינו) בעמודת הפלט gagaga ואם לא גדול משלוש רושמים בעמודת הפלט bobobo לא יודע איך אצליכם עשיתם את זה...
אההה כן בהצלחה....=]

אדית:אריה,באיזה כתה למדת לכתוב ככה טבלת מעקב??=[ כנראה שאצלינו בבצפר עילגים או שאתם פשוט חפרתם על זה יותר מדי..=]
Sir Psycho Sexy כתב: אני ממליץ לך לטוס להודו, בטוח גדל שם משהו שיכול להפוך אותך בחזרה לילד נורמלי.
Y
מנהל טכני
הודעות: 10415
הצטרף: 27/5/2003 , 10:58
מיקום: רמת גן
אמר/ה תודה: 0
קיבל תודה: 0
יצירת קשר:

שליחה על ידי Y »

או שהוא עשה איזה 5000 יח"ל...
Sir Bagelus
Sesame Street Lord
הודעות: 2161
הצטרף: 07/12/2004 , 18:36
מיקום: גבעת שמואל
אמר/ה תודה: 0
קיבל תודה: 0
יצירת קשר:

שליחה על ידי Sir Bagelus »

בגדול הIF הוא משתנה בולאני (שמחזיר TRUEאוFALSE)
הוא נכנס לטבלה כאחד כזה
Banuni
TimeShifted Banana
הודעות: 3479
הצטרף: 17/1/2004 , 20:48
מיקום: אביחיל(עמק חפר)
אמר/ה תודה: 0
קיבל תודה: 0
יצירת קשר:

שליחה על ידי Banuni »

אממ אנחנו לא למדנו להחשיב את הif כמשתנה בטבלה....
Sir Psycho Sexy כתב: אני ממליץ לך לטוס להודו, בטוח גדל שם משהו שיכול להפוך אותך בחזרה לילד נורמלי.
Master_Blaster
Guardian of Law
הודעות: 957
הצטרף: 25/7/2004 , 23:13
אמר/ה תודה: 0
קיבל תודה: 0

שליחה על ידי Master_Blaster »

אבירם, אנחנו באותה כיתה... יכולת פשוט להתקשר =/
בכ"א... בטבלה אתה פשוט עושה עמודה חדשה לכל תנאי, ואתה רושם בה אמת או שקר בהתאם להתממשות התנאי. ואם אני לא טועה, אתה לא יכול להכניס באותה טבלה גם את התנאי שמתקיים וגם את ה"אחרת", אבל אני לא סגור על זה, אז יאללה אנשים, האירו את עינינו התועות/טועות/תוהות. :wink:

Edit: Reminder - I should check my mail before the "You should have called me first xD"..
Navidshi כתב: חלק מהילדים הטיפשים של היום יהיו המבוגרים החכמים של מחר ואלו מאיתנו שכבר הספיקו להחכים חייבים להם את ההזדמנות.
Antrax
MTGil Wizard
הודעות: 6939
הצטרף: 20/10/2001 , 2:00
אמר/ה תודה: 0
קיבל תודה: 0
יצירת קשר:

שליחה על ידי Antrax »

if זה לא משתנה.
מלמדים היום בבתי ספר דרך פורמלית לעשות טבלת מעקב? איזה קשקוש.
Sir Bagelus
Sesame Street Lord
הודעות: 2161
הצטרף: 07/12/2004 , 18:36
מיקום: גבעת שמואל
אמר/ה תודה: 0
קיבל תודה: 0
יצירת קשר:

שליחה על ידי Sir Bagelus »

Antrax כתב:if זה לא משתנה.
מלמדים היום בבתי ספר דרך פורמלית לעשות טבלת מעקב? איזה קשקוש.
כמובן ש IF זה לא משתנה אבל לרמה שתיכון אפשר להתייחס שמשתנה בולאני
Arie
מארגן טורנירים בדרום
הודעות: 4472
הצטרף: 20/3/2003 , 21:46
מיקום: באר שבע
אמר/ה תודה: 0
קיבל תודה: 0

שליחה על ידי Arie »

זה לא קשור באיזו "רמה", IF זה לא משתנה ואין שום סיבה להתייחס אליו ככה.
אני עשיתי 5 יח', master_blaster הסביר בדיוק אותו דבר כמוני...
קובי שפירא
A Rolling Stone
הודעות: 1393
הצטרף: 10/3/2004 , 11:16
מיקום: שהם
אמר/ה תודה: 0
קיבל תודה: 0

שליחה על ידי קובי שפירא »

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

עמודה ראשונה:
שורת קוד נוכחית, לדוגמא:
writeln('kobi');

עמודה שנייה:
ערכם של כל המשתנים. אם יש שינוי בערכם לפי השורה הנוכחית, מעדכנים אותם, ואם לא כותבים את מה שהיה נכון בשורה הקודמת. לדוגמא:
1) x=3, y=5
2) x=9, y=5

עמודה שלישית:
פלט של השורה הנוכחית. לדוגמא:
kobi had a great day
Arie
מארגן טורנירים בדרום
הודעות: 4472
הצטרף: 20/3/2003 , 21:46
מיקום: באר שבע
אמר/ה תודה: 0
קיבל תודה: 0

שליחה על ידי Arie »

טוב, אני מניח שבבי"ס זה לא כ"כ משמעותי כי אני לא עשיתי ככה אלא עשיתי עמודה נפרדת לכל משתנה ולא חזרתי על ערך אם הוא לא שונה, זה ממש נשמע מוזר כי אתה יכול להתבקש לעשות את זה על תוכנית ענקית ואז תחזור על 20 משתנים כל פעם?
וגם אין לך עמודה לתנאי...
Antrax
MTGil Wizard
הודעות: 6939
הצטרף: 20/10/2001 , 2:00
אמר/ה תודה: 0
קיבל תודה: 0
יצירת קשר:

שליחה על ידי Antrax »

Sir Bagelus כתב:
Antrax כתב:if זה לא משתנה.
מלמדים היום בבתי ספר דרך פורמלית לעשות טבלת מעקב? איזה קשקוש.
כמובן ש IF זה לא משתנה אבל לרמה שתיכון אפשר להתייחס שמשתנה בולאני
לא, אי אפשר. זה פשוט לא אותו דבר. קודם כל, ביטוי זה לא משתנה, וחוץ מזה, if זה גם לא ביטוי בוליאני, אלא יש בו ביטוי בוליאני.
קובי שפירא
A Rolling Stone
הודעות: 1393
הצטרף: 10/3/2004 , 11:16
מיקום: שהם
אמר/ה תודה: 0
קיבל תודה: 0

שליחה על ידי קובי שפירא »

נכון, רתה צודק, עושים עמודה נפרדת לכל משתנה. זה היה לי ברור, אז שחכתי.
לגבי לחזור או לא לחזור, אני מניח שהבוחן יקבל את שתי הדרכים, אז מה זה משנה. בעיקר שיבינו אותך.
Arie
מארגן טורנירים בדרום
הודעות: 4472
הצטרף: 20/3/2003 , 21:46
מיקום: באר שבע
אמר/ה תודה: 0
קיבל תודה: 0

שליחה על ידי Arie »

זה משנה במידה שבה על עניין פורמלי בלבד משנה. כלומר לא יותר מדי, תלוי איפה אתה משתמש בזה ומה נח למי שיבדוק או למי שעושה.
Master_Blaster
Guardian of Law
הודעות: 957
הצטרף: 25/7/2004 , 23:13
אמר/ה תודה: 0
קיבל תודה: 0

שליחה על ידי Master_Blaster »

אריה - פירשתי את הדברים שלך אחרת ולכן כנראה חזרתי עליהם, אתה צודק. :wink:
Navidshi כתב: חלק מהילדים הטיפשים של היום יהיו המבוגרים החכמים של מחר ואלו מאיתנו שכבר הספיקו להחכים חייבים להם את ההזדמנות.
Personal_Incarnation
MTGil Apprentice
הודעות: 37
הצטרף: 25/7/2004 , 10:42
אמר/ה תודה: 0
קיבל תודה: 0
יצירת קשר:

שליחה על ידי Personal_Incarnation »

If ______Then


Else

אם אחרי ה Then יש לך 2 שורות ומעלה, אז begin
אותו הדבר אם Else

לדוגמה

Writeln ("insert number")
Readln(x)
If x>10 then
Begin
Write(x)
Write(x)
Write(x)
End;
Else
Begin
Write(10)
Write(10)
Write(10)
End;


ובקשר לטבלת מעקב, אתה רושם את התנאי שלך כעמודה
למשל בדוגמה שנתתי לך, X>10
אתה עוקב אחרי המתרחש בתוכנית, וכשאתה מגיע לתנאי אתה רושם בעמודת התנאי אם זה True או False
וממשיך לעקוב לפי זה, במקרה של אמת ל Then
במקרה של שקר אז ל Else

אתה רק משתמש בעמודה של התנאי כדי להראות אם זה אמת או לא.

מקווה שעזרתי, ובהצלחה
If i needed you dead, you would already be dead.
LunaTic
MTGil Wizard
הודעות: 1165
הצטרף: 01/5/2005 , 10:39
אמר/ה תודה: 0
קיבל תודה: 0

שליחה על ידי LunaTic »

תודה לכולם. הלך מעולה :D
קובי שפירא כתב:ראו אותי, חושו אותי!
שלח תגובה