Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Лабораторная работа №6 Решение уравнений и неравенствСтр 1 из 2Следующая ⇒
Цель работы: Получение навыков использования условных операторов в процессе решения уравнений и неравенств. Памятка по использованию операторов: Оператор безусловного перехода(GoTo) GoTo< метка>; Оператор безусловного перехода GoTo передаёт управление оператору программы, перед которым стоит метка, указанная в операторе GoTo. Все метки должны быть описаны в разделе объявлений Label. Область действия оператора не может выходить за пределы блока, в котором описана метка. П р и м е р использования оператора GoTo Label End1; ... GoTo End1; ... End1: x: =x+2;... Составной оператор(Begin … End) Составной оператор – это последовательность операторов заключённая в операторные скобки Begin < операторы> End; Составной оператор используется для объединения нескольких операторов в виде одного в тех местах, где допустимо использование именно одного оператора. Эта ситуация характерна для операторов условного перехода и операторов циклов, которые рассматриваются в следующих разделах. Всегда сразу же пишите и begin и end, причем оба слова с новой строки на одном уровне. Затем наполняйте их внутренними операторами с отступом в 2 пробела. Такой стиль написания программы существенно облегчает её понимание и снижает количество возможных ошибок.
Операторы условного перехода(If, Case) Оператор If имеет следующую структуру: If< условие> Then< оператор> [Else< оператор> ]; где условие – это некоторое логическое выражение. Если оно является истинным, т.е. - True, то выполняется оператор (составной оператор), следующий за Then. Иначе, при наличии Else, выполняется оператор (составной оператор) следующий за Else. Если Else-часть отсутствует, то выполняется очередной оператор после If. Else-часть относится к ближайшей If-части. Обращаем Ваше внимание, что в частях Then и Else может присутствовать только один оператор. Если Вы хотите там выполнить несколько операторов, то их необходимо оформить как один составной оператор, т. е. заключить в«операторные скобки» begin … end. П р и м е р использования условного оператора Нахождение корней квадратного уравнения Var a, b, c, D, x, x1, x2: Double; begin { Ввод коэффициентовa, b, c квадратного уравнения... } D: =b*b-4*a*c; // вычисление дискриминанта IfD> 0 then Begin x1: =(-b+Sqrt(D))/(2*a); x2: =(-b-Sqrt(D))/(2*a); { вывод двух решенийx1, x2… } end else {еслиD< =0} IfD=0 then begin x: =-b/(2*a); { вывод единственного решенияx … } end else { еслиD< 0} { вывод комментария: Уравнение не имеет решений} end; Если оператор If содержит длинное сложное условие, то заключайте его в круглые скобки, это поможет компилятору правильно обработать If. Наиболее вероятные условия пишите слева, а менее вероятные – в else-части и во вложенных If.
Следующий условный оператор– Case. Он позволяет сделать выбор из множества вариантов без использования сложных вложенных конструкций из операторов If…else. Он имеет структуру: Case< селектор> Of < метка1>: < Оператор>; < метка2>: < Оператор>; ... [Else< Оператор>; ] End { конец Case }; Селектор – это выражение перечислимого типа, значение которого вычисляется и последовательно сравнивается с указанными метками, представляющими собой заранее определенные возможные значения селектора. При совпадении значения селектора с какой-либо меткой выполняется соответствующий оператор (составной оператор). Оператор, следующий за Else, выполняется в том случае, если значение селектора не совпало ни с одной из указанных меток. П р и м е р использования Case Var Operator: Char; X: Double; Begin { Вввод значения переменнойOperator… } Case Operator Of 'p': X: =X+5; {выполняется если значение Operator=’p’ } 'm': X: =X-5; {выполняется если значение Operator=’m’ } 'c': X: =X*5; {выполняется если значение Operator=’с’ } end; < Вывод значенияX > end; В качестве метки может быть множество или диапазон возможных значений селектора. П р и м е р 2 Ввод целых чисел с комментариями, пока не будет введено число отрицательное или большее 12. LabelRestart; Var I: Integer; begin Restart: < Ввод целого значения переменнойI … > Case I Of 0: < вывод комментария: 'I=0' > 2, 4, 6, 8: < 'Чётное положительное, меньше10> 1, 3, 5, 7, 9: < 'Нечётное положительное, меньше10' > Low(Integer)..-1: < 'Отрицательное' > 10..High(Byte): < 'От10 до255' > else begin < Вывод: 'Число больше255' … > Close; {закрыть приложение} end; GoToRestart; // Повторить всё с начала End; Если begin следует за else, то их целесообразно писать на одной строке.
|