התחלנו ללמוד PERL

התחלנו ללמוד PERL

ואני לא מבינה כלום פחות אותו יותר.

יש לנו שאלה להגשה ואשמח אם תוכלו לעזור לי.

יש 3 גלאי עשן צריך לבנות שערים לוגים שאם לפחות 2 עובדים אז הגלאי עשן יפעל.

למישהו יש מושג?

תודה X0X0
 

ירון316

New member
לא מבין כלום בפרל

אבל כן מבין הרבה בפייתון

תייצרי לולאת For שתרוץ על כל גלאי העשן
תייצרי INT שערכו הראשוני הוא 0.
בכל אחד מהגלאים, תעשי שאם הוא דולק אז הוא עושה +1 על ה-INT ואם לא, הוא עושה PASS (או המקבילה בפרל).
ואז אם ה-INT => 2, אז זה עושה מה שביקשת (אם הבנתי את התרגיל נכון...)
 

שוּלה

New member
ללללמה? מי זה "אנחנו"? פרל זאת שפה גוססת

היא גרועה למדי בהרבה מובנים, במיוחד בגלל שכמעט בלתי אפשרי לקרוא קוד שמישהו כבר כתב ולהבין מהקוד מה יש שם.

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

זה כמו ללמוד יידיש.

אתם בעונש או שזה תחביב מזוכיסטי?
 
פרל זו שפת רגקס הטובה ביותר שאני מכיר

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

hetzbh

New member
תלוי

קח איש WINDOWS שמעולם לא נגע בלינוקס, ותן לו לעבוד עם VI + REGEX, ואז תראה איך הוא פולט שצף קללות
 
כלומר צריכים לממש מכונת מצבים בתוכנה

הדרך הכי פשוטה זה סוג של מפה בינארית אני חושב
XYZ זה שלושת השערים
כאשר XYZ יכול להיות כל ערך בין 0 ל 7 (111).
טבלת אמת פשוטה:
000 לא
001 לא
010 לא
011 כן
100 לא
101 כן
110 כן
111 כן

משהו בסגנון הזה?
צריך למצוא פונקציה מינימלית שמממשת את זה, כנראה.
או פשוט switch case
ב 3,5,6,7 הגלאי מופעל.

בכל מקרה, נשמע יותר כמו תכן לוגי, לא כמו פרל. נסי לשאול בשפות תכנות.

לחילופין, חפשי בגוגל על Perl FSM Finite State Machine.
למשל http://www.perl.com/pub/2004/09/23/fsms.html
אבל יש עוד הרבה שכנראה יתאימו יותר.
 

איתי נ

New member
מכונת מצבים זה משהו שונה.

(על מכונת מצבים אפשר לקרוא כאן: http://he.wikipedia.org/wiki/אוטומט_סופי).
הפתרון הנכון הוא פונקציה בוליאנית פשוטה שאפשר לכתוב אותה כך (A,B ו C הם משתנים בוליאניים שכל אחד מהם מייצג חיישן). הפתרון הטריוויאלי לשאלה:
(A&&B)||(A&&C)||(B&&C)


או, אם מקבלים משתנה X מסוג שלם (int) שכל סיבית בו מתארת כניסה, אז:
(X & (X-1)) != 0

התשובה האחרונה מרחיבה את הפתרון למספר כניסות ששוה למספר הסיביות ב int. התוצאה true רק אם שתיים או יותר סיביות של X "דלוקות".
 
למעלה