реферат Простые операторы. Характеристика форм.docx. Лр операторы и выражения Delphi
Скачать 1.3 Mb.
|
Оператор перехода gotoВ 1970-е годы, во времена становления языка Pascal достаточно распространенным приемом программирования был стиль, основанный на применении оператора перехода goto. Оператор перехода позволял осуществить быстрый переход от одного участка кода к другому, отмеченному специальной меткой участку (листинг 1.10). Листинг 1.10. Использование оператора перехода goto label DemoLabel; //объявление метки var i:integer=0; begin DemoLabel: {участок кода отмечен меткой DemoLabel} begin WriteLn(i); inc(i); if i<10 then goto DemoLabel; {переход к метке DemoLabel} end; ReadLn; end. Сегодня оператор goto утратил свою актуальность и практически не применяется, вместо него целесообразно отдавать предпочтение вызову процедур и функций. Единственным оправданием обращения к оператору перехода может стать принудительный выход вниз по коду из нескольких вложенных циклов. Внимание! Оператор goto противоречит одному из основных принципов структурного программирования — модули программы должны иметь один вход и один выход. Оператор with..do Оператор with..do значительно упрощает процесс написания кода программы, обеспечивая ускоренный доступ к полям записей и объектов. Каким образом? Допустим, что наша программа использует переменную-запись вида, предложенного в листинге 1.11. Листинг 1.11. Стандартный способ обращения к полям записи var DemoRecord : record //объявление записи I : integer; R : real; B : boolean; end; begin DemoRecord.I:=-41; DemoRecord.R:=0.48; DemoRecord.B:=True; Как видите, для обращения к полям записи мы вынуждены писать код, повторяющий из строки в строку имя владельца полей — DemoRecord. А если таких полей несколько десятков? Никчемное и рутинное занятие. Разработчики Delphi предложили конструкцию, исключающую необходимость многократных повторов имени объекта (записи, переменой и т. д.): with <объект> do begin <действиесполем1объекта> . . . <действиесполемNобъекта> end; Оператор with..do значительно упрощает труд программиста. Теперь обращение к полям записи происходит без многократного упоминания имени самой записи (листинг 1.12). Листинг 1.12. Пример работы с оператором with..do with DemoRecord do begin I:=-41; R:=0.48; B:=true; end; Встретив конструкцию with..do, компилятор понимает, что далее идет речь только о конкретном объекте (в нашем случае это запись DemoRecord), и больше не требует упоминания его имени. |