הבסיס כתיבת התכנית הראשונה שימוש במשתנים. הטיפוס הבסיסי object. הטיפוס הבסיסי string משפטי בקרה. שימוש ב- Enumerations. שימוש ב- Namespaces

Similar documents
דיאגרמה לתיאור Classes

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

ASP.Net MVC + Entity Framework Code First.

2007 Zindell Technologies, Ltd.

מערכים Haim Michael. All Rights Reserved.

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

המבנה הגאומטרי של מידה

מבוא למחשב בשפת פייתון

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

פולימורפיזם. blog.csit.org.il מדעי המחשב

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

ל"תוכנה" שכותבים, כמו פונקציה זו, קוראים "קוד"

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

פעולות קלט פלט Streams( )I\O

Structural Vs. Nominal Typing

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית

Patents Basics. Yehuda Binder. (For copies contact:

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

THINKING ABOUT REST THE ORIGIN OF SHABBOS

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

תרגול מספר 9: בנאים, שיטות של אובייקטים והכמסה מבוא למדעי המחשב - סמסטר א' תשע"א,תרגול מס' 9. נושאי התרגול: this

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

סמסטר אביב 2015, מועד ב' סמסטר קיץ 2015, מועד א' מתרגלים: אביב - נורית מושקוביץ', הלאל עאסי, אלירן וייס; קיץ מאיה דיאמנט

עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx

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

Practical Session No. 13 Amortized Analysis, Union/Find

התכנית הראשונה שלי

Visual C# Express יסודות מדעי המחשב 1 מהדורת עיצוב תשס"ו 2006 כתבה: יעל בילצ'יק (סופרין)

זה. Nir Adar

Expressions (ex 8) Wild World (ex 7) Cars (ex 9)

סה"כ נקודות סה"כ 31 נקודות סה"כ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט

מבוא לתכנות ב- JAVA תרגול 7

interface Student {tag: Student, name: string; age: number;} const makestudent = ( name: string, age: number ) : Student =>

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

מבנה התכנית יסודות מדעי המחשב התכנית הראשונה שלי

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

פרוטוקול HTTP הפונקציה header שליחת מידע דחוס. עבודה עם cookies Haim Michael. All Rights Reserved.

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

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

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

A R E Y O U R E A L L Y A W A K E?

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.

אנגלית (MODULE E) בהצלחה!

תרגול 8. Hash Tables

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

3. class attr_accessor def end 9. end puts "

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

מטוסים נופלים, כורים מתפוצצים זיכרון אוטומטי מקטסטרופות לומדים בניינים קורסים,

תכניות סטנדרטיות ב UNIX שרשור פקודות באמצעות Pipeline עבודה ב- bash

הקדמה פרופ' מוטי בן-ארי המחלקה להוראת המדעים מכון ויצמן למדע

תמ מהו הקדמה פרופ' מוטי בן-ארי. Peter תמ"ע = עצמים + מחלקות + ירושה. תמ"ע "לייט" לבין תמ"ע אמיתי. Turbo Pascal

תורת הקומפילציה

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

byte code :(compiler) .class מהדר בתהליך עורך, סייר, קומפיילר,,JRE וכו'. למשל: אקליפס. נקודות חשובות: חסכון בהקצאת זיכרון.

Depth-First Search DFS

שאלון ד' הוראות לנבחן

שאלון ו' הוראות לנבחן

שפת תיאור חומרה VHDL

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

תוכנה 1 בשפת Java שיעור מספר 8: "ירושה נכונה" בית הספר למדעי המחשב אוניברסיטת תל אביב

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

מספר ת"ז: יש לסמן את התשובה הטובה ביותר בתשובון. לא יינתן ניקוד על סימון תשובה בטופס הבחינה או במחברת הבחינה.

NTFS ADS Magic Tricks

Redirection The Input Buffer

A Long Line for a Shorter Wait at the Supermarket

פרצות אבטחה נפוצות בהעלאת קבצים בעזרת PHP

Theories of Justice

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

Design Patterns מאיר סלע מהדורה ראשונה 2004 הדפסה 1 כל הזכויות שמורות

שאלון ו' הוראות לנבחן

עמוד 1 מתוך 11 מספר סידורי: סמסטר ב' תשע"ה, מועד א', 13 יולי 5112 יעל אמסטרדמר, סיון טולדו, דביר נתנאלי

יסודות מבני נתונים. תרגול :9 ערימה - Heap

הרצאה מספר 10 נושאים לשיעור זה: סיכום הפקודות עד לשיעור זה *** )S-Q( = מקומות בהם ניתן לשלב תתי שאילתות

(MODULE E) ב ה צ ל ח ה!

תרגול 01: ממשקים והורשה

למבחן ביסודות מדעי המחשב דוגמא

גירסה C++ Tutorial Nir Adar עמוד 1

Reflection Session: Sustainability and Me

Rabbi Mansour 2011 Shabbat Morning Class

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

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

תכנות בטוח חלק ב ' מאת עידו קנר

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית.

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

דוגמה 1: הדרקון המשתנה שינוי גודל דמות

Relationships: Everything Else is Commentary

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of

Yetzer Shalom: Inclinations of Peace

מבוא לרשתות - תרגול מס' 11 Transparent Bridges

Transcription:

1 הבסיס כתיבת התכנית הראשונה שימוש במשתנים הטיפוס הבסיסי object הטיפוס הבסיסי string משפטי בקרה שימוש ב- Enumerations שימוש ב- Namespaces המתודה Main כתיבת הערות פקודות קדם מהדר

2 כתיבת התכנית הראשונה ניתן לפתח ב-# C הן באמצעות ה- Studio Visual והן באמצעות שורת הפקודה. להלן קוד המקור של התכנית הראשונה שנפתח. using System; namespace abelski.csharp class HelloWorld static void Main() Console.WriteLine("Hello World!"); באתר של הספר תוכל למצוא שני וידאו קליפים אשר מסבירים כיצד להדר וכיצד להריץ תכנית זו. וידאו קליפ אחד מסביר כיצד לעשות זאת כאשר עובדים משורת הפקודה. הוידאו קליפ השני מסביר כיצד לעשות זאת כאשר עובדים עם ה-.Visual Studio

3 שימוש במשתנים הגדרה של משתנים נעשית משמאל לימין בדומה לשפות אחרות. יש לציין תחילה את הטיפוס של המשתנה ולאחריו את שמו. datatype identifier; כך למשל, שורות הקוד הבאות מגדירות שני משתנים. משתנה אחד בשם num מטיפוס double ומשתנה שני בשם.int מטיפוס index double num; int index; בסוף כל שורת קוד יש למקם את הסימן ;. לאחר שמשתנה נוצר ניתן להכניס לתוכו ערך באמצעות אופרטור ההשמה. בדומה לשפות תיכנות אחרות, אופרטור ההשמה ב-# C הוא הסימן '='. num = 12.2; index = 2; משתנים מקומיים (משתנים שמוגדרים בתוך גוף של מתודה) חייבים לאתחל לפני שמשתמשים בהם. אם לא נעשה זאת נקבל טעות קומפילציה. כאשר מגדירים משתנה ניתן להשתמש במילה השמורה var במקום ציון הטיפוס המדוייק שבו מעוניינים. במקרה כזה, בזמן ביצוע הקומפילציה הקומפיילר יבחן את הטיפוס של הערך המוכנס ויקבע את הטיפוס של המשתנה שסומן ב- var בהתאם. בדוגמת הקוד הבאה מודגם השימוש ב- var. using System; namespace abelski.csharp class VarDemo static void Main() var sum = 100.24; var number = 242;

4 var name = "Haim Michael"; var question = true; Type sumtype = sum.gettype(); Type numbertype = number.gettype(); Type nametype = name.gettype(); Type questiontype = question.gettype(); Console.WriteLine("The type of sum is "+sumtype.tostring()); Console.WriteLine("The type of number is "+numbertype.tostring()); Console.WriteLine("The type of name is "+nametype.tostring()); Console.WriteLine("The type of question is "+ questiontype.tostring()); הפלט שנקבל הוא:

5 כדי להגדיר קבוע יש להשתמש במילה השמורה const באופן הבא: const int max = 10; חייבים לאתחל אותו ברגע ההגדרה שלו. לאחר שהקבוע נוצר לא ניתן לשנות את ערכו. כאשר מסמנים כ- const משתנה שמוגדר במחלקה הוא נהייה למשתנה static באופן אוטומאטי. הערכים ב-# C נחלקים לשני סוגים. סוג אחד קרוי בשם value type וסוג שני קרוי בשם.reference type כאשר מאחסנים בתוך משתנה ערך מסוג value type המשתנה יאחסן את הערך עצמו. כאשר מאחסנים בתוך משתנה ערך מסוג reference type המשתנה יאחסן בתוכו את ה- reference לאותו ערך בלבד. משתנה שיכול להכיל,reference type כלומר, משתנה שיכול להכיל בתוכו את ה- reference לערך מסוים יכול גם להכיל בתוכו את הערך.null גם כאשר עובדים עם משתנים מטיפוס value type מאחורי הקלעים נוצרים אובייקטים אשר פועלים בשמם. זו הסיבה לכך שניתן לקרוא להפעלתן של מתודות באמצעות משתנים שמכילים ערכים מסוג value type כאילו היה מדובר במשתנים שמכילים בתוכם references לאובייקטים. מאחורי הקלעים המתודה תופעל על האובייקט שפועל בשמו של המשתנה.

6 הטיפוס הבסיסי object object הוא הטיפוס הבסיסי שממנו יורשים על הטיפוסים האחרים. השם object הוא קיצור לשם המפורט והמלא של המחלקה:.System.Object במחלקה זו מוגדרות המתודות החשובות הבאות: ToString() Equals() GetHashCode() GetType() כיוון שכל המחלקות האחרות יורשות ממחלקה זו, מתודות אלה ניתנות להפעלה על כל אובייקט מכל מחלקה שיש לנו בתכנית.

7 הטיפוס הבסיסי string הטיפוס הבסיסי string הוא הטיפוס שמשמש לייצוג של מחרוזות תווים. המילה string היא שם מקוצר לשם המפורט של המחלקה:.System.String לאחר שנוצר אובייקט מטיפוס string אשר מייצג טקסט מסוים לא ניתן לשנות את הטקסט שהוא מייצג.

8 משפטי בקרה שפת התיכנות #C תומכת במשפטי הבקרה הבאים. משפט if התחביר של משפט ה- if ומשפט ה- else if ב-# C דומה לתחביר המוכר משפות אחרות כגון Java ו-++ C. יש לרשום את המילה if ואחריה בתוך סוגריים עגולות את הביטוי הבוליאני. אם ערכו true אז המשפט שיופיע בהמשך יתבצע. אם ערכו של הביטוי false אז המשפט שיופיע בהמשך לא יתבצע. כדי למנוע בילבול מקובל להשתמש במשפט מורכב (בלוק) במקום משפט פשוט. if(...)... משפט if ומשפט if else דומה למשפט if פשוט. בהמשך לאחר המשפט מוסיפים את המילה else ולאחריה משפט נוסף. אם ערכו של הביטוי false אז המשפט הנוסף הוא שיתבצע. כדי למנוע בילבול מקובל להשתמש במשפטים מורכבים (בלוקים) במקום במשפטים פשוטים. if(...)... else...

9 משפט ה- switch התחביר דומה לתחביר שמוכר משפות תכנות אחרות. רושמים את המילה switch ומיד אחריה בתוך סוגריים רושמים ביטוי. בזמן ריצה מחושב ערכו של הביטוי ומתבצע ה- case בהתאם לערך שחושב. switch(expression) case constant_expression_1: code... break; case constant_expression_2: code... break; default: code... break; להבדיל משפות תכנות אחרות, שפת התכנות #C מאפשרת לבחון במשפט switch ביטוי מטיפוס.string כמו כן, שפת התכנות #C לא מאפשרת למקם שני cases עם ערך זהה והיא לא מאפשרת ליותר מ- case אחד להתבצע. לולאת for שפת התיכנות #C תומכת בלולאת for בדומה לשפות התכנות האחרות. התחביר דומה ואופן הפעולה זהה. for(intializer; condition; iterator)... תפקיד הביטוי הראשון (ה- initializer ) הוא לאתחל את ערכו של המשתנה שפעולת הלולאה מתבססת עליו. תפקיד הביטוי השני (ה- condition ) הוא להוות תנאי לוגי שכל עוד הוא נכון הלולאה ממשיכה לפעול. תפקיד הביטוי השלישי הוא לקדם את ערכו של המשתנה שעליו מתבססת פעולת הלולאה.

10 using System; התכנית הבאה מדפיסה את כל המספרים מ- 1 עד 9 באמצעות לולאת for פשוטה. namespace abelski.csharp class ForLoopDemo static void Main() for(int i=0; i<10; i++) Console.WriteLine(i); הפלט שנקבל הוא:

11 לולאת while התחביר של לולאת while ב-# C דומה לתחביר של לולאת while בשפות תיכנות אחרות. יש לרשום את המילה while ומייד אחריה בתוך סוגריים עגולות את הביטוי הלוגי, שכל עוד הוא יהיה true הלולאה תתבצע. While(...)... לולאת do...while התחביר של לולאת do..while דומה לתחביר המוכר משפות תיכנות אחרות. יש לרשום את המילה do ומייד אחריה את המשפט (מקובל לרשום משפט מורכב... בלוק) שהלולאה מבצעת. לאחר המשפט (המשפט המורכב) יש לרשום את המילה while ומייד אחריה בתוך סוגריים עגולות את הביטוי הלוגי שכל עוד הוא true הלולאה תתבצע. Do... while(...); להבדיל מלולאת while לולאת do while מתבצעת פעם אחת לפחות. לולאת foreach לולאה זו מאפשרת לנו לעבור על כל האלמנטים שמוחזקים ב- collection ו/או מערך ו/או כל אובייקט אשר נוצר foreach(type parameter in collection) statement ממחלקה שמיישמת את.IEnumerable בדוגמת הקוד הבאה נעשה שימוש בלולאה מסוג foreach כדי לעבור על כל האלמנטים במערך נתון.

using System; namespace abelski.csharp class ForEachDemo static void Main() int []vec; vec = new int[4]; vec[0]=12; vec[1]=14; vec[2]=16; foreach(int temp in vec) Console.WriteLine(temp); Console.ReadLine(); 12

13 שימוש ב- Enumeration באמצעות enum ניתן להגדיר type חדש שכל מופע שלו הוא ערך מספרי שלם מסוים שמזוהה עם שם. public enum Day Sunday = 1, Monday = 2, Tuesday = 3, Wednesday = 4, Thursday = 5, Friday = 6, Saturday = 7 השימוש בערכים האפשריים של enum שהגדרנו נעשה באמצעות ציון שם ה- enum בתוספת השם שמזוהה עם אחד Day today = Day.Sunday; הערכים המספריים האפשריים.

14 שימוש ב- Namespaces ה namespace הוא יחידה לוגית אשר מתחמת טווח הכרה סביב כל המחלקות אשר שייכות אליה. באמצעות namespaces ניתן לארגן את המחלקות באופן יותר מסודר. השימוש ב- namespace יוצר טווח הכרה חדש. כדי לשייך מחלקה שאנו מגדירים ל- namespace מסויים יש להגדירה בתוך סוגריים מסולסלות אשר תוחמות את טווח ההגדרה של ה- namespace. כך למשל, בדוגמת הקוד הבאה המחלקה Utils מוגדרת כמחלקה ששייכת ל- using System; namespace abelski.csharp public class Utils public static int Sum(int num1, int num2) return num1+num2;.abelski.csharp ששמו namespace כאשר מחלקה שייכת ל- namespace מסויים בכל מקום שבו רוצים להשתמש בה יש לרשום את השם המלא שלה אשר כולל את שם המחלקה + שם ה- namespace שאליו היא שייכת. int sum = Abelski.csharp.Utils.Sum(4,32); ניתן להימנע מכתיבת השם המלא והארוך אם נשתמש ב- directive. השימוש ב- directive כולל את השימוש במילה השמורה using בצירוף השם של ה- namespace שבמחלקה ששייכת אליו רוצים להשתמש. באמצעות directive ניתן לייבא מחלקה שבה אנו רוצים להשתמש ובכך אנו יכולים להימנע מציון השם המלא שלה.

15 המתודה Main זוהי המתודה העיקרית. זוהי נקודת ההתחלה של כל אפליקציה. היא חייבת להיות static והערך המוחזר שלה חייב להיות int או.void הרשאת הגישה שלה יכולה להיות כל הרשאה. ניתן להגדיר אותה עם פרמטר מסוג מערך של.strings במקרה כזה, ערכים שיישלחו אל האפליקציה בעת הפעלתה משורת הפקודה יישלחו כ- strings שמוחזקים במערך אל המתודה.Main using System; namespace abelski.samples public class ParametersToMainDemo public static void Main(String []vec) for(int i=0; i<vec.length; i++) Console.WriteLine(vec[i]);

16 כתיבת הערות קיימות מספר דרכים לכתיבת הערות בתוך קוד המקור. ניתן לכתוב הערות בסגנון C: /*... */ ניתן לכתוב הערות בסגנון ++C: // ניתן לכתוב הערות בסגנון ייחודי ל-# C אשר יילקחו לקובץ ה- documentation : ///

17 פקודות קדם מהדר בדומה ל-++ C ול- C ניתן לשלב בקוד שאנו כותבים פקודות אשר ישפיעו על אופן פעולתו של המהדר ובין היתר יוכלו להורות לו להימנע מהידור קטעי קוד מסוימים. פקודות אלה מאופיינות בסימן # אשר מופיע בתחילתן. כך למשל, באמצעות הפקודה #define ניתן להורות על הגדרתו של קבוע ובאמצעות הפקודה #if ניתן לבדוק אם קבוע בשם מסוים כבר הוגדר. בדרך זו ניתן בתהליך הפיתוח לשלב בתחילת הקוד את הגדרתו של קבוע מסוים ובאמצעות הפקודה #if להורות על הידורם של קטעי קוד מסוימים רק בתנאי שהקבוע המסוים אכן הוגדר. בדרך זו, קטעי הקוד האמורים יעברו הידור ויכללו בתוצאה הסופית רק אם הקבוע האמור אכן הוגדר. כאשר נסיים את תהליך הפיתוח נוכל לתחם את הפקודה #define כהערה ובכך לגרום למהדר להימנע מהידור קטעי הקוד האמורים. הדוגמה הבאה מציגה את אופן השימוש בפקודות #define ו- if #. #define DBG using System; namespace Com.Abelski.Samples class Program static void Main(string[] args) int sum = 0; for(int i=0; i<10; i++) sum+=i; #if DBG Console.WriteLine("i="+i); #endif Console.WriteLine("sum="+sum);

18 הפלט שנקבל כאשר DBG מוגדר הוא: הפלט שנקבל כאשר נסמן את שורת ההגדרה של הקבוע DBG הוא: