סקירה כללית והגדרת הפרויקט
חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-Dart של Coddy. שיעור 51 מתוך 65.
ברוכים הבאים לפרויקט מרגש המורכב מכמה חלקים, שבו תבנו כלי פשוט לניתוח טקסט! הפרויקט הזה ישלב רבים מהמושגים שלמדתם לאורך הקורס, כולל עיבוד מחרוזות, רשימות, קבוצות ומפות.
במהלך השיעורים הבאים תיצור תוכנית שתוכל לנתח כל קטע טקסט ולספק עליו נתונים סטטיסטיים שימושיים. המנתח שלך יספור תווים, יפצל את הטקסט למילים, ימצא מילים ייחודיות ואפילו יעקוב אחר תדירות ההופעה של כל מילה.
בשיעור הראשון הזה תכינו את הבסיס על ידי יצירת משתנה מסוג מחרוזת שמכיל את הטקסט שתרצו לנתח. חשבו על זה כהכנת סביבת העבודה שלכם לפני שתצללו לניתוח עצמו. תתחילו במשימה פשוטה: שמירת הטקסט והצגתו כדי לוודא שהכול עובד כראוי.
הפרויקט הזה מושלם לתרגול מיומנויות תכנות מעשיות, מכיוון שניתוח טקסט משמש בכל מקום, מפלטפורמות של מדיה חברתית ועד למנועי חיפוש. בואו נתחיל לבנות את מנתח הטקסט שלכם!
אתגר
קלצרו תוכנית שמכינה את התשתית לכלי לניתוח טקסט. זהו תחילתו של פרויקט בן כמה חלקים, שבו תבנו מערכת לניתוח טקסט ולהפקת מידע שימושי ממנו.
- קראו קלט מסוג מחרוזת שמכיל את הטקסט שברצונכם לנתח
- צרו משתנה מסוג מחרוזת בשם
textToAnalyzeושמרו בו את הטקסט שהתקבל בקלט - הציגו כותרת פתיחה לכלי לניתוח הטקסט שלכם
- הציגו את הטקסט המקורי שינותח
- הציגו הודעת אישור שההגדרה הושלמה
לדוגמה, אם הקלט הוא "The quick brown fox jumps over the lazy dog", התוכנית שלכם אמורה להציג:
Text Analysis Tool - Setup Complete
====================================
Original text loaded for analysis:
"The quick brown fox jumps over the lazy dog"
====================================
Text analyzer is ready to process your data!
Setup completed successfully.אם הקלט הוא "Hello world! This is a test.", התוכנית שלכם אמורה להציג:
Text Analysis Tool - Setup Complete
====================================
Original text loaded for analysis:
"Hello world! This is a test."
====================================
Text analyzer is ready to process your data!
Setup completed successfully.התוכנית שלכם צריכה לשמור את טקסט הקלט במשתנה ולהציג אותו בדיוק כפי שנמסר, כשהוא מוקף במרכאות. התשתית הזאת תשמש בשיעורים הבאים לביצוע פעולות שונות לניתוח טקסט, כמו ספירת תווים, פיצול למילים ומציאת מילים ייחודיות.
נסו בעצמכם
import 'dart:io';
void main() {
// קראו את טקסט הקלט
String? inputText = stdin.readLineSync();
// צרו את המשתנה textToAnalyze
String textToAnalyze = inputText ?? '';
// TODO: כתבו את הקוד שלכם למטה כדי להציג את הגדרת הכלי לניתוח טקסט
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת התוכנית
1מניפולציות מתקדמות ברשימות
מאפייני רשימה: ראשון ואחרוןמצב הרשימה: isEmpty ו-isNotEmpהיפוך רשימההוספה לרשימה: insertהסרת פריטים מרשימה: removeWhereחיפוש ברשימה: indexOfמיון רשימהערבוב רשימהסיכום – מארגן רשימות4מניפולציה מתקדמת של Map
מעבר על Mapבדיקה אם מפתחות וערכים קיימיםמאפייני Map: מפתחות וערכיםהוספה מותנית: putIfAbsentהסרת רשומות מ־MapMaps מקונניםסיכום – עדכון מלאי2פעולות פונקציונליות על רשימות
טרנספורמציה באמצעות 'map'סינון באמצעות 'where'שימוש ב-'.toList()'בדיקת תנאים באמצעות 'any'תנאים באמצעות 'every'איתור באמצעות 'firstWhere'סיכום – סינון נתונים5פרויקט: חישוב עגלת קניות
הגדרת הפרויקטהוספת פריטים לעגלה8פרויקט: מנתח טקסט פשוט
סקירה כללית והגדרת הפרויקטספירת תווים3קבוצות
מהי קבוצה?יצירת קבוצההוספה והסרה מקבוצותבדיקת נוכחות של איברים בקבוצההמרת רשימה לקבוצהאיחוד קבוצותחיתוך קבוצותהפרש קבוצותסיכום – רשימת אורחים ייחודית6טיפול בסיסי בשגיאות
מהן חריגות?בלוק ה-try-catchתפיסת חריגות באמצעות onבלוק ה-finallyהשלכת חריגהסיכום – חלוקה בטוחה9טיפוסי מנייה (Enums)
מה הם Enums?הגדרת Enum פשוטשימוש ב-Enums במשתניםEnums במשפטי 'switch'סיכום – רמזורתרגלו בעצמכם: קומפיילר Dart אונליין