מאתר תבניות
חלק מהיחידה יסודות במסלול ה-R של Coddy. שיעור 77 מתוך 78.
אתגר
קלצרו פונקציה בשם count_pattern שמקבלת שני ארגומנטים: text ו-pattern. הפונקציה צריכה להחזיר את מספר הפעמים שהתבנית מופיעה בטקסט, כולל הופעות חופפות.
תקבלו שתי שורות קלט:
- מחרוזת הטקסט שבה יש לחפש
- מחרוזת התבנית שאותה יש לחפש
קראו לפונקציה עם הקלטים שסופקו והדפיסו את התוצאה.
רמזים:
- השתמשו ב-
nchar()כדי לקבל את אורך המחרוזות - השתמשו ב-
substr(text, start, stop)כדי לחלץ מחרוזות משנה - עברו על כל מיקום התחלה תקף ובדקו אם מחרוזת המשנה תואמת לתבנית
לדוגמה, אם הקלט הוא:
ababa
abaהפלט צריך להיות:
2הסבר: התבנית "aba" מופיעה במיקום 1 (ababa) ובמיקום 3 (ababa), לכן הספירה היא 2.
אם הקלט הוא:
mississippi
issiהפלט צריך להיות:
2נסו בעצמכם
# קראו את הקלט
con <- file("stdin", "r")
text <- suppressWarnings(readLines(con, n = 1))
pattern <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: צרו פונקציה בשם count_pattern שמקבלת את text ואת pattern
# ומחזירה את מספר המופעים החופפים של pattern בתוך text
# קראו לפונקציה והדפיסו את התוצאה
print(count_pattern(text, pattern))כל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים (AND, OR)אופרטורים לוגיים חלק 2 (NOT)חזרה – לוגיקה פשוטהלוגיקה וקטורית חלק 1לוגיקה וקטורית חלק 27מחשבון לחלוקת החשבון
הודעת פתיחהקבלת קלט מהמשתמש2משתנים וסוגי נתונים
סוג נתונים מספריסוג נתונים שלמיםסוג נתונים של תוויםסוג נתונים לוגיבדיקת סוגי נתוניםמוסכמות למתן שמותערכים חסרים: NAסיכום – יצירת משתנים8לולאות
לולאת forלולאת whileפקודת breakהמשך (continue)סיכום – עצרתיצירת רצפים (seq, :)לולאות מקוננותסיכום – קלט דינמי3אופרטורים חלק 1
אופרטורים אריתמטייםחלוקת מספרים שלמים ומודולואופרטורי השמהחזרה – חשבון פשוטאופרטורי השוואה6קלט/פלט בסיסי
הדפסת פלטחתול כפלטפלט עם משתניםקריאת קלט באמצעות readline()יסודות המרת טיפוסיםחזרה – מחשבון גילחזרה – אמת או שקר9פונקציות
הכרזה על פונקציהארגומנטים של פונקציהערכי החזרהסיכום – פונקציית סיגמאסיכום – פונקציית אימותערכי ברירת מחדל לפרמטריםתרגלו בעצמכם: קומפיילר R אונליין