חידה | לבעלי חוש תיכנות
-
@חוקר עברתי על כמה מדריכים שמסבירים איך עובד מחשב, ונראה לי שגם אם אתה מתכנת עם שפה ברמה גבוהה (דהיינו רחוקה מהברזל של המחשב) זה עוזר פה ושם להכיר את הדברים האלה.
מי שמתכנת בשפה ברמה נמוכה ודאי חייב להכיר את זה.אני כותב יישומי וינדוס בשפה לא כל כך מוכרת, ושמה משתמשים בבינארי בשביל פרמטרים. אחרי שאתה קולט את השיטה זה בא לשימוש בכל שפה אחרת שאתה מתכנת. בעצם ייתכן מאוד שבשפות אחרות זה גם ככה.
מגדירים לדוגמא שפרמטר A שווה 1, B שווה 2, C שווה 4, וD שווה 8.
ואז אתה קורא לפונקציה, וצריך לתת לה בפרמטר את A וD. אז במקום שיהיהmyFunction(param1, param2, param3, param4) myFunction(true, false, false, true)
אתה עושה במקום זה רק פרמטר אחד, ונותן לו שילוב של הערכים הנל
myFunction(param) myFunction(A + D)
מקווה שהייתי ברור.
-
@nigun אמר בחידה | לבעלי חוש תיכנות:
חשבתי שGO זאת שפה נמוכה
הכל יחסי...
אם אני יכתוב 9 זה יקלוט שאני מתכוון A+D?
כן, כי אין דרך אחרת לייצג את המספר 9
@שואף אמר בחידה | לבעלי חוש תיכנות:
אני כותב יישומי וינדוס בשפה לא כל כך מוכרת, ושמה משתמשים בבינארי בשביל פרמטרים
לא צריך להגיע לשפות לא מוכרות בשביל זה. כך הדרך לייצג אופציות ב-C ו-++C או בכל שפה אם לא רוצים לזלול זכרון, כך עובד כל ה-API של ווינדוס.
-
@nigun אם "תפתח את המחשב" תראה ש9 כתובה ככה:
00001001
כלומר זה אומר שתי אפשרויות דלוקות הראשונה שמייצגת 1 והרביעית שמייצגת 8 (שהרי 1=1, 2=2, 3=4, 4=8 בסדרת המעטפות הנ"ל).
איך יודעים? כי בסדרת המספרים הזו של חזקת 2 יש לכל מספר דרך יחידה בה הוא יכול להתבטא, ממילא אפשר להמיר מספר לכמה אפשרויות של כן/לא ולהיפך.
יש כאלה שמשתמשים עם זה גם בGO
https://play.golang.org/p/Dm3X-akr31 -
@מעמד אמר בחידה | לבעלי חוש תיכנות:
@dovid צריך להעביר את האשכול למקומו הראוי לו
הפוסט הזה נכתב בגומלין שזה מקום שכולם אמורים להבין.
אבל מה לעשות שזה שפת תיכנות שהרבה לא מבינים וככזה אולי צריך להעביר אותו לפורום תכנותאפשר לענות ע"ז גם כחידה.
הדרך לפתרון היא שכדי להגיע לכל מספר אתה צריך לוודא שיש לך את כל האפשרויות בארסנל.
לכן אם כדי להגיע למס' אחד אתה חייב שיהיה את המעטפה עם שקל אחד. למס' 2 אתה חייב שיהיה מעטפה נוספת עם שתים. אבל למס' 3 אתה יכול להגיע בצירוף 2 המעטפות הקודמות. ולמס' 4 אתה צריך מעטפה נוספת, ולכן תשים בה 4.
על הדרך הזו תגיע ג"כ לאותו מודל תשובה (רק בלי המספר 0 ו1023, כיון שבחידה היו רק 1000 מטבעות). -
@מעמד אמר בחידה | לבעלי חוש תיכנות:
@dovid צריך להעביר את האשכול למקומו הראוי לו
הפוסט הזה נכתב בגומלין שזה מקום שכולם אמורים להבין.
אבל מה לעשות שזה שפת תיכנות שהרבה לא מבינים וככזה אולי צריך להעביר אותו לפורום תכנות\
@שואף אמר בחידה | לבעלי חוש תיכנות:
ילד קטן אמר לי חידה,
-
@chagold אמר בחידה | לבעלי חוש תיכנות:
@מעמד אמר בחידה | לבעלי חוש תיכנות:
@dovid צריך להעביר את האשכול למקומו הראוי לו
הפוסט הזה נכתב בגומלין שזה מקום שכולם אמורים להבין.
אבל מה לעשות שזה שפת תיכנות שהרבה לא מבינים וככזה אולי צריך להעביר אותו לפורום תכנותאפשר לענות ע"ז גם כחידה.
הדרך לפתרון היא שכדי להגיע לכל מספר אתה צריך לוודא שיש לך את כל האפשרויות בארסנל.
לכן אם כדי להגיע למס' אחד אתה חייב שיהיה את המעטפה עם שקל אחד. למס' 2 אתה חייב שיהיה מעטפה נוספת עם שתים. אבל למס' 3 אתה יכול להגיע בצירוף 2 המעטפות הקודמות. ולמס' 4 אתה צריך מעטפה נוספת, ולכן תשים בה 4.
על הדרך הזו תגיע ג"כ לאותו מודל תשובה (רק בלי המספר 0 ו1023, כיון שבחידה היו רק 1000 מטבעות).זו הדרך בה צעדתי אני.
-
@dovid אמר בחידה | לבעלי חוש תיכנות:
@שלמה1 ממש לא, זה אומר שאתה כשרוני.
בשביל להיכנס לפורום תכנות צריך להיות אחד שקולל בקללתו של אדם הראשון' ושזה האמנות שהוא בחר בה.ולשלם... שכחת...
-
פוסט זה נמחק!
-
פוסט זה נמחק!