לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #9  
ישן 28-04-2006, 08:03
  ben chen ben chen אינו מחובר  
 
חבר מתאריך: 14.11.05
הודעות: 56
אם אתה צריך דרך לעשות שורש..
בתגובה להודעה מספר 1 שנכתבה על ידי Togepi0304 שמתחילה ב "עזרה בשפת C - חישוב שורש - אלגריתם"

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

דוגמא א':
מצא ללא מחשבון את השורש הריבועי של 1197616.
פתרון:
תחילה נחלק את הספרות שך המספר לזוגות החל מצד ימין נקבל: 11|97|16(המספרים קצת הפוכים בעיקרון תחלק לזוגות).
תהליך הוצאת השורש:
בשלב ראשון נסתכל במספר שבזוג השמאלי שהוא 11 ונחפש את המספר הגדול ביותר שריבועו קטן או שווה ל 11. המספר הוא 3 וריבועו 9. נחסר מ 11 9(כמו בחילוק) = 2. עכשיו נרשום ליד 2 (התוצאה) את הזוג הבא שהוא 97.. 297 עכשיו נכפול פי שתיים את התוצאה הקודמת לפני החיסור שהיא 3.. ונקבל 6. עכשיו נחפש את המספר החד ספרתי הגדול ביותר שאם נעשה נחבר אותו לשש בשרשור ונכפיל אותו במספר ייצא המספר הקטן או השווה ל 297. או בקיצר :





(60+_)*_ <= 297







_= המספר החד ספרתי הגדול ביותר שייקיים את זה..



ובמקרה הזה זה כמובן 4 הנה תראו 297 => 4*64 = 256.
נרשום 4 מימין לתוצאה הקודמת שהיא 3.. ויצא לנו 34. עכשיו נבצע חיסור 297-256=41. שוב נרשום את הזוג הבא שהוא 16 ויצא 4116. עכשיו נכפיל את התוצאה שהיא 34 * 2= 68. שוב נחפש את המספר החד ספרתי הגדול ביותר שנכפול אותו למספר התלת ספרתי שיווצר אם נחבר ל 680 את המספר החד ספרתי נקבל מספר כמה שיותר קרוב (מלמטה ויהיה קטן) או שווה ל 4116.תסתכלו למעלה. כמובן זה 6... 686* 6 = 4116... קיבלנו שווה נכון זה אומר שזה שורש שלם וגמרנו תתרגיל מצמידים עכשיו 6 לתוצאה הקודמת שהיא 34 ויצא 346... אז זה אומר ששורש 119716 שווה ל 346.

נערך לאחרונה ע"י ben chen בתאריך 28-04-2006 בשעה 08:28.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 28-04-2006, 11:07
  ben chen ben chen אינו מחובר  
 
חבר מתאריך: 14.11.05
הודעות: 56
ד"א
בתגובה להודעה מספר 9 שנכתבה על ידי ben chen שמתחילה ב "אם אתה צריך דרך לעשות שורש.."

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




קוד:
#include <conio.h>
#include <stdio.h>
void main()
{
// הגדרת משתנים לקיחת נתונים
int a,b;
string[] c;
bool d;
int e;
scanf("%d",&a);
b = a.Length;//לא בטוח שקיים.. בקיצר האורך..
//חילוק לזוגות
if (b%2 == 1)
{
d = true;
b--;
}
if(d == false)
c = new array[b.length];
else
c = new array[b.length+1];
for(int i = 0;i < b.Length;i++)
{
c[i] = a האותיות שנמצאות במקום i*2,i*2+1;
}
if(d == true)
c[b] = a האות האחרונה.
// התחלת הפיתרון
for(int i = 0; i < c.count/*אורך המערך*/;i++)
{
for(int ind = 0; ind< 10;ind++)
{
if((ind+1)^2 > int.paras(c[i]))
{
e = ind;
ind = 9;
}
}
}
}





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

נערך לאחרונה ע"י ben chen בתאריך 28-04-2006 בשעה 11:10.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #18  
ישן 28-04-2006, 14:00
  ben chen ben chen אינו מחובר  
 
חבר מתאריך: 14.11.05
הודעות: 56
הנה הוא..
בתגובה להודעה מספר 1 שנכתבה על ידי Togepi0304 שמתחילה ב "עזרה בשפת C - חישוב שורש - אלגריתם"

CODE]



#include <conio.h>

#include <stdio.h>
void main()
{
// הגדרת משתנים לקיחת נתונים
int a,b,e,f,g;
string[] c;
bool d;
string Answer = "";
scanf("%d",&a);
b = a.Length;//לא בטוח שקיים.. בקיצר האורך..
//חילוק לזוגות
if (b%2 == 1)
{
d = true;
b--;
}
if(d == false)
c = new array[b.length];
else
c = new array[b.length+1];
for(int i = 0;i < b.Length;i++)
{
c[i] = a האותיות שנמצאות במקום i*2,i*2+1;
}
if(d == true)
c[b] = a האות האחרונה.
// התחלת הפיתרון


for(int ind = 0; ind< 10;ind++)

{
if((ind+1)^2 > int.paras(c[0]))
{
e = ind;
ind = 9;
}
}


f = c[0] - e;

answer += e.ToString()






for(int i = 1; i < c.count/*אורך המערך*/;i++)
{
c[i] = f.ToString() + c[i];//עכשיו נרשום ליד 2 (התוצאה) את הזוג הבא שהוא 97
e *= 2;
for(int ind = 0; ind<10;ind++)
{
if((ind+1 + e*10)*(ind+1) > c[i]))
{
g = ind;
}
Answer += g;
e = (g+ e*10)*g;
e = c[i] - e;
c[i] = e.ToString();
e = int.paras(Answer)*2;
c[i+1] = c[i]+c[i+1];
}
}
}
[/CODE]


אני חושב שזה אמור לפעול..
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #19  
ישן 28-04-2006, 14:01
  ben chen ben chen אינו מחובר  
 
חבר מתאריך: 14.11.05
הודעות: 56
הנה הוא..
בתגובה להודעה מספר 1 שנכתבה על ידי Togepi0304 שמתחילה ב "עזרה בשפת C - חישוב שורש - אלגריתם"

קוד:
#include <conio.h> #include <stdio.h> void main() { // הגדרת משתנים לקיחת נתונים int a,b,e,f,g; string[] c; bool d; string Answer = ""; scanf("%d",&a); b = a.Length;//לא בטוח שקיים.. בקיצר האורך.. //חילוק לזוגות if (b%2 == 1) { d = true; b--; } if(d == false) c = new array[b.length]; else c = new array[b.length+1]; for(int i = 0;i < b.Length;i++) { c[i] = a האותיות שנמצאות במקום i*2,i*2+1; } if(d == true) c[b] = a האות האחרונה. // התחלת הפיתרון
for(int ind = 0; ind< 10;ind++) { if((ind+1)^2 > int.paras(c[0])) { e = ind; ind = 9; } }
f = c[0] - e; answer += e.ToString()
for(int i = 1; i < c.count/*אורך המערך*/;i++) { c[i] = f.ToString() + c[i];//עכשיו נרשום ליד 2 (התוצאה) את הזוג הבא שהוא 97 e *= 2; for(int ind = 0; ind<10;ind++) { if((ind+1 + e*10)*(ind+1) > c[i])) { g = ind; } Answer += g; e = (g+ e*10)*g; e = c[i] - e; c[i] = e.ToString(); e = int.paras(Answer)*2; c[i+1] = c[i]+c[i+1]; } } }









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

נערך לאחרונה ע"י ben chen בתאריך 28-04-2006 בשעה 14:06.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #26  
ישן 28-04-2006, 22:09
  Togepi0304 Togepi0304 אינו מחובר  
 
חבר מתאריך: 16.09.05
הודעות: 196
אוקיי -
בתגובה להודעה מספר 25 שנכתבה על ידי DrTempi שמתחילה ב "השאלה שלך מוזרה מאד"

אנחנו בכיתה יצרנו טבלה, עם a, b, c, f(a), f(b), f(c)
כאשר c שווה ל (a+b) /2
כאשר b החדש שווה ל c הקודם ו a קבוע
נניח, אני רוצה לחשב שורש של 5
a=2
b=3
c=(a+b)/2
b=c
וזה חוזר על עצמו שוב ושוב
וכמו כן f(x)=x*x-5
נניח אז מציבים את a במקום x מקבילם f(a)
אותו דבר עם f(b) f(c)
ומה שהמורה עשה איתנו זה את השורה הראשונה של הטבלה ואז עשינו בכיתה גרף כאשר חיברנו שלוש נקודות בו, שיעור הx של a שזה 2 וf(a) שקיבלנו בשורה הראשונה של הטבלה ואותו דבר עם b וc
ובנקודת החיתוך של הגרף שהתקבל עם ציר הx זה התשובה של מה השורש של 5
והמורה ביקש מאיתנו לנסות לכתוב לזה אלגוריתם
לכן אני מאוד אשמח אם תוכלו לכתוב לזה תוכנית בשפת C ואז כבר זאת לא תהיה בעיה לכתוב אלגוריתם מילולי לזה לפי התוכנית שבשפת C
אנא עזרו לי בהקדם האפשרי, מפני שאת האלגוריתם עלי להגיש ביום ראשון
תודה
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #27  
ישן 29-04-2006, 18:29
צלמית המשתמש של DrTempi
  DrTempi DrTempi אינו מחובר  
 
חבר מתאריך: 12.03.03
הודעות: 2,176
עד כמה שזכור לי זה לא בדיוק ככה
בתגובה להודעה מספר 26 שנכתבה על ידי Togepi0304 שמתחילה ב "אוקיי -"

אין שם איזה מספר קבוע.

נניחד אתה רוצה לחשב את השורש של X:
אתה בוחר שני מספרים (אני לא בטוח אבל אני חושב שמתחילים מ-0 ומ- X/2), השורש של X אמור להיות איפשהו בטווח שבין שני המספרים האלו.
נקרא למספרים האלו A ו- B .
כאן אתה בעצם נכנס ללולאה עד שתמצא את השורש של X (או משהו מספיק קרוב).
אתה מחשב את הממוצע שלהם, לצורך העניין נניח שאתה שומר אותו במשתנה C.
אתה מעלה את C בריבוע (כלומר C*C).
אם התוצאה שיצאה גדולה מ- X אז אתה מחליף את B ב-C (כלומר B=C), ועכשיו אתה חוזר לתחילת הלולאה.
אחרת אם התוצאה שיצאה קטנה מ-X אתה מחליף את A ב-C (כלומר A=C) ועכשיו אתה חוזר לתחילת הלולאה.
אחרת אם התוצאה שיצאה היא בדיוק X (או מספיק קרובה אליו) תחזיר את C.

אתה יכול להחליט על רמת הדיוק שאתה רוצה.
_____________________________________

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://www.fresh.co.il/scripts/birthday.php?date=27/04/1986]

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 00:05

הדף נוצר ב 0.08 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר