ארכיון הקטגוריה: אלגוריתמים

איך יוצרים התפלגות נורמלית

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

התפלגות נורמלית שהופקה באמצעות תוכנה ב-BASIC
התפלגות נורמלית שהופקה באמצעות תוכנה ב-BASIC

להמשיך לקרוא איך יוצרים התפלגות נורמלית

איך ליצור מזהה ייחודי ייחודי

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

להמשיך לקרוא איך ליצור מזהה ייחודי ייחודי

קריאה מושלמת של Rotary Encoder, חלק ב'

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

מקודדים אופטיים מכניים
מקודדים אופטיים מכניים

להמשיך לקרוא קריאה מושלמת של Rotary Encoder, חלק ב'

קריאה מושלמת של Rotary Encoder, חלק א'

בחינה של האותות שמתקבלים ממקודד סיבובי פשוט (Rotary encoder) הראתה שכאשר פיני הפלט שלו עוברים בין מצבים, קפיצות המתח האקראיות (Bounce) יכולות להיות קצרות מאוד או ארוכות מאוד, בהתאם למהירות הסיבוב של המקודד – עד כדי אי יכולת להבדיל בין קפיצה כזו לבין אות לגיטימי. האם אפשר ליצור קוד שיתגבר על כך וייתן לנו קריאה מדויקת של הסיבובים על פני כל טווח המהירויות?

מקודדים סיבוביים מכניים
מקודדים סיבוביים מכניים

להמשיך לקרוא קריאה מושלמת של Rotary Encoder, חלק א'

איך ליצור שעון אקראי וגם מדויק

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

להמשיך לקרוא איך ליצור שעון אקראי וגם מדויק

מה מתמטיקה עוזרת בחיים

לפני כמה ימים נחת על שולחני ספר שרציתי לקרוא כבר הרבה מאד זמן: Hacker's Delight (מהדורה שניה). זהו למעשה אוסף של שיטות, טריקים וקונצים לאופטימיזציה של פעולות לוגיות ומתמטיות בתוכנות מחשב – מידע שימושי לכל מתכנת שעובד "קרוב לברזלים", ובמיוחד למתכנתי מיקרו-בקרים. הנה דוגמה לתועלת של טריקים חשבוניים… עוד לפני שקראתי דף אחד בספר.

טריקים למתכנתי Low-level: הספר Hacker's Delight
טריקים למתכנתי Low-level: הספר Hacker's Delight

להמשיך לקרוא מה מתמטיקה עוזרת בחיים

המבחנים הגנוזים של TOMY

בעקבות הפרסום באתר Hackaday.com של הממצאים שלי בנוגע למשחק TOMY Teacher, הגיעו פרטים חדשים שחשפו עוד מידע מרתק – כולל 37 קודים נסתרים שאיש, אולי, לא ראה עד היום!

השבב שבתוך ה-TOMY Teacher
השבב שבתוך ה-TOMY Teacher

להמשיך לקרוא המבחנים הגנוזים של TOMY

היקום הבלתי-אפשרי של Elite

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

פתיח המשחק Elite באמולטור המקוון bbc.godbolt.org
פתיח המשחק Elite באמולטור המקוון bbc.godbolt.org

להמשיך לקרוא היקום הבלתי-אפשרי של Elite

המפתח הסודי של TOMY Teacher

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

המשחק האלקטרוני TOMY Teacher. איך הוא ידע את התשובות?
המשחק האלקטרוני TOMY Teacher. איך הוא ידע את התשובות?

להמשיך לקרוא המפתח הסודי של TOMY Teacher