PracticU

לולאות While - חלק 2

בלי כתוביותעם כתוביות
PracticU › קורס DBA אפליקטיבי - שפת SQL למתחילים › לולאות While - חלק 2
מילון מושגים:
לולאה - מבנה בקרה שחוזר על קטע קוד שוב ושוב כל עוד תנאי מתקיים או עבור כל פריט באוסף.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
תנאי - ביטוי לוגי בקוד שתוצאתו אמת או שקר, וקובע אילו פקודות יתבצעו בהתאם לערכו.

לולאות While - חלק 2
בשיעור ממשיכים את לולאת WHILE ב-T-SQL ומממשים פונקציה שהופכת מחרוזת. מראים איך משתמשים ב-BREAK וב-CONTINUE כדי לשפר את קריאות הלולאה.
השלבים העיקריים
1. הגדרת משתנים: מגדירים משתנה מקור עם המחרוזת hello, משתנה יעד שיכיל את התוצאה, ומשתנה מיקום שיעבור על המחרוזת. ההגדרה וההשמה נעשות באותה שורה.
2. מעבר מהסוף להתחלה: מאתחלים את המיקום לאפס, ובכל איטרציה מוסיפים לתוצאה תו אחד מהמחרוזת, מתחילים מהתו האחרון והולכים אחורה.
3. תנאי הלולאה: הלולאה רצה כל עוד המיקום קטן מאורך המחרוזת. בתוך הלולאה נלקח תו אחד באמצעות SUBSTRING, והמיקום מתקדם באחד.
4. הדפסה: אחרי הלולאה מדפיסים את המחרוזת ההפוכה, olleh.
5. לולאה אינסופית עם BREAK: אפשר לכתוב את הלולאה עם תנאי WHILE 1=1, ולבדוק בתוכה עם IF מתי לצאת. כשהמיקום מגיע לאורך המחרוזת, מופעל BREAK.
פקודות והגדרות
- WHILE @position < LEN(@source)
- SUBSTRING(@source, LEN(@source) - @position, 1)
- IF @position >= LEN(@source) BREAK
טעויות נפוצות
- אם לא מקדמים את המיקום בתוך הלולאה, היא תרוץ לנצח.
- בלולאה אינסופית חייבים תנאי ברור ל-BREAK, אחרת אין דרך לצאת ממנה.
שימו לב
BREAK מיועד ליציאה מהלולאה, ו-CONTINUE מדלג על שאר הגוף ועובר לאיטרציה הבאה. השימוש בהם הופך את הלולאה לקריאה יותר.
השיעור הבא בקורס: פקודת case - חלק 1

פרקי ההרצאה: לולאות While - חלק 2

  1. 00:00

    שימוש ב-break ו-continue בלולאת While

  2. 00:40

    מימוש פונקציית REVERSE בקוד

  3. 01:55

    משתנה מיקום שרץ על המחרוזת מהסוף

  4. 02:32

    תנאי הלולאה לפי אורך המחרוזת

  5. 03:08

    חיבור התווים לתוך מחרוזת ההיפוך

תמלול ההרצאה: לולאות While - חלק 2

הטקסט המלא של הדקות הראשונות בהרצאה «לולאות While - חלק 2» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:21

    בדוגמה הבאה שלפנינו אנחנו ממשיכים בנושא של לולאת וייל, אולם הפעם מעבר להדגמת מבנה הלולאה אנחנו רוצים לראות כיצד אנחנו משתמשים בשתי מילים שמורות break and continue להדגים עבודה שלהם וכיצד הם עוזרים לנו לשיפור הקריאות של לולאת וייל.

  2. 00:40

    בדוגמה הבאה אנחנו רוצים לממש את פונקציית reverse. פונקציית reverse זוהי פונקציה שקיימת בתוך בסיס הנתונים של SQL Server, פונקציה שמקבלת מכרוזת ומחזירה לי אותו בצורה הפוכה מהסוף להתחלה.

  3. 00:54

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

  4. 01:13

    אנחנו מגדירים משתנה של המכרוזת עצמה המכרוזת מקור לפני ההיפוך לפני הריברסים היא תהיה מסוג varcar שוב פעם ניתן את המספר המקסימלי ואנחנו כבר נתחיל אותה ב-hello אוקיי universe code של הלו עכשיו אנחנו נגדיר כבר את המשתנה יעד שאליו אנחנו רוצים להכניס את המילה הלו רק בצורה הפוכה כלומר את הרינג girls

  5. 01:40

    גם אותו אנחנו מגדירים כVarcar Max שוב פעם במעוטחה על קרק מה אנחנו צריכים לעשות משתנה עזר שיעזור לנו לרוץ על ללולאה מהסוף להתחלה וכל פעם לקחת פוזיציה אחת אנחנו נגדיר משתנה אינטרמנטלי שילך ויגדל משתנה מסוג אינטג'ר נקרא לו פוזישן משתנה פוזישן שבעצם אנחנו מגדירים אותו כמספר שירוץ על המחרוזת עצמה וכל פעם ייתן לי תו אחר בתוך המחרוזת הדרישה

  6. 02:15

    שלנו היא בעצם לרוץ מהסוף לקחת את ה-o לאחר מכן את ה-l האחרונה את ה-l שאחת לפני האחרונה את ה-E ולאחר מכן את ה-H. כל זאת אנחנו רוצים לשרשר למחרוזת ריבר סטרינג ובסופו של דבר להציג אותה.

  7. 02:35

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

  8. 02:49

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

  9. 03:15

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

  10. 03:41

    ואנחנו בעצם מתחילים מהגודל של סטרינג אבל לא תמיד נעמוד על הגודל על התו האחרון אלא תמיד

לקורס המלא: קורס SQL ו‑DBA אפליקטיבי

ההרצאה הקודמת: לולאות While - חלק 1

ההרצאה הבאה: פקודת case - חלק 1

הרצאות קשורות מקורסים אחרים

  • לולאות - for - while
  • לולאות - For, While (שפת #C)
  • לולאות - for - while - שפת Swift
  • תרגול לולאות

קורסים נוספים במסלול

  • קורס NoSQL - MongoDB
  • קורס SSIS
  • קורס BI - ניתוח מסדי נתונים - Qlik Sense
  • קורס Power BI