Файл: Отчет по лабораторной работе 14 Вариант 9 Выполнил студент гр. Ээ4122 Прусаков Матвей.docx
Добавлен: 29.11.2023
Просмотров: 55
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ФБГОУ ВО «Чувашский Государственный университет им. И.Н. Ульянова »Факультет энергетики и электротехникиКафедра электроснабжения и интеллектуальных электроэнергетических системИмени А.А.ФедороваОтчет по лабораторной работе №14Вариант №9 Выполнил : студент гр. ЭЭ-41-22 Прусаков Матвей Проверил: ст. преподаватель Афанасьева М.Н.Чебоксары 2022Цель работы - освоение приемов алгоритмизации разветвляющихся алгоритмов с применением операторов языков программирования Turbo Basic и Turbo Pascal.Необходимые исходные сведения Структура ветвления в алгоритмах предполагает выбор одной из нескольких ветвей действий (последовательности операторов) в зависимости от результата проверки некоторых условий.Система Turbo Basic Для реализации разветвляющейся структуры в Turbo Basic используют условные (одно- строчный и блочный) операторы IF и оператор SELECT . Однострочный оператор IF вычисляет логическое выражение и в зависимости от результата вычисления изменяет ход выполнения программы. Структура оператора:IF <логическое выражение> (ELSE <операторы 2>]THEN <операторы1>Если логическое выражение имеет значение TRUE (истина), то выполняются операторыi, следующие за теми расположенные необязательным ELSE. Если значением выражения является FALSE (ложь), то выполняются операторы. следующие за ELSE, а при отсутствии ELBE-части сразу происходит переход к выполнению следующего оператора. Блочный оператор IF Обеспечивает создание многострочных вложенных операторов IF. Структура оператора:IF <логическое выражение > THEN соператоры!>[ELSEIF <логическое выражени42> THEN<операторы2>](ELSEEND IF<оператор 3>]При выполнении блочного оператора ТЕ вначале вычисляется значение логического выражения1. Если значение равно FALSE, то вычисляется логическое выражение из последующей ELSEIF-части оператора и так далее (конструкций ELSE может быть сколько угодно), пока не обнаружится логическое выражение со значением TRUE. При истинности логического выражения, выполняются операторы, расположенные после соответствующего ему THEN. <Операторы3> после необязательного ELSE выполняются, если ни одно из предшествующих логических выражений не имеет значения TRUE. Операторы блока IE допускают вложения: любой оператор после любого THEN может содержать блоки тн.
Оператор SELECТ обеспечивает организацию разветвлений путем выбора одного из нескольких ветвей действий. Структураоператора:SELECT CASE <Селектор-Выражение> CASE <Список Значений!>Операторы1CASE <<Список значений >Операторы 2 CASE ELSEОператоры3 END SELECTпрограмма :Program date;var ch,m,g:integer;beginwriteln('vvedite date');readln(ch);readln(m);readln(g);case m of1,3,5,7,8,10:if ch=31 then writeln ('sled den:',01,'.', m+01,'.',g)else if ch<=30 then writeln ('sled dem ',ch+1,'.',m,'.',g) else writeln('eror');04,06,09,11 : if ch=30 then writeln ('sled den',01,'.',m+01,'.',g+1)else if ch<=29 then writeln('sled den',ch+01,'.',m,'.',g)else writeln('eror');12: if ch=31 then writeln ('sled den',01,'.',m-11,'.',g+1);else if ch<=30 then writeln ('sled den',ch+01,'.',m,'.',g) else writeln('eror');if((g mod 4=0)and(g mod 100<>0)) or(g mod 400=0) thenbeginif ch=29 then writeln('sled den',01,'.',m+1,'.',g)else writeln('sled den',ch+01,'.',m,'.',g);endelse if ch=28 then writeln('sled den',01,'.',m+1,'.',g)else writeln('sled den',ch+1,'.',m,'.',g);end;readln;end.блок схема:
Оператор SELECТ обеспечивает организацию разветвлений путем выбора одного из нескольких ветвей действий. Структураоператора:SELECT CASE <Селектор-Выражение> CASE <Список Значений!>Операторы1CASE <<Список значений >Операторы 2 CASE ELSEОператоры3 END SELECTпрограмма :Program date;var ch,m,g:integer;beginwriteln('vvedite date');readln(ch);readln(m);readln(g);case m of1,3,5,7,8,10:if ch=31 then writeln ('sled den:',01,'.', m+01,'.',g)else if ch<=30 then writeln ('sled dem ',ch+1,'.',m,'.',g) else writeln('eror');04,06,09,11 : if ch=30 then writeln ('sled den',01,'.',m+01,'.',g+1)else if ch<=29 then writeln('sled den',ch+01,'.',m,'.',g)else writeln('eror');12: if ch=31 then writeln ('sled den',01,'.',m-11,'.',g+1);else if ch<=30 then writeln ('sled den',ch+01,'.',m,'.',g) else writeln('eror');if((g mod 4=0)and(g mod 100<>0)) or(g mod 400=0) thenbeginif ch=29 then writeln('sled den',01,'.',m+1,'.',g)else writeln('sled den',ch+01,'.',m,'.',g);endelse if ch=28 then writeln('sled den',01,'.',m+1,'.',g)else writeln('sled den',ch+1,'.',m,'.',g);end;readln;end.блок схема: