need help in pascal plz guys - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

need help in pascal plz guys


dartinations

Recommended Posts

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

ועכשיו לי בעיה כי אני לא ממש מבין את זה ו...

יש לי עבודה להגשה בפסקל

ויש תרגיל שאני טוחן עליו כבר איזה שעה ולא הולך

אז בבקשה אם מישהו יוכל לעזור לי פה אני ממש יעריך את זה: הנה

פתח וישם אלגורים אשר יציג כפלט את סכום כול המספרים מ 1 עד 400 אשר להם שורש ריבועי שלם. (כלומר תחשב ותדפיס את הסכום : 1+4+9...400

בבקשה תעזרו לי

קישור לתוכן
שתף באתרים אחרים

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

האלגוריתם היעיל הוא 

                           בדוק מה השורש של המספר 1 ואחסן אותו במשתנה X

                           קח את החלק השלם של משתנה  X עריכה: ובדוק אם הוא שווה X אם הוא שווה אחסן אותו בX אם לא הוסף 1 ואחסן אותו בX

                           בדוק מה השורש של 400 ואחסן אותו בY

                           קח את החלק השלם של משתנה Y ואחסן אותו בY

                           אפס את משתנה SUM

                           לולאה שמתחילה בX ומסתיימת בY

                            קח את הערך במשתנה X העלה אותו בריבוע פלוס SUM ואחסן אותו בSUM 

                             הדפס את הערך של SUM אחרי הלולאה.

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

                               

קישור לתוכן
שתף באתרים אחרים

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

האלגוריתם היעיל הוא 

                           בדוק מה השורש של המספר 1 ואחסן אותו במשתנה X

                           קח את החלק השלם של משתנה  X ואחסן אותו בX

                           בדוק מה השורש של 400 ואחסן אותו בY

                           קח את החלק השלם של משתנה Y ואחסן אותו בY

                           אפס את משתנה SUM

                           לולאה שמתחילה בX ומסתיימת בY

                            קח את הערך במשתנה X העלה אותו בריבוע פלוס SUM ואחסן אותו בSUM 

                             הדפס את הערך של SUM אחרי הלולאה.

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

                               

אחי זה לא יוצא ככה

בדקתי בתוכנית פסקל

קישור לתוכן
שתף באתרים אחרים

אחי זה לא יוצא ככה

בדקתי בתוכנית פסקל

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

סתם ככה התוכנית שכתבתי היא כללית ומתאימה עבור כל קלט..........רק שיש טעות קטנה בשורה הראשונה ותיקנתי אותה אבל הרעיון נכון.

ולזה שלפניי התוכנית שכתבת שגויה.....מכיון שהוא לא ביקש את סכום הריבועים של כל המספרים מ1 עד 400 הוא ביקש את סכום המספרים המספרים אשר יש להם שורש שלם והוא ביקש אלגוריתם לא תוכנית.

קישור לתוכן
שתף באתרים אחרים

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

ועכשיו לי בעיה כי אני לא ממש מבין את זה ו...

יש לי עבודה להגשה בפסקל

ויש תרגיל שאני טוחן עליו כבר איזה שעה ולא הולך

אז בבקשה אם מישהו יוכל לעזור לי פה אני ממש יעריך את זה: הנה

פתח וישם אלגורים אשר יציג כפלט את סכום כול המספרים מ 1 עד 400 אשר להם שורש ריבועי שלם. (כלומר תחשב ותדפיס את הסכום : 1+4+9...400

בבקשה תעזרו לי

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

1) הדרך הלא הפחות יעילה

program count;

var num,i:integer;

shores:integer;

begin

num:=0;

for i:=1 to 400 do

begin

shores:=sqrt(i);

if (( shores mod 2 ) =0) then

num:=num+i;

end;

writeln('הסכום הוא, num);

end.

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

שים לב ששורש של 1 הוא אחד ושל 400 הוא 20 כלומר אתה צריך לעבור בין 1 עד 20 להכפיל אותם בעצמם ולחבר ולהדפיס את הסכום.

קישור לתוכן
שתף באתרים אחרים

לא כך בודקים אם למספר יש שורש שלם. לדוגמא: השורש של 9 הוא 3, והוא לא מתחלק ב-2.

ראשית, המשתנה shoresh צריך להיות בכלל real, כי שורש יכול להיות לא שלם. התנאי הנכון בבדיקה צריך להיות if trunc (shoresh) = shoresh then. הפונקציה trunc 'מקצצת' ממספר את החלק השברי שלו. דוגמא: 4.5 הופך ל-4. לא נגעתי בפסקל שנה, אז אולי לא השתמשתי בפונקציה בדיוק כמו שצריך, אבל זה העיקרון.

כדאי גם להתרגל לתת שמות משמעותיים למשתנים: ל-num הייתי קורא sum (סכום).

קישור לתוכן
שתף באתרים אחרים

לא כך בודקים אם למספר יש שורש שלם. לדוגמא: השורש של 9 הוא 3, והוא לא מתחלק ב-2.

ראשית, המשתנה shoresh צריך להיות בכלל real, כי שורש יכול להיות לא שלם. התנאי הנכון בבדיקה צריך להיות if trunc (shoresh) = shoresh then. הפונקציה trunc 'מקצצת' ממספר את החלק השברי שלו. דוגמא: 4.5 הופך ל-4. לא נגעתי בפסקל שנה, אז אולי לא השתמשתי בפונקציה בדיוק כמו שצריך, אבל זה העיקרון.

כדאי גם להתרגל לתת שמות משמעותיים למשתנים: ל-num הייתי קורא sum (סכום).

אני חושב שתנאי יותר נכון הוא

if frac(shoresh)=0.0 then

. אני לא זוכר אם

4.0=4 בפסקל, אבל אם כן אז התנאי שלך גם הוא נכון.

קישור לתוכן
שתף באתרים אחרים

לא כך בודקים אם למספר יש שורש שלם. לדוגמא: השורש של 9 הוא 3, והוא לא מתחלק ב-2.

ראשית, המשתנה shoresh צריך להיות בכלל real, כי שורש יכול להיות לא שלם. התנאי הנכון בבדיקה צריך להיות if trunc (shoresh) = shoresh then. הפונקציה trunc 'מקצצת' ממספר את החלק השברי שלו. דוגמא: 4.5 הופך ל-4. לא נגעתי בפסקל שנה, אז אולי לא השתמשתי בפונקציה בדיוק כמו שצריך, אבל זה העיקרון.

כדאי גם להתרגל לתת שמות משמעותיים למשתנים: ל-num הייתי קורא sum (סכום).

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

אבל הדרך השנייה שלי עדיין נכונה.

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

שים לב ששורש של 1 הוא אחד ושל 400 הוא 20 כלומר אתה צריך לעבור בין 1 עד 20 להכפיל אותם בעצמם ולחבר ולהדפיס את הסכום.

program count;

var i,sum:integer;

begin

sum:=0;

for i:=1 to 20 do

sum:=sum+(i*i);

writeln(sum);

end.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...