פקודת goto

פקודת goto (‏"go to", בעברית: "לך אל" או "עבור ל-") היא פקודה בסיסית בשפות תכנות. הפקודה שייכת לקבוצת הפקודות העוסקות בבקרת זרימה של תוכנית המחשב. פקודות בקרת זרימה מאפשרות להורות למחשב לשנות את סדר קריאת שורות הפקודה: ברירת המחדל של המחשב היא לבצע את הפקודות באופן סדרתי לפי סדר הופעתן, ופקודות בקרת זרימה מאפשרות למתכנת להתנות ביצוע של חלק מהתוכנית, לבצע לולאות, לדלג וכו'. משמעות הפקודה goto למחשב: עבור לפקודה הנמצאת במקום אחר בתוכנית.

זיהוי המקום שאליו תתבצע הקפיצה נעשה בדרך כלל באמצעות מתן תגית (label) למקום זה. בשפת BASIC ניתן מספר (בסדר עולה) לכל שורת פקודה, והקפיצה נעשית באמצעות ציון מספר השורה בפקודת ה־goto. בשפת פסקל יש להגדיר את התווית באמצעות פקודת label לפני שניתן להשתמש בה.

ירידת קרנה של פקודת goto

בשנת 1968 פרסם אדסחר דייקסטרה מאמר מפורסם בשם "פקודת GOTO נחשבת מזיקה"[1], ובו שלל את השימוש בפקודת goto. לטענת דייקסטרה ורבים אחרים, ניתן לכתוב כל תוכנית מחשב ללא שימוש בפקודת goto. גישתו של דייקסטרה הפכה למקובלת ביותר בעולם התכנות, אך אל מול שלילה מוחלטת של הפקודה הציב דונלד קנות' גישה המתירה שימוש בפקודה במקרים מסוימים, במאמרו "תכנות מובנה הכולל שימוש ב-GOTO"[2].

שימוש מופרז בפקודה goto עלול להביא לקוד לא מובנה ולא קריא, המכונה לעיתים קוד ספגטי. כיום, כחלק ממוסכמות תכנות מקצועי, נחשבת פקודת ה־goto מוקצה מחמת מיאוס, וזאת על מנת להקל על תחזוקה והרחבה של קוד קיים: קוד אשר משתמש ב־goto, ולו לעיתים נדירות, עלול ליצור תופעות לוואי שקשה לעקוב אחריהן, ומקשה על הבנה של קוד ירושה. מוסכמה זו נאכפת לרוב גם בשפות המאפשרות שימוש ב־goto. עם זאת, במקרים כגון יציאה מקינון מרובה, שימוש ב־goto עשוי להיות הפתרון הנכון (במקרים כאלו ניתן להשתמש בשפות תכנות חדשות במנגנון הטיפול בשגיאות על מנת להשיג תוצאה דומה).

ברוב השפות שתומכות בתכנות פרוצדורלי ומאפשרות שימוש בפקודת goto לא ניתן לקפוץ מחוץ לשגרה הנוכחית. בשפת C ישנו צמד פונקציות (setjmp ו־longjmp) שנועד לביצוע goto שאינו מקומי על ידי שמירת מצב המחסנית לפני הקפיצה ושחזורה לאחריה.

בשפות חדשות יותר כמו Java לא ניתן להשתמש בפקודה זו - ב־Java, למשל, ישנה מילת מפתח בשם goto שכל מטרתה היא "נעילת" מילת המפתח, כדי למנוע חזרה לשימוש בה.

דוגמאות שימוש

בשפת C, שימוש בפקודה יראה כך:

 .
 .
 goto LABEL;
 .
 .
 .
 LABEL:
 .
 .

ראו גם

הערות שוליים

  1. ^ Edsger Dijkstra, Go to Statement Considered Harmful, Communications of the ACM, 3 11, מרץ 1968, עמ' 147–148
  2. ^ Donald E. Knuth, Structured Programming with go to Statements, Computing Surveys, 4 6, דצמבר 1974, עמ' 261–301

Read other articles:

Season 2Album studio karya Andra and the BackBoneDirilis21 Maret 2008GenreHard rock, Pop rock, Rock alternatif, Soft rock, Post-grunge, Instrumental rockDurasi40:23LabelEMI Music IndonesiaGP RecordsKronologi Andra and the BackBone Andra and the BackBone (2006)Andra and the BackBone2006 Season 2 (2008) Love, Faith & Hope (2010)Love, Faith & Hope2010 Singel dalam album Season 2 Main Hati Hitamku Tak Ada Yang Bisa Seperti Hidup Kembali Season 2 merupakan sebuah album musik kedua Andr...

 

Hyundai StellarInformasiProdusenHyundai Motor CompanyMasa produksi1983–1992PerancangGiorgetto GiugiaroKesamaanMitsubishi GalantNissan MaximaBodi & rangkaKelasMid-sizeMobil terkaitFord CortinaFord TaunusPenyalur dayaMesin1.4 L Mitsubishi 4G33 I41.6 L Mitsubishi 4G32 I42.0 L Mitsubishi 4G63 I4Transmisi5-speed Mitsubishi KM119 manual3-speed Borg-Warner 03-55L otomatis4-speed Borg-Warner 03-71 otomatis dengan overdrive (1987 saja)DimensiJarak sumbu roda2,579 mm (101.5 in)Panjang4,556 mm (17...

 

Elias KoteasKoteas pada tahun 2010Lahir11 Maret 1961 (umur 63)Montreal, Quebec, KanadaPekerjaanAktorTahun aktif1985–sekarang Elias Koteas (Greek: Ηλίας Κοτέαςcode: el is deprecated ; lahir 11 Maret 1961) adalah pemeran Kanada – Yunani. Dia dikenal karena aktingnya dalam peran pendukung atau pemeran utama dalam film-film dari Amerika Serikat dan Kanada. Filmografi Film Tahun Judul Peran Catatan 1985 One Magic Christmas Eddie 1987 Some Kind of Wonderful Duncan 1987 Gar...

ساوث غلن فالس الإحداثيات 43°17′47″N 73°38′03″W / 43.2964°N 73.6342°W / 43.2964; -73.6342  [1] تقسيم إداري  البلد الولايات المتحدة[2]  التقسيم الأعلى مقاطعة ساراتوغا  خصائص جغرافية  المساحة 3.859908 كيلومتر مربع3.859906 كيلومتر مربع (1 أبريل 2010)  ارتفاع 105 متر  عدد ال�...

 

Election in Alabama Main article: 1928 United States presidential election 1928 United States presidential election in Alabama ← 1924 November 6, 1928 1932 →   Nominee Al Smith Herbert Hoover Party Democratic Republican Home state New York California Running mate Joseph T. Robinson Charles Curtis Electoral vote 12 0 Popular vote 127,797 120,753 Percentage 51.33% 48.50% County results Smith   50–60%   60–70%   70�...

 

Cet article concerne la compétition masculine. Pour la compétition féminine, voir Paris-Roubaix Femmes. Pour les articles homonymes, voir Roubaix (homonymie). Paris-Roubaix Généralités Sport Cyclisme sur route Création 1896 Organisateur(s) ASO Éditions 120 (en 2023) Catégorie UCI World Tour Type / Format Classique flandrienne Périodicité Annuelle (avril) Lieu(x) France Participants 175 (en 2023) Statut des participants Professionnel Directeur Christian Prudhomme Site web offic...

15th-century Albanian rebellion against the Ottoman Empire in the Western Balkans Skanderbeg's rebellionSkanderbeg's portrait by Cristofano dell'Altissimo (1552)DateNovember 1443 — 17 January 1468Location Sanjaks of Albania, Dibra, and Ohrid in the Ottoman Empire League of Lezhë Albania Veneta (modern Albania, North Macedonia, Montenegro, and Kosovo)Result Albanian victory Formation of the League of Lezhe Ottomans were defeated in AlbaniaBelligerents League of Lezhë Members Principality o...

 

بياو <! - للمدن التي ليس اسمها الأصلي باللغة الإنجليزية -> البلدية وسط بياو  علم الشعار: <! - الصور والخرائط -----------> الاسم الرسمي بياو   الإحداثيات 21°30′32″S 43°19′22″W / 21.508888888889°S 43.322777777778°W / -21.508888888889; -43.322777777778   [1] تقسيم إداري  بلد  البرازيل   ...

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (أكتوبر 2015) تحتاج هذه المقالة كاملةً أو أجزاءً منها لإعادة الكتابة حسبَ أسلوب ويكيبيديا. فضلًا، ساهم بإعادة كتابتها لتتوافق معه. (أكتوبر 2015) الانقلاب الديمقراطي هو مصط�...

Синелобый амазон Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:ЗавропсидыКласс:Пт�...

 

Хип-хоп Направление популярная музыка Истоки фанкдискоэлектронная музыкадабритм-энд-блюзреггидэнсхоллджаз[1]чтение нараспев[англ.]исполнение поэзииустная поэзияозначиваниедюжины[англ.]гриотыскэтразговорный блюз Время и место возникновения Начало 1970-х, Бронкс, Н...

 

Частина серії проФілософіяLeft to right: Plato, Kant, Nietzsche, Buddha, Confucius, AverroesПлатонКантНіцшеБуддаКонфуційАверроес Філософи Епістемологи Естетики Етики Логіки Метафізики Соціально-політичні філософи Традиції Аналітична Арістотелівська Африканська Близькосхідна іранська Буддій�...

يجب أن تُنقل صفحات هذا التصنيف إلى تصنيف:المسيحية (إن كان هذا التصنيف مضمناً في قالب بحيث يضاف في الصفحات بصورة آلية فلن ينقلها البوت)

 

Book by Ernst Kantorowicz The King's Two Bodies AuthorErnst KantorowiczPublisherPrinceton University PressMedia typePrintPages616 pp.ISBN978-0691017044 The King's Two Bodies (subtitled, A Study in Mediaeval Political Theology) is a 1957 historical book by Ernst Kantorowicz. It concerns medieval political theology and the distinctions separating the body natural (a monarch's corporeal being) and the body politic.[1] The book has had significant influence on the field of medieval ...

 

◄◄   ◄   12 september   ►   ►► Veckodag 2024: Torsdag Aug · September · Okt Årets 255:e dag(256:e under skottår)110 dagar till årets slut Må Ti On To Fr Lö Sö 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 2024 Alla datum Månader Januari • Februari • Mars April • Maj • Juni • Juli Augusti • September • Oktober November • December På Wikimedia Commonsfi...

Parma Football ClubStagione 2005-2006Sport calcio Squadra Parma Allenatore Mario Beretta Presidente Guido Angiolini Serie A7º Coppa ItaliaOttavi di finale Maggiori presenzeCampionato: Simplício (37) Miglior marcatoreCampionato: Corradi, Simplício (10) StadioEnnio Tardini Abbonati10 639[1] 2004-2005 2006-2007 Si invita a seguire il modello di voce Questa voce raccoglie le informazioni riguardanti il Parma Football Club nelle competizioni ufficiali della stagione 2005-2006....

 

Pour les articles homonymes, voir Fleur (homonymie). Diverses fleurs « simples » et Composées de différentes familles. En biologie, chez les « plantes à fleurs » (angiospermes), la fleur constitue l'organe de la reproduction sexuée et l'ensemble des « enveloppes » qui l'entourent. Après la pollinisation, la fleur est fécondée et se transforme en fruit contenant les graines (ou parfois en fruits sans graines). Les fleurs peuvent être solitaires, mai...

 

طواف سويسرا 2012 طواف العالم للدراجات 2012 السباق 17 من 28 السلسلة طواف العالم للدراجات 2012  رقم السباق 17 سباقات الموسم 28 التاريخ 9–17 يونيو 2012 التاريخ بداية:9 يونيو 2012  نهاية:17 يونيو 2012  عدد المراحل 9 عدد الرياضيين 160   المسافة 1,398.6 كم الزمن 35 ساعة 54 دقيقة 49 ثانية البلد سويس�...

Brazilian actor (born 1986) In this Portuguese name, the first or maternal family name is Sang and the second or paternal family name is Gissoni. Bruno GissoniGissoni in 2011BornBruno Sang Gissoni (1986-12-09) 9 December 1986 (age 37)Rio de Janeiro, BrazilOccupationActorYears active2006–presentSpouse Yanna Lavigne ​(m. 2018)​Children2Relatives Rodrigo Simas (half-brother) Felipe Simas (half-brother) Bruno Sang Gissoni (born 9 December 1986) is a Br...

 

American chemist This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (March 2013) (Learn how and when to remove this message) William Albert NoyesBornNovember 6, 1857near Independence, Iowa, United StatesDiedOctober 24, 1941(1941-10-24) (aged 83)Alma materGrinnell College Johns Hopkins UniversityKnown forCamphor chemistryAwardsWillard Gibbs Award (1...