SlideShare a Scribd company logo
1 of 25
Презентация на тему:
Выполнила студентка 1-го курса
экономического ф-та группы
менеджмент Зинович Наталья.
Содержание:Содержание:
 ВведениеВведение
 Условные операторыУсловные операторы
 ОператорОператор if… then…if… then… вв Pascal, DelphiPascal, Delphi
 ОператорОператор if… then… else…if… then… else… вв Pascal, DelphiPascal, Delphi
 ВложенныеВложенные операторыоператоры if… then… else…if… then… else… вв Pascal, DelphiPascal, Delphi
 ОператорОператор ifif……thenthen… в С… в С
 ОператорОператор case...of...endcase...of...end вв Pascal, DelphiPascal, Delphi
 ОператорОператор switchswitch в Св С
 Вложенные операторыВложенные операторы switchswitch вв CC
 Операторы циклаОператоры цикла
 ОператорОператор циклацикла while…do...while…do...вв Pascal, DelphiPascal, Delphi
 ОператорОператор циклацикла repeat...until...repeat...until... вв Pascal, DelphiPascal, Delphi
 ОператорОператор циклацикла for...to...do...for...to...do...вв Pascal, DelphiPascal, Delphi
 ОператорОператор циклацикла for...downto...do...for...downto...do...вв Pascal, DelphiPascal, Delphi
 ЦиклЦикл forfor вв CC
 Варианты циклаВарианты цикла forfor вв CC
 Бесконечный цикл вБесконечный цикл в CC
 ЦиклЦикл forfor без тела цикла вбез тела цикла в CC
 ЦиклЦикл whilewhile вв CC
 Пример решения задачи в языках (условие)Пример решения задачи в языках (условие)
 Блок-схемаБлок-схема
 Для С++Для С++
 ДляДля Pascal, DelphiPascal, Delphi
 ДляДля Visual BasicVisual Basic
 The end.The end.
ВВЕДЕНИЕВВЕДЕНИЕ
Оператор – это часть программы, которая может быть
выполнена отдельно. Это означает, что оператор
определяет некоторое действие.
Операторы строятся из специальных
зарезервированных слов, логических выражений и
других операторов.
В зависимости от языка программирования
операторы слегка отличаются друг от друга, но в
целом они очень похожи.
Существуют следующие группы операторов:
Условные операторы
Операторы цикла
Операторы безусловного перехода
Метки
В языке С к условным относятся операторы if и
switch. Иногда их также называют операторами
условного перехода. Операторы цикла – это while,
for, do-while. К операторам безусловного перехода
относятся break, continue, goto и return. К меткам
относятся операторы case, default и собственно
метки. Операторы- выражения – это операторы,
состоящие из допустимых выражений. Блок
представляет собой фрагмент текста программы,
обрамленный фигурными скобками {}. Блок иногда
называют составным оператором.
В СОДЕРЖАНИЕ
ОператорОператор if… then…if… then… вв Pascal, DelphiPascal, Delphi
ОператорОператор ifif…… thenthen… называется условным и имеет вид:… называется условным и имеет вид:
If <условие-1> Then <команды-1>If <условие-1> Then <команды-1>
где <условие> – это некое логическое выражение.где <условие> – это некое логическое выражение.
Логическое выражение принимает одно из двухЛогическое выражение принимает одно из двух
возможных значений –возможных значений – truetrue(истина) или(истина) или falsefalse(ложь).(ложь).
Часто в роли логического выражения выступает какое-тоЧасто в роли логического выражения выступает какое-то
условие, которое может выполняться либо нет. В первомусловие, которое может выполняться либо нет. В первом
случае его значение - «истина», а во втором – «ложь».случае его значение - «истина», а во втором – «ложь».
Если логическое выражениеЕсли логическое выражение <условие-1><условие-1> принимаетпринимает
значение «истина», то выполняется операторзначение «истина», то выполняется оператор <команды-<команды-
1>.1>. В противном случае выполняется оператор,В противном случае выполняется оператор,
следующий за данным логическим оператором.следующий за данным логическим оператором.
ОператорыОператоры ifif…… thenthen… можно вкладывать друг в друга, так… можно вкладывать друг в друга, так
как конструкциякак конструкция
If <условие-2> Then <команды-2>;If <условие-2> Then <команды-2>;
также является оператором и может заместить оператортакже является оператором и может заместить оператор
<команды-1>:<команды-1>:
If <условие-1> Then If <условие-2> ThenIf <условие-1> Then If <условие-2> Then
<команды-2><команды-2>;;
Пример условного оператора:Пример условного оператора:
IfIf GradeGrade=0 Then=0 Then WriteWrite(‘температура замерзания воды’);(‘температура замерзания воды’);
В СОДЕРЖАНИЕ
ОператорОператор if… then… else…if… then… else… вв
Pascal, DelphiPascal, Delphi
If <условие-1> Then
If <условие-2> Then
<команды-2>
Else
<команды-1>;
Равносилен оператору
If <условие-1> Then
begin
If <условие-2> Then
<команды-2>
Else
<команды-1>;
Чтобы четко определить, что чему подчинено, необходимо
использовать begin…end.
Пример условного оператора:
If Two=2 Then
Writeln(‘два равно 2’)
Else
Writeln(‘Это не 2!’)
Усл 1
да нет
Усл 2
да
Ком2 Ком1
нет
Этот оператор является полной версией условного оператора и имеет вид:
If <условие-1> Then <команды-1> els<команды2>;
Выполняется данный оператор следующим образом: если выражение <условие-1>
принимает значение «истина», то управление передается на оператор <команды-1>. В
противном случае на оператор <команды-2>.
Следует учесть, что каждому else соответствует ближайший предшествующий if. Т.е.
оператор
В СОДЕРЖАНИЕ
ВложенныеВложенные операторыоператоры if… then…if… then…
else…else… вв Pascal, DelphiPascal, Delphi
Как уже отмечалось, условные операторыКак уже отмечалось, условные операторы
можно вкладывать друг в друга,можно вкладывать друг в друга,
программируя таким образом сложныепрограммируя таким образом сложные
ветвления. Рассмотримветвления. Рассмотрим следующийследующий
оператороператор::
If <If <условиеусловие-1> Then-1> Then
<<командыкоманды-1>-1>
Else If <Else If <условиеусловие-2> Then-2> Then
<<командыкоманды-2>-2>
Else If <Else If <условиеусловие-3> Then-3> Then
<<командыкоманды-3>-3>
……..
Else If <Else If <условиеусловие-n> Then-n> Then
<<командыкоманды-n>-n>
Вначале вычисляется значениеВначале вычисляется значение
логического выражения <условие-1>. Еслилогического выражения <условие-1>. Если
оно истинно, выполняется оператороно истинно, выполняется оператор
<команды-1>, если же это значение<команды-1>, если же это значение
ложно, вы­числяется значение выраженияложно, вы­числяется значение выражения
<условие-2>. В том случае, когда<условие-2>. В том случае, когда
полученное значение истинно, будетполученное значение истинно, будет
выполняться оператор <команды-2>, привыполняться оператор <команды-2>, при
значении «ложь» будет вычислятьсязначении «ложь» будет вычисляться
выражение <условие-3> и т. двыражение <условие-3> и т. д ..
Если выражения <условие-Если выражения <условие-ii> независимы, то> независимы, то
есть вычисление их значений в любоместь вычисление их значений в любом
порядке дает один и тот же результат дляпорядке дает один и тот же результат для
каждого из них, имеет смысл располагать ихкаждого из них, имеет смысл располагать их
в таком порядке, чтобы выражение, св таком порядке, чтобы выражение, с
наибольшей вероятнос-тью принимающеенаибольшей вероятнос-тью принимающее
значение «истина», стояло на первом месте,значение «истина», стояло на первом месте,
выражение, принимающее значениевыражение, принимающее значение
«истина» с меньшей вероятностью, — на«истина» с меньшей вероятностью, — на
втором и т. д.. Это уменьшит времявтором и т. д.. Это уменьшит время
выполнения данного фрагмента программы,выполнения данного фрагмента программы,
особенно если вложенный операторособенно если вложенный оператор
появляется в цикле, который выполняетсяпоявляется в цикле, который выполняется
много-кратно.много-кратно.
Пример вложенных условных операторов:Пример вложенных условных операторов:
if Twoif Two = 2= 2 thenthen
if One = 1 thenif One = 1 then
Writeln('Writeln('ЕдиницаЕдиница равнаравна 1')1')
elseelse
WritelnWriteln('Единица не равна 1 ‘)('Единица не равна 1 ‘)
elseelse
if Three = 3 thenif Three = 3 then
Writeln(‘Writeln(‘ТриТри равноравно 3‘)3‘)
elseelse
WritelnWriteln('Три не равно З');('Три не равно З');
В СОДЕРЖАНИЕ
ОператорОператор ifif……thenthen…… в Св С
В языках С, С++ оператор if…then будет выглядеть следующим образом:
If (условие) команда1; Else команда2;
Или, если операторы вложены друг в друга:
If (условие1)
Команды1;
Else
If (условие2)
Команды2;
Else
Команды3;
В настоящее время большинство компиляторов допускают боль-ше 100 уровней вложенности.
Однако на практике необходимость в глубине вложенности, большей, чем несколько уровней,
возникает довольно редко, так как уве-личение глубины вложенности быстро запутывает
программу и делает ее нечитаемой.
В программах часто используется конструкция, которую называют лестницей if-else-if. Общая
форма лестницы имеет вид
if (выражение) оператор;
else if (выражение) опера тор;
else if (выражение) оператор;
else оператор;
Работает эта конструкция следующим образом. Условные выражения операторов if вычисляются
сверху вниз. После выполнения некоторого условия, т.е. когда встре-тится выражение,
принимающее значение ИСТИНА, выполняется ассоциированный с этим выражением оператор, а
оставшаяся часть лестницы пропускается. Если все условия ложны, то выполняется оператор в
последней фразе else, а если последняя фраза else отсутствует, то в этом случае не выполняется
ни один оператор.
В СОДЕРЖАНИЕ
ОператорОператор case...of...endcase...of...end вв Pascal, DelphiPascal, Delphi
Для ситуаций, где имеется несколько (три и более) альтернатив, больше под­ходит
оператор case. Этот оператор называется оператором выбора и имеет следующий вид:
case <тестируемое выражение> of
<список­1> : <команды­1>;
< список­2> : <команды­2>;
< список­3> : <команды­3>;
…
< список ­n> : <команды­n>;
Else <команды>;
End;
Рассмотрим элементы этой конструкции. Во­первых, это три зарезервирован­ных
слова: case, of и end. Между case и of находится выражение <тестируемое
выражение>, принимающее значение, которое, возможно, имеется в одном из
списков зна­чений, находящихся слева от двоеточий. Данное выражение называется
селек­тором оператора case. Каждый оператор, идущий за двоеточием, отделяется от
следующего списка значений точкой с запятой. Ветвь else, отвечающая всем не
перечисленным значениям выражения <тестируемое выражение>, необязательна.
При вы­полнении данного оператора вначале вычисляется значение селектора. Затем
выбирается тот список значений, которому принадлежит полученное значе­ние, и
выполняется соответствующий оператор.
В списках значений оператора case допустимыми являются типы переменных,
называемые скалярными (к скалярным относятся целый, символьный, булев и пере­
числимые типы), включая целые и исключая вещественные типы. Любое заданное
значение селектора может вхо­дить в список значений неоднократно, но выполняться
будет лишь первая подходящая ветвь. Заметим, что «стилистически» такая
конструкция выглядит не очень изящно. Если значение селектора отсутствует в
списках значений, ни одна из альтернатив выполняться не будет. В этом случае
выполняется ветвь else оператора case или (если эта ветвь отсутствует) следующий за
case оператор.
case
В СОДЕРЖАНИЕ
ОператорОператор switchswitch в Св С
Оператор выбора switch (часто его называют переключателем) предназначен для
выбора ветви вычислительного процесса исходя из значения управляющего
выражения. (При этом значение управляющего выражения сравнивается со
значениями в списке целых или символьных констант. Если будет найдено
совпадение, то выполнится ассоциированный с совпавшей константой оператор.)
Об операторе switch очень важно помнить
следующее:
■ Оператор switch отличается от if тем, что
в нем управляющее выражение проверяется
только на равенство с постоянными, в то время
как в if проверя­ется любой вид отношения или
логического выражения.
■ В одном и том же операторе switch
никакие два оператора case не могут иметь
равных постоянных. Конечно, если один switch
вложен в другой, в их операторах case могут
быть совпадающие постоянные.
■ Если в управляющем выражении
оператора switch встречаются символьные
константы, они автоматически преобразуются к
целому типу по принятым в языке С правилам
приведения типов.
Оператор switch часто используется для
обработки команд с клавиатуры, напри­мер,
при выборе пунктов меню.
В СОДЕРЖАНИЕ
Вложенные операторы switch в C
Оператор switch может находиться в теле внешнего по
отношению к нему оператора switch. Операторы case внутреннего
и внешнего switch могут иметь одинако­вые константы, в этом
случае они не конфликтуют между собой. Например, следующий
фрагмент программы вполне работоспособен:
switch (x)
{
case 1: switch(y)
{
case 0:
printf ("Деление на нуль n");
break;
case 1: process(х,y);
break;
}
break;
case 2:
…
}
В СОДЕРЖАНИЕ
Оператор цикла while…do... в Pascal, Delphi
Оператор цикла является важнейшим оператором и имеется в большинстве со­
временных языков программирования. Цикл позволяет многократно выполнить
некоторое множество действий, задаваемых операторами, составляющими его тело. В
Паскале име­ется несколько разновидностей оператора цикла. Начнем с оператора
цикла с предусловием. Данный оператор имеет вид:
While <условие> Do <команды>;
Повторяемы
е операторы:
…
<команды-
1>
<команды 2>
…
<команды 3>
нет
да
условие
При выполнении этого оператора вначале вычисляется
значение логического выражения <условие>. Если это
значение истинно, выполняется оператор <команды>, затем
значение выражения проверяется вновь и т. д., до тех пор, пока
выражение не примет значение «ложь». Если выражение
принимает значение «ложь» при первой же проверке, то
оператор <команды> не выполняется вооб­ще. Особо отметим
частный случай:
while True do <команды>;
Здесь оператор <команды> будет выполняться
бесконечно.
Пример оператора цикла с предусловием:
While Counter<10 Do begin
Write(‘Значение счетчика равно’ ,Counter);
Writeln;
Counter:=Counter+2;
end; В СОДЕРЖАНИЕ
ОператорОператор циклацикла repeat...until...repeat...until... вв Pascal,Pascal,
DelphiDelphi
Оператор цикла с постусловием имеет вид
repeat <команды> until <условие> ;
Здесь вначале выполняется оператор <команды>, а затем вычисляется значение логического выражения
<условие>. Процесс повторяется, пока выражение <условие> принимает значение «ложь». Как только это
значение станет истин­ным, выполнение цикла прекращается. Оператор <команды> может быть любым, в том
числе и составным оператором:
begin
<команды­1>;
<команды­2>;
<команды­3>;
End;
Повторяемы
е операторы:
…
<команды-
1>
<команды 2>
…
<команды 3>
нет
да
условие
В цикле repeat...until... операторные скобки begin...end могут быть опущены.
Таким образом, в общем случае оператор repeat...until... имеет следующий вид:
repeat <команды­1>;
<команды­2>;
<команды­3>;
until <условие> ;
Точка с занятой перед зарезервированным словом until необязательна. В
при­веденном ниже частном случае
repeat <команды­1>;
<команды­2>;
<команды­3>;
Until False ;
цикл выполняется бесконечно. Еще раз обратим внимание на то, что если
в операторе whiIe...do... проверка выполняется в начале цикла, то в цикле
repeat…until…. проверка выполняется в последнюю очередь, и тело цикла в
любом случае выполняется хотя бы один раз.
Вот пример цикла с постусловием:
repeat
write(‘значение счетчика равно’, Counter);
writeln;
Counter:=Counter+2;
until Counter=10 ; В СОДЕРЖАНИЕ
Оператор циклаОператор цикла forfor......toto......dodo... в... в Pascal, DelphiPascal, Delphi
Третий вариант оператора цикла — цикл со счетчиком. Можно считать, что есть
две очень похожих друг на друга разновидности цикла со счетчиком. Первый из
этих операторов имеет вид
For j:=<значение 1> To <значение 2> Do <команды>
Повторяемы
е операторы:
…
<команды-
1>
…
<команды 3>
да
j:=знач1
j<=знач1
j:=j+1
Здесь переменная j, называемая управляющей
переменной цикла for, является произвольным
идентификатором, который объявляется как
переменная любого скалярного типа (к скалярным
относятся целый, символьный, булев и перечислимые
типы).
При выполнении оператора for сначала вычисляется
значение выражения <значение 1> затем
вычисляется значение выражения <значение 2>,
далее управ-ляющая переменная цикла
последовательно пробегает все значения от
<значение 1> до <значение 2>. В том случае, когда
значение <значение 1> оказывается больше
значения <значение 2>, тело цикла не будет
выполняться вовсе. Эти значения остаются
неизменными в ходе выполнения всего цикла for.
СОДЕРЖАНИЕ
Оператор циклаОператор цикла for...downto...do...for...downto...do... вв Pascal,Pascal,
DelphiDelphi
Вариант for...downto...do... цикла for аналогичен циклу for…to...do... за
исключением того, что в нем управляющая переменная на каждом шаге выполнения
не увеличивается, а уменьшается на единицу:
for j := <значение 1> downto <значение 2> do <команды>;
Подводя итоги, для применения циклов можно сформулировать
следующие рекомендации:
Используйте цикл for в том случае, когда точно знаете, сколько раз должно
быть выполнено тело цикла. В противном случае обратитесь к циклам repeat или while
Используйте repeat, если необходимо, чтобы тело цикла выполнялось по
крайней мере один раз.
Используйте while, если хотите, чтобы проверка была произведена, прежде, чем
будет выполняться тело цикла.
Иногда бывает удобно проводить проверку на возможный выход из цикла где-
нибудь в его середине, а не в начале или в конце. Такой выход из цикла
обеспечивается процедурой break, которая прерывает выполнение самого
внутреннего вложенного цикла, будь то for, while или repeat.
Пример:
While true do
Begin
Statement1;
If expression then break;
Statement2;
End;
Следует также упомянуть процедуру continue , которая прерывает выполнение
тела самого внутреннего цикла for, while или repeat и передает управление на его
заголовок, так что начинается выполнение очередной итерации цикла.
СОДЕРЖАНИЕ
ЦиклЦикл forfor вв CC
Во всех процедурных языках программирования циклы for очень похожи, в С этот цикл
особенно гибкий и мощный. Общая форма оператора for следующая:
for (инициализация; условие; приращение) оператор;
Цикл for может иметь большое количество вариаций. В наиболее общем виде принцип
его работы следующий. Инициализация — это присваивание начального значения
переменной, которая называется параметром цикла. Условие представляет собой
выражение, определяющее, следует ли выполнять оператор цикла (часто его называют
телом цикла) в очередной раз. Оператор приращение осуществляет изменение параметра
цикла при каждой итерации. Эти три оператора (они называются также секциями
оператора for) обязательно разделяются точкой с запятой. Цикл for выполняется, если
выражение условие принимает значение ИСТИНА. Если оно хотя бы раз примет значение
ЛОЖЬ, то программа выходит из цикла и выполняется оператор, следующий за телом
цикла for.
В следующем примере в цикле for выводятся на экран числа от 1 до 100:
#include <stdio.h>
int main(void)
{
int x;
for(x=1; x <= 100; x++)
printf(“%d”, x);
return 0;
}
В этом примере параметр цикла х инициализирован числом 1, а затем при каждой
итерации сравнивается с числом 100. Пока переменная х меньше 100, вызывается
функция printf () и цикл повторяется. При этом х увеличивается на 1 и опять про­
веряется условие цикла х <= 100. Процесс повторяется, пока переменная х не станет
больше 100. После этого процесс выходит из цикла, а управление передается операто­ру,
следующему за ним.
СОДЕРЖАНИЕ
Варианты цикла for в C
В предыдущем разделе рассмотрена наиболее общая форма цикла for.
Однако в языке С допускаются некоторые его варианты, позволяющие
во многих случаях увеличить мощность и гибкость программы.
Один из распространенных способов усиления мощности цикла for —
применение оператора "запятая" для создания двух параметров цикла.
Оператор "запятая" связывает несколько выражений, заставляя их
выполняться вместе. В следующем примере обе переменные (х и у)
являются параметрами цикла for и обе инициализируются в этом
цикле:
for(x=0, y=0; х+у < 10; ++х)
{
у = getchar();
у = у - '0'; /* Вычитание из у ASCII-кода нуля */
……
}
Здесь запятая разделяет два оператора инициализации. При каждой
итерации зна-чение переменной х увеличивается, а значение у
вводится с клавиатуры. Для выполнения итерации как х, так и у
должны иметь определенное значение. Несмотря на то, что значение у
вводится с клавиатуры, оно должно быть инициализировано таким
образом, чтобы выполнилось условие цикла при первой итерации.
Если у не инициализировать, то оно может случайно оказаться таким,
что условие цикла примет значение ЛОЖЬ, тело цикла не будет
выполнено ни разу.
СОДЕРЖАНИЕ
Бесконечный цикл вБесконечный цикл в CC
Для создания бесконечного цикла можно использовать любой
оператор цикла, но чаше всего для этого выбирают оператор
for. Так как в операторе for может отсутст­вовать любая секция,
бесконечный цикл проще всего сделать, оставив пустыми все
секции. Это хорошо показано в следующем примере:
for( ; ; ) printf(" Этот цикл крутится бесконечно ");
Если условие цикла for отсутствует, то предполагается, что его
значение — ИСТИНА. В оператор for можно добавить выражения
инициализации и приращения, хотя обычно для создания
бесконечного цикла используют конструкцию for ( ; ; ).
Фактически конструкция for ( ; ; ) не гарантирует бесконечность
итераций, по­тому что в нем может встретиться оператор break,
вызывающий немедленный выход из цикла. В этом случае
выполнение программы продолжается с оператора,
следующего за закрывающейся фигурной скобкой цикла for:
ch = ‘ 0’;
for (; ;)
{
ch = getchar(); /* считывание символа */
if (ch == 'A') break; /* выход из цикла */
}
printf(“ Вы напечатали 'А’ ");
В данном примере цикл выполняется до тех пор, пока
пользователь не введет с клавиатуры символ а.
СОДЕРЖАНИЕ
Цикл for без тела цикла в C
Следует учесть, что оператор может быть пустым. Это значит, что тело цикла for (или
любого другого цикла) также может быть пустым. Такую особенность цикла for
можно использовать для упрощения некоторых программ, а также в циклах, предна­
значенных для того, чтобы отложить выполнение последующей части программы на
некоторое время.
Программисту иногда приходится решать задачу удаления пробелов из входного
потока. Допустим, программа, работающая с базой данных, обрабатывает запрос
"показать все балансы меньше 400". База данных требует представления каждого
сло­ва отдельно, без пробелов, т.е. обработчик распознает слово "показать", но не "
по­казать". В следующем примере цикл for удаляет начальные пробелы в строке
for( ; *str==’ ‘; str++ );
В этом примере указатель str переставляется на первый символ, не являющийся
пробелом. Цикл не имеет тела, так как в нем нет необходимости.
Иногда возникает необходимость отложить выполнение последующей части
программы на определенное время. Это можно сделать с помощью цикла for
следующим образом:
for(t =0; t < SOME_VALUE; t++);
Единственное назначение этого цикла — задержка выполнения последующей части
программы. Однако следует иметь в виду, что компилятор может оптимизировать
объектный код таким образом, что пропустит этот цикл вообще, поскольку он не вы­
полняет никаких действий, тогда желаемой задержки выполнения последующей
части программы не произойдет.
СОДЕРЖАНИЕ
Цикл while в C
Общая форма цикла while имеет следующий вид:
while (условие) оператор;
Здесь оператор (тело цикла) может быть пустым
оператором, единственным опера­тором или блоком.
Условие (управляющее выражение) может быть любым
допустимым в языке выражением. Условие считается
истинным, если значение выражения не рав­но нулю, а
оператор выполняется, если условие принимает значение
ИСТИНА. Если условие принимает значение ЛОЖЬ,
программа выходит из цикла и выполняется сле­дующий
за циклом оператор.
Как и в цикле for, в цикле while условие проверяется
перед началом итерации. Это значит, что если условие
ложно, тело цикла не будет выполнено. Благодаря этому
нет необходимости вводить в программу отдельное
условие перед циклом.
СОДЕРЖАНИЕ
Пример решения
задачи в
описываемых языкахУсловие: После запуска программы на экран выводятся меню:
1 – add;
2­ substract
3­multiplie
4­ divide
Затем на экран выводится просьба ввести первое число, а затем и
второе.
После успешного ввода чисел выводится просьба ввести номер
операции, которую вы хотите произвести.
Если вы ввели «1»­ то компьютер выведет на экран сумму двух
чисел
Если вы ввели «2»­ то если первое введенное вами число
больше, чем второе, то на экран выведется разность, иначе
выведется сообщение о том, что первое число меньше второго и
вычитание произвестись не может
Если вы ввели «3»­ то выведет на экран произведение
Если вы ввели «4»­ то если второе число не ноль, на экран
выведется частное двух чисел (первое/второе), иначе на экран
выведется надпись что знаменатель =0
СОДЕРЖАНИЕ
БЛОК - СХЕМА
begin
n1,n2,
ch
Sum:=n
1+n2
Sub:=n1
-n2
mul:=n1
*n2
su
m
n1>n
2
messa
ge sub
не
т
да
mul
Case
ch
n2=
0
не
т
да
messa
ge
divis:=n
1/n2
divi
s
end
1
2 3
4
СОДЕРЖАНИЕ
Для С++
#include <iostream>
using namespace std;
int main()
{
int ch, n1, n2,sum, sub, mul;
double divis;
cout<<"1- + n";
cout<<"2- - n";
cout<<"3- * n";
cout<<"4- / n";
cout<<"nn";
cout<<"enter the first number n";
cin>>n1;
cout<<"enter the second number n";
cin>>n2;
cout<<"enter the operation";
cin>>ch;
switch (ch)
{
case 1: /*add numbers*/
sum=n1+n2;
cout<<"summ== "<<sum;
break;
case 2: /*subtraction*/
if (n1>n2)
{
sub=n1-n2;
cout<<"substraction= "<<sub;
}
else cout<<"the first number is less than the second!!! change
them!!n ";
break;
case 3: /*multiplie*/
mul=n1*n2;
cout<<"multiplication= "<<mul;
break;
case 4: /*division*/
if (n2==0) cout<<"denominator==0!!!! error!!n";
else
{
divis=n1/n2;
cout<<"division= "<<divis;
}
break;
}
return 0;
} СОДЕРЖАНИЕ
Для Pascal, Delphi
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
ch, n1, n2,sum, sub, mul:integer;
divis:double;
begin
{ TODO -oUser -cConsole Main :
Insert code here }
writeln ('1- + ');
writeln ('2- - ');
writeln ('3- * ');
writeln ('4- / ');
writeln('enter the first number ');
readln(n1);
writeln('enter the second number
');
readln(n2);
writeln('enter the number of
operation ');
readln(ch);
case (ch) of
1:
begin
sum:=n1+n2;
writeln(sum);
end;
2:
begin
if (n1>n2) then
begin
sub:=n1-n2;
writeln(sub);
end
else writeln('the first number is less than the
second!!! change them!!');
end;
3: begin
mul:=n1*n2;
writeln(mul);
end;
4: begin
if (n2=0) then writeln('denominator==0!!!!
error!!')
else begin
divis:=n1/n2;
writeln(divis);
end;
end;
end;
readln;
end.
СОДЕРЖАНИЕ
Для Visual basic
Imports System
Module MyModule
Sub Main()
Dim ch As Integer
Dim n1,n2,sum,sub,mul As
Integer
Dim divis As double
Console.WriteLine("1- +")
Console.WriteLine("2- –")
Console.WriteLine("3- *")
Console.WriteLine("4- /")
Console.WriteLine("enter the
first number ")
N1 = CInt(Console.ReadLine)
Console.WriteLine()
Console.WriteLine ("enter the second
number ")
N2 =
CInt(Console.ReadLine)
Console.WriteLine()
Console.WriteLine("enter the
number of the operation”)
ch = CInt(Console.ReadLine)
Console.WriteLine()
Select Case ch
Case 1
sum=n1+n2
Console.WriteLine ("Sum is: {0}", sum)
Case 2
if (n1>n2) then
sub=n1-n2
Console.WriteLine
("substraction is: {0}”,sub)
end if
else Console.WriteLine ("the first number is less
than the second!!! change them!!")
Case 3
mul=n1*n2
Console.WriteLine ("multiplication is
{0}",mul)
Case 4
if (n2==0) then
Console.WriteLine ("denominator ==0!!!! error!!")
else
divis=n1/n2
Console.WriteLine ("division is {0}",divis)
End Select
End Sub
End Module
СОДЕРЖАНИЕ
ВЫХОД ЗДЕСЬ

More Related Content

What's hot

Deep Dive C# by Sergey Teplyakov
Deep Dive  C# by Sergey TeplyakovDeep Dive  C# by Sergey Teplyakov
Deep Dive C# by Sergey TeplyakovAlex Tumanoff
 
ветвление.условный оператор.циклы
ветвление.условный оператор.циклыветвление.условный оператор.циклы
ветвление.условный оператор.циклыdasha2012
 
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4
Объектно-Ориентированное Программирование на C++, Лекции  3 и 4 Объектно-Ориентированное Программирование на C++, Лекции  3 и 4
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4 Dima Dzuba
 
Релиз PHP7 - что нас ждет в октябре 2015
Релиз PHP7 - что нас ждет в октябре 2015Релиз PHP7 - что нас ждет в октябре 2015
Релиз PHP7 - что нас ждет в октябре 2015Andrey Tokarchuk
 
Объектно-ориентированное программирование. Лекция 7 и 8.
Объектно-ориентированное программирование. Лекция 7 и 8. Объектно-ориентированное программирование. Лекция 7 и 8.
Объектно-ориентированное программирование. Лекция 7 и 8. Dima Dzuba
 
Async clinic by by Sergey Teplyakov
Async clinic by by Sergey TeplyakovAsync clinic by by Sergey Teplyakov
Async clinic by by Sergey TeplyakovAlex Tumanoff
 
Сергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и Javascript
Сергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и JavascriptСергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и Javascript
Сергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и JavascriptSergey Platonov
 
Павел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладкаПавел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладкаSergey Platonov
 
Управляющие структуры в Ruby: условия
Управляющие структуры в Ruby: условияУправляющие структуры в Ruby: условия
Управляющие структуры в Ruby: условияEvgeny Smirnov
 
Александр Фокин, Рефлексия в C++
Александр Фокин, Рефлексия в C++Александр Фокин, Рефлексия в C++
Александр Фокин, Рефлексия в C++Sergey Platonov
 
Борис Сазонов, RAII потоки и CancellationToken в C++
Борис Сазонов, RAII потоки и CancellationToken в C++Борис Сазонов, RAII потоки и CancellationToken в C++
Борис Сазонов, RAII потоки и CancellationToken в C++Sergey Platonov
 
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2Dima Dzuba
 
Объектно-ориентированное программирование. Лекции 9 и 10
Объектно-ориентированное программирование. Лекции 9 и 10Объектно-ориентированное программирование. Лекции 9 и 10
Объектно-ориентированное программирование. Лекции 9 и 10Dima Dzuba
 
Характерные черты функциональных языков программирования
Характерные черты функциональных языков программированияХарактерные черты функциональных языков программирования
Характерные черты функциональных языков программированияAlex.Kolonitsky
 
Исключения и ошибки
Исключения и ошибкиИсключения и ошибки
Исключения и ошибкиUnguryan Vitaliy
 
Никита Глушков, К вопросу о реализации кроссплатформенных фреймворков
Никита Глушков, К вопросу о реализации кроссплатформенных фреймворковНикита Глушков, К вопросу о реализации кроссплатформенных фреймворков
Никита Глушков, К вопросу о реализации кроссплатформенных фреймворковSergey Platonov
 

What's hot (17)

Deep Dive C# by Sergey Teplyakov
Deep Dive  C# by Sergey TeplyakovDeep Dive  C# by Sergey Teplyakov
Deep Dive C# by Sergey Teplyakov
 
ветвление.условный оператор.циклы
ветвление.условный оператор.циклыветвление.условный оператор.циклы
ветвление.условный оператор.циклы
 
02 if for
02 if for02 if for
02 if for
 
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4
Объектно-Ориентированное Программирование на C++, Лекции  3 и 4 Объектно-Ориентированное Программирование на C++, Лекции  3 и 4
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4
 
Релиз PHP7 - что нас ждет в октябре 2015
Релиз PHP7 - что нас ждет в октябре 2015Релиз PHP7 - что нас ждет в октябре 2015
Релиз PHP7 - что нас ждет в октябре 2015
 
Объектно-ориентированное программирование. Лекция 7 и 8.
Объектно-ориентированное программирование. Лекция 7 и 8. Объектно-ориентированное программирование. Лекция 7 и 8.
Объектно-ориентированное программирование. Лекция 7 и 8.
 
Async clinic by by Sergey Teplyakov
Async clinic by by Sergey TeplyakovAsync clinic by by Sergey Teplyakov
Async clinic by by Sergey Teplyakov
 
Сергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и Javascript
Сергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и JavascriptСергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и Javascript
Сергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и Javascript
 
Павел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладкаПавел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладка
 
Управляющие структуры в Ruby: условия
Управляющие структуры в Ruby: условияУправляющие структуры в Ruby: условия
Управляющие структуры в Ruby: условия
 
Александр Фокин, Рефлексия в C++
Александр Фокин, Рефлексия в C++Александр Фокин, Рефлексия в C++
Александр Фокин, Рефлексия в C++
 
Борис Сазонов, RAII потоки и CancellationToken в C++
Борис Сазонов, RAII потоки и CancellationToken в C++Борис Сазонов, RAII потоки и CancellationToken в C++
Борис Сазонов, RAII потоки и CancellationToken в C++
 
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
 
Объектно-ориентированное программирование. Лекции 9 и 10
Объектно-ориентированное программирование. Лекции 9 и 10Объектно-ориентированное программирование. Лекции 9 и 10
Объектно-ориентированное программирование. Лекции 9 и 10
 
Характерные черты функциональных языков программирования
Характерные черты функциональных языков программированияХарактерные черты функциональных языков программирования
Характерные черты функциональных языков программирования
 
Исключения и ошибки
Исключения и ошибкиИсключения и ошибки
Исключения и ошибки
 
Никита Глушков, К вопросу о реализации кроссплатформенных фреймворков
Никита Глушков, К вопросу о реализации кроссплатформенных фреймворковНикита Глушков, К вопросу о реализации кроссплатформенных фреймворков
Никита Глушков, К вопросу о реализации кроссплатформенных фреймворков
 

More from 2berkas

Презентация на тему: Информатика (младшая группа)
Презентация на тему: Информатика (младшая группа)Презентация на тему: Информатика (младшая группа)
Презентация на тему: Информатика (младшая группа)2berkas
 
Презентация на тему: Введение в ИКТ
Презентация на тему: Введение в ИКТПрезентация на тему: Введение в ИКТ
Презентация на тему: Введение в ИКТ2berkas
 
Презентация на тему: Азы компьютерной грамотности
Презентация на тему: Азы компьютерной грамотностиПрезентация на тему: Азы компьютерной грамотности
Презентация на тему: Азы компьютерной грамотности2berkas
 
Презентация на тему: Слова "не", "и", "или" на карте множеств
Презентация на тему: Слова "не", "и", "или" на карте множествПрезентация на тему: Слова "не", "и", "или" на карте множеств
Презентация на тему: Слова "не", "и", "или" на карте множеств2berkas
 
Презентация на тему: Практика работы на компьютере
Презентация на тему: Практика работы на компьютереПрезентация на тему: Практика работы на компьютере
Презентация на тему: Практика работы на компьютере2berkas
 
Презентация на тему: Отношения между множествами. Графы и их табличные описания
Презентация на тему: Отношения между множествами. Графы и их табличные описанияПрезентация на тему: Отношения между множествами. Графы и их табличные описания
Презентация на тему: Отношения между множествами. Графы и их табличные описания2berkas
 
Презентация группы № 12 дс №14 г. Сморгонь
Презентация группы № 12 дс №14 г. СморгоньПрезентация группы № 12 дс №14 г. Сморгонь
Презентация группы № 12 дс №14 г. Сморгонь2berkas
 
Презентация на тему: Ветвление в алгоритме
Презентация на тему: Ветвление в алгоритмеПрезентация на тему: Ветвление в алгоритме
Презентация на тему: Ветвление в алгоритме2berkas
 
Презентация на тему: Алгоритмы
Презентация на тему: АлгоритмыПрезентация на тему: Алгоритмы
Презентация на тему: Алгоритмы2berkas
 
Презентация на тему: Путешествие на планету Информатика
Презентация на тему: Путешествие на планету ИнформатикаПрезентация на тему: Путешествие на планету Информатика
Презентация на тему: Путешествие на планету Информатика2berkas
 
Презентация на тему: Подготовка к контрольной работ
Презентация на тему: Подготовка к контрольной работПрезентация на тему: Подготовка к контрольной работ
Презентация на тему: Подготовка к контрольной работ2berkas
 
Презентация на тему: Информатика
Презентация на тему: ИнформатикаПрезентация на тему: Информатика
Презентация на тему: Информатика2berkas
 
Презентация на тему: Содержание и объем понятия
Презентация на тему: Содержание и объем понятияПрезентация на тему: Содержание и объем понятия
Презентация на тему: Содержание и объем понятия2berkas
 
Презентация на тему: Рабочий стол. Управление компьютером с помощью мыши
Презентация на тему: Рабочий стол. Управление компьютером с помощью мышиПрезентация на тему: Рабочий стол. Управление компьютером с помощью мыши
Презентация на тему: Рабочий стол. Управление компьютером с помощью мыши2berkas
 
Презентация на тему: Проверочная работа по информатике
Презентация на тему: Проверочная работа по информатикеПрезентация на тему: Проверочная работа по информатике
Презентация на тему: Проверочная работа по информатике2berkas
 
Презентация на тему: Признаки объектов
Презентация на тему: Признаки объектовПрезентация на тему: Признаки объектов
Презентация на тему: Признаки объектов2berkas
 
Презентация на тему: Подготовка учащихся 5-7 классов по информатике и ИКТ
Презентация на тему: Подготовка учащихся 5-7 классов по информатике и ИКТПрезентация на тему: Подготовка учащихся 5-7 классов по информатике и ИКТ
Презентация на тему: Подготовка учащихся 5-7 классов по информатике и ИКТ2berkas
 
Презентация на тему: Концепция курса информатики и ИКТ в 5-7 классах
Презентация на тему: Концепция курса информатики и ИКТ в 5-7 классахПрезентация на тему: Концепция курса информатики и ИКТ в 5-7 классах
Презентация на тему: Концепция курса информатики и ИКТ в 5-7 классах2berkas
 
Презентация на тему: Компьютерная графика
Презентация на тему: Компьютерная графикаПрезентация на тему: Компьютерная графика
Презентация на тему: Компьютерная графика2berkas
 
Презентация на тему: Информация. Информатика. Компьютер
Презентация на тему: Информация. Информатика. КомпьютерПрезентация на тему: Информация. Информатика. Компьютер
Презентация на тему: Информация. Информатика. Компьютер2berkas
 

More from 2berkas (20)

Презентация на тему: Информатика (младшая группа)
Презентация на тему: Информатика (младшая группа)Презентация на тему: Информатика (младшая группа)
Презентация на тему: Информатика (младшая группа)
 
Презентация на тему: Введение в ИКТ
Презентация на тему: Введение в ИКТПрезентация на тему: Введение в ИКТ
Презентация на тему: Введение в ИКТ
 
Презентация на тему: Азы компьютерной грамотности
Презентация на тему: Азы компьютерной грамотностиПрезентация на тему: Азы компьютерной грамотности
Презентация на тему: Азы компьютерной грамотности
 
Презентация на тему: Слова "не", "и", "или" на карте множеств
Презентация на тему: Слова "не", "и", "или" на карте множествПрезентация на тему: Слова "не", "и", "или" на карте множеств
Презентация на тему: Слова "не", "и", "или" на карте множеств
 
Презентация на тему: Практика работы на компьютере
Презентация на тему: Практика работы на компьютереПрезентация на тему: Практика работы на компьютере
Презентация на тему: Практика работы на компьютере
 
Презентация на тему: Отношения между множествами. Графы и их табличные описания
Презентация на тему: Отношения между множествами. Графы и их табличные описанияПрезентация на тему: Отношения между множествами. Графы и их табличные описания
Презентация на тему: Отношения между множествами. Графы и их табличные описания
 
Презентация группы № 12 дс №14 г. Сморгонь
Презентация группы № 12 дс №14 г. СморгоньПрезентация группы № 12 дс №14 г. Сморгонь
Презентация группы № 12 дс №14 г. Сморгонь
 
Презентация на тему: Ветвление в алгоритме
Презентация на тему: Ветвление в алгоритмеПрезентация на тему: Ветвление в алгоритме
Презентация на тему: Ветвление в алгоритме
 
Презентация на тему: Алгоритмы
Презентация на тему: АлгоритмыПрезентация на тему: Алгоритмы
Презентация на тему: Алгоритмы
 
Презентация на тему: Путешествие на планету Информатика
Презентация на тему: Путешествие на планету ИнформатикаПрезентация на тему: Путешествие на планету Информатика
Презентация на тему: Путешествие на планету Информатика
 
Презентация на тему: Подготовка к контрольной работ
Презентация на тему: Подготовка к контрольной работПрезентация на тему: Подготовка к контрольной работ
Презентация на тему: Подготовка к контрольной работ
 
Презентация на тему: Информатика
Презентация на тему: ИнформатикаПрезентация на тему: Информатика
Презентация на тему: Информатика
 
Презентация на тему: Содержание и объем понятия
Презентация на тему: Содержание и объем понятияПрезентация на тему: Содержание и объем понятия
Презентация на тему: Содержание и объем понятия
 
Презентация на тему: Рабочий стол. Управление компьютером с помощью мыши
Презентация на тему: Рабочий стол. Управление компьютером с помощью мышиПрезентация на тему: Рабочий стол. Управление компьютером с помощью мыши
Презентация на тему: Рабочий стол. Управление компьютером с помощью мыши
 
Презентация на тему: Проверочная работа по информатике
Презентация на тему: Проверочная работа по информатикеПрезентация на тему: Проверочная работа по информатике
Презентация на тему: Проверочная работа по информатике
 
Презентация на тему: Признаки объектов
Презентация на тему: Признаки объектовПрезентация на тему: Признаки объектов
Презентация на тему: Признаки объектов
 
Презентация на тему: Подготовка учащихся 5-7 классов по информатике и ИКТ
Презентация на тему: Подготовка учащихся 5-7 классов по информатике и ИКТПрезентация на тему: Подготовка учащихся 5-7 классов по информатике и ИКТ
Презентация на тему: Подготовка учащихся 5-7 классов по информатике и ИКТ
 
Презентация на тему: Концепция курса информатики и ИКТ в 5-7 классах
Презентация на тему: Концепция курса информатики и ИКТ в 5-7 классахПрезентация на тему: Концепция курса информатики и ИКТ в 5-7 классах
Презентация на тему: Концепция курса информатики и ИКТ в 5-7 классах
 
Презентация на тему: Компьютерная графика
Презентация на тему: Компьютерная графикаПрезентация на тему: Компьютерная графика
Презентация на тему: Компьютерная графика
 
Презентация на тему: Информация. Информатика. Компьютер
Презентация на тему: Информация. Информатика. КомпьютерПрезентация на тему: Информация. Информатика. Компьютер
Презентация на тему: Информация. Информатика. Компьютер
 

Презентация на тему: Управляющие операторы языков программирования C, C++, VBA, Pascal

  • 1. Презентация на тему: Выполнила студентка 1-го курса экономического ф-та группы менеджмент Зинович Наталья.
  • 2. Содержание:Содержание:  ВведениеВведение  Условные операторыУсловные операторы  ОператорОператор if… then…if… then… вв Pascal, DelphiPascal, Delphi  ОператорОператор if… then… else…if… then… else… вв Pascal, DelphiPascal, Delphi  ВложенныеВложенные операторыоператоры if… then… else…if… then… else… вв Pascal, DelphiPascal, Delphi  ОператорОператор ifif……thenthen… в С… в С  ОператорОператор case...of...endcase...of...end вв Pascal, DelphiPascal, Delphi  ОператорОператор switchswitch в Св С  Вложенные операторыВложенные операторы switchswitch вв CC  Операторы циклаОператоры цикла  ОператорОператор циклацикла while…do...while…do...вв Pascal, DelphiPascal, Delphi  ОператорОператор циклацикла repeat...until...repeat...until... вв Pascal, DelphiPascal, Delphi  ОператорОператор циклацикла for...to...do...for...to...do...вв Pascal, DelphiPascal, Delphi  ОператорОператор циклацикла for...downto...do...for...downto...do...вв Pascal, DelphiPascal, Delphi  ЦиклЦикл forfor вв CC  Варианты циклаВарианты цикла forfor вв CC  Бесконечный цикл вБесконечный цикл в CC  ЦиклЦикл forfor без тела цикла вбез тела цикла в CC  ЦиклЦикл whilewhile вв CC  Пример решения задачи в языках (условие)Пример решения задачи в языках (условие)  Блок-схемаБлок-схема  Для С++Для С++  ДляДля Pascal, DelphiPascal, Delphi  ДляДля Visual BasicVisual Basic  The end.The end.
  • 3. ВВЕДЕНИЕВВЕДЕНИЕ Оператор – это часть программы, которая может быть выполнена отдельно. Это означает, что оператор определяет некоторое действие. Операторы строятся из специальных зарезервированных слов, логических выражений и других операторов. В зависимости от языка программирования операторы слегка отличаются друг от друга, но в целом они очень похожи. Существуют следующие группы операторов: Условные операторы Операторы цикла Операторы безусловного перехода Метки В языке С к условным относятся операторы if и switch. Иногда их также называют операторами условного перехода. Операторы цикла – это while, for, do-while. К операторам безусловного перехода относятся break, continue, goto и return. К меткам относятся операторы case, default и собственно метки. Операторы- выражения – это операторы, состоящие из допустимых выражений. Блок представляет собой фрагмент текста программы, обрамленный фигурными скобками {}. Блок иногда называют составным оператором. В СОДЕРЖАНИЕ
  • 4. ОператорОператор if… then…if… then… вв Pascal, DelphiPascal, Delphi ОператорОператор ifif…… thenthen… называется условным и имеет вид:… называется условным и имеет вид: If <условие-1> Then <команды-1>If <условие-1> Then <команды-1> где <условие> – это некое логическое выражение.где <условие> – это некое логическое выражение. Логическое выражение принимает одно из двухЛогическое выражение принимает одно из двух возможных значений –возможных значений – truetrue(истина) или(истина) или falsefalse(ложь).(ложь). Часто в роли логического выражения выступает какое-тоЧасто в роли логического выражения выступает какое-то условие, которое может выполняться либо нет. В первомусловие, которое может выполняться либо нет. В первом случае его значение - «истина», а во втором – «ложь».случае его значение - «истина», а во втором – «ложь». Если логическое выражениеЕсли логическое выражение <условие-1><условие-1> принимаетпринимает значение «истина», то выполняется операторзначение «истина», то выполняется оператор <команды-<команды- 1>.1>. В противном случае выполняется оператор,В противном случае выполняется оператор, следующий за данным логическим оператором.следующий за данным логическим оператором. ОператорыОператоры ifif…… thenthen… можно вкладывать друг в друга, так… можно вкладывать друг в друга, так как конструкциякак конструкция If <условие-2> Then <команды-2>;If <условие-2> Then <команды-2>; также является оператором и может заместить оператортакже является оператором и может заместить оператор <команды-1>:<команды-1>: If <условие-1> Then If <условие-2> ThenIf <условие-1> Then If <условие-2> Then <команды-2><команды-2>;; Пример условного оператора:Пример условного оператора: IfIf GradeGrade=0 Then=0 Then WriteWrite(‘температура замерзания воды’);(‘температура замерзания воды’); В СОДЕРЖАНИЕ
  • 5. ОператорОператор if… then… else…if… then… else… вв Pascal, DelphiPascal, Delphi If <условие-1> Then If <условие-2> Then <команды-2> Else <команды-1>; Равносилен оператору If <условие-1> Then begin If <условие-2> Then <команды-2> Else <команды-1>; Чтобы четко определить, что чему подчинено, необходимо использовать begin…end. Пример условного оператора: If Two=2 Then Writeln(‘два равно 2’) Else Writeln(‘Это не 2!’) Усл 1 да нет Усл 2 да Ком2 Ком1 нет Этот оператор является полной версией условного оператора и имеет вид: If <условие-1> Then <команды-1> els<команды2>; Выполняется данный оператор следующим образом: если выражение <условие-1> принимает значение «истина», то управление передается на оператор <команды-1>. В противном случае на оператор <команды-2>. Следует учесть, что каждому else соответствует ближайший предшествующий if. Т.е. оператор В СОДЕРЖАНИЕ
  • 6. ВложенныеВложенные операторыоператоры if… then…if… then… else…else… вв Pascal, DelphiPascal, Delphi Как уже отмечалось, условные операторыКак уже отмечалось, условные операторы можно вкладывать друг в друга,можно вкладывать друг в друга, программируя таким образом сложныепрограммируя таким образом сложные ветвления. Рассмотримветвления. Рассмотрим следующийследующий оператороператор:: If <If <условиеусловие-1> Then-1> Then <<командыкоманды-1>-1> Else If <Else If <условиеусловие-2> Then-2> Then <<командыкоманды-2>-2> Else If <Else If <условиеусловие-3> Then-3> Then <<командыкоманды-3>-3> …….. Else If <Else If <условиеусловие-n> Then-n> Then <<командыкоманды-n>-n> Вначале вычисляется значениеВначале вычисляется значение логического выражения <условие-1>. Еслилогического выражения <условие-1>. Если оно истинно, выполняется оператороно истинно, выполняется оператор <команды-1>, если же это значение<команды-1>, если же это значение ложно, вы­числяется значение выраженияложно, вы­числяется значение выражения <условие-2>. В том случае, когда<условие-2>. В том случае, когда полученное значение истинно, будетполученное значение истинно, будет выполняться оператор <команды-2>, привыполняться оператор <команды-2>, при значении «ложь» будет вычислятьсязначении «ложь» будет вычисляться выражение <условие-3> и т. двыражение <условие-3> и т. д .. Если выражения <условие-Если выражения <условие-ii> независимы, то> независимы, то есть вычисление их значений в любоместь вычисление их значений в любом порядке дает один и тот же результат дляпорядке дает один и тот же результат для каждого из них, имеет смысл располагать ихкаждого из них, имеет смысл располагать их в таком порядке, чтобы выражение, св таком порядке, чтобы выражение, с наибольшей вероятнос-тью принимающеенаибольшей вероятнос-тью принимающее значение «истина», стояло на первом месте,значение «истина», стояло на первом месте, выражение, принимающее значениевыражение, принимающее значение «истина» с меньшей вероятностью, — на«истина» с меньшей вероятностью, — на втором и т. д.. Это уменьшит времявтором и т. д.. Это уменьшит время выполнения данного фрагмента программы,выполнения данного фрагмента программы, особенно если вложенный операторособенно если вложенный оператор появляется в цикле, который выполняетсяпоявляется в цикле, который выполняется много-кратно.много-кратно. Пример вложенных условных операторов:Пример вложенных условных операторов: if Twoif Two = 2= 2 thenthen if One = 1 thenif One = 1 then Writeln('Writeln('ЕдиницаЕдиница равнаравна 1')1') elseelse WritelnWriteln('Единица не равна 1 ‘)('Единица не равна 1 ‘) elseelse if Three = 3 thenif Three = 3 then Writeln(‘Writeln(‘ТриТри равноравно 3‘)3‘) elseelse WritelnWriteln('Три не равно З');('Три не равно З'); В СОДЕРЖАНИЕ
  • 7. ОператорОператор ifif……thenthen…… в Св С В языках С, С++ оператор if…then будет выглядеть следующим образом: If (условие) команда1; Else команда2; Или, если операторы вложены друг в друга: If (условие1) Команды1; Else If (условие2) Команды2; Else Команды3; В настоящее время большинство компиляторов допускают боль-ше 100 уровней вложенности. Однако на практике необходимость в глубине вложенности, большей, чем несколько уровней, возникает довольно редко, так как уве-личение глубины вложенности быстро запутывает программу и делает ее нечитаемой. В программах часто используется конструкция, которую называют лестницей if-else-if. Общая форма лестницы имеет вид if (выражение) оператор; else if (выражение) опера тор; else if (выражение) оператор; else оператор; Работает эта конструкция следующим образом. Условные выражения операторов if вычисляются сверху вниз. После выполнения некоторого условия, т.е. когда встре-тится выражение, принимающее значение ИСТИНА, выполняется ассоциированный с этим выражением оператор, а оставшаяся часть лестницы пропускается. Если все условия ложны, то выполняется оператор в последней фразе else, а если последняя фраза else отсутствует, то в этом случае не выполняется ни один оператор. В СОДЕРЖАНИЕ
  • 8. ОператорОператор case...of...endcase...of...end вв Pascal, DelphiPascal, Delphi Для ситуаций, где имеется несколько (три и более) альтернатив, больше под­ходит оператор case. Этот оператор называется оператором выбора и имеет следующий вид: case <тестируемое выражение> of <список­1> : <команды­1>; < список­2> : <команды­2>; < список­3> : <команды­3>; … < список ­n> : <команды­n>; Else <команды>; End; Рассмотрим элементы этой конструкции. Во­первых, это три зарезервирован­ных слова: case, of и end. Между case и of находится выражение <тестируемое выражение>, принимающее значение, которое, возможно, имеется в одном из списков зна­чений, находящихся слева от двоеточий. Данное выражение называется селек­тором оператора case. Каждый оператор, идущий за двоеточием, отделяется от следующего списка значений точкой с запятой. Ветвь else, отвечающая всем не перечисленным значениям выражения <тестируемое выражение>, необязательна. При вы­полнении данного оператора вначале вычисляется значение селектора. Затем выбирается тот список значений, которому принадлежит полученное значе­ние, и выполняется соответствующий оператор. В списках значений оператора case допустимыми являются типы переменных, называемые скалярными (к скалярным относятся целый, символьный, булев и пере­ числимые типы), включая целые и исключая вещественные типы. Любое заданное значение селектора может вхо­дить в список значений неоднократно, но выполняться будет лишь первая подходящая ветвь. Заметим, что «стилистически» такая конструкция выглядит не очень изящно. Если значение селектора отсутствует в списках значений, ни одна из альтернатив выполняться не будет. В этом случае выполняется ветвь else оператора case или (если эта ветвь отсутствует) следующий за case оператор. case В СОДЕРЖАНИЕ
  • 9. ОператорОператор switchswitch в Св С Оператор выбора switch (часто его называют переключателем) предназначен для выбора ветви вычислительного процесса исходя из значения управляющего выражения. (При этом значение управляющего выражения сравнивается со значениями в списке целых или символьных констант. Если будет найдено совпадение, то выполнится ассоциированный с совпавшей константой оператор.) Об операторе switch очень важно помнить следующее: ■ Оператор switch отличается от if тем, что в нем управляющее выражение проверяется только на равенство с постоянными, в то время как в if проверя­ется любой вид отношения или логического выражения. ■ В одном и том же операторе switch никакие два оператора case не могут иметь равных постоянных. Конечно, если один switch вложен в другой, в их операторах case могут быть совпадающие постоянные. ■ Если в управляющем выражении оператора switch встречаются символьные константы, они автоматически преобразуются к целому типу по принятым в языке С правилам приведения типов. Оператор switch часто используется для обработки команд с клавиатуры, напри­мер, при выборе пунктов меню. В СОДЕРЖАНИЕ
  • 10. Вложенные операторы switch в C Оператор switch может находиться в теле внешнего по отношению к нему оператора switch. Операторы case внутреннего и внешнего switch могут иметь одинако­вые константы, в этом случае они не конфликтуют между собой. Например, следующий фрагмент программы вполне работоспособен: switch (x) { case 1: switch(y) { case 0: printf ("Деление на нуль n"); break; case 1: process(х,y); break; } break; case 2: … } В СОДЕРЖАНИЕ
  • 11. Оператор цикла while…do... в Pascal, Delphi Оператор цикла является важнейшим оператором и имеется в большинстве со­ временных языков программирования. Цикл позволяет многократно выполнить некоторое множество действий, задаваемых операторами, составляющими его тело. В Паскале име­ется несколько разновидностей оператора цикла. Начнем с оператора цикла с предусловием. Данный оператор имеет вид: While <условие> Do <команды>; Повторяемы е операторы: … <команды- 1> <команды 2> … <команды 3> нет да условие При выполнении этого оператора вначале вычисляется значение логического выражения <условие>. Если это значение истинно, выполняется оператор <команды>, затем значение выражения проверяется вновь и т. д., до тех пор, пока выражение не примет значение «ложь». Если выражение принимает значение «ложь» при первой же проверке, то оператор <команды> не выполняется вооб­ще. Особо отметим частный случай: while True do <команды>; Здесь оператор <команды> будет выполняться бесконечно. Пример оператора цикла с предусловием: While Counter<10 Do begin Write(‘Значение счетчика равно’ ,Counter); Writeln; Counter:=Counter+2; end; В СОДЕРЖАНИЕ
  • 12. ОператорОператор циклацикла repeat...until...repeat...until... вв Pascal,Pascal, DelphiDelphi Оператор цикла с постусловием имеет вид repeat <команды> until <условие> ; Здесь вначале выполняется оператор <команды>, а затем вычисляется значение логического выражения <условие>. Процесс повторяется, пока выражение <условие> принимает значение «ложь». Как только это значение станет истин­ным, выполнение цикла прекращается. Оператор <команды> может быть любым, в том числе и составным оператором: begin <команды­1>; <команды­2>; <команды­3>; End; Повторяемы е операторы: … <команды- 1> <команды 2> … <команды 3> нет да условие В цикле repeat...until... операторные скобки begin...end могут быть опущены. Таким образом, в общем случае оператор repeat...until... имеет следующий вид: repeat <команды­1>; <команды­2>; <команды­3>; until <условие> ; Точка с занятой перед зарезервированным словом until необязательна. В при­веденном ниже частном случае repeat <команды­1>; <команды­2>; <команды­3>; Until False ; цикл выполняется бесконечно. Еще раз обратим внимание на то, что если в операторе whiIe...do... проверка выполняется в начале цикла, то в цикле repeat…until…. проверка выполняется в последнюю очередь, и тело цикла в любом случае выполняется хотя бы один раз. Вот пример цикла с постусловием: repeat write(‘значение счетчика равно’, Counter); writeln; Counter:=Counter+2; until Counter=10 ; В СОДЕРЖАНИЕ
  • 13. Оператор циклаОператор цикла forfor......toto......dodo... в... в Pascal, DelphiPascal, Delphi Третий вариант оператора цикла — цикл со счетчиком. Можно считать, что есть две очень похожих друг на друга разновидности цикла со счетчиком. Первый из этих операторов имеет вид For j:=<значение 1> To <значение 2> Do <команды> Повторяемы е операторы: … <команды- 1> … <команды 3> да j:=знач1 j<=знач1 j:=j+1 Здесь переменная j, называемая управляющей переменной цикла for, является произвольным идентификатором, который объявляется как переменная любого скалярного типа (к скалярным относятся целый, символьный, булев и перечислимые типы). При выполнении оператора for сначала вычисляется значение выражения <значение 1> затем вычисляется значение выражения <значение 2>, далее управ-ляющая переменная цикла последовательно пробегает все значения от <значение 1> до <значение 2>. В том случае, когда значение <значение 1> оказывается больше значения <значение 2>, тело цикла не будет выполняться вовсе. Эти значения остаются неизменными в ходе выполнения всего цикла for. СОДЕРЖАНИЕ
  • 14. Оператор циклаОператор цикла for...downto...do...for...downto...do... вв Pascal,Pascal, DelphiDelphi Вариант for...downto...do... цикла for аналогичен циклу for…to...do... за исключением того, что в нем управляющая переменная на каждом шаге выполнения не увеличивается, а уменьшается на единицу: for j := <значение 1> downto <значение 2> do <команды>; Подводя итоги, для применения циклов можно сформулировать следующие рекомендации: Используйте цикл for в том случае, когда точно знаете, сколько раз должно быть выполнено тело цикла. В противном случае обратитесь к циклам repeat или while Используйте repeat, если необходимо, чтобы тело цикла выполнялось по крайней мере один раз. Используйте while, если хотите, чтобы проверка была произведена, прежде, чем будет выполняться тело цикла. Иногда бывает удобно проводить проверку на возможный выход из цикла где- нибудь в его середине, а не в начале или в конце. Такой выход из цикла обеспечивается процедурой break, которая прерывает выполнение самого внутреннего вложенного цикла, будь то for, while или repeat. Пример: While true do Begin Statement1; If expression then break; Statement2; End; Следует также упомянуть процедуру continue , которая прерывает выполнение тела самого внутреннего цикла for, while или repeat и передает управление на его заголовок, так что начинается выполнение очередной итерации цикла. СОДЕРЖАНИЕ
  • 15. ЦиклЦикл forfor вв CC Во всех процедурных языках программирования циклы for очень похожи, в С этот цикл особенно гибкий и мощный. Общая форма оператора for следующая: for (инициализация; условие; приращение) оператор; Цикл for может иметь большое количество вариаций. В наиболее общем виде принцип его работы следующий. Инициализация — это присваивание начального значения переменной, которая называется параметром цикла. Условие представляет собой выражение, определяющее, следует ли выполнять оператор цикла (часто его называют телом цикла) в очередной раз. Оператор приращение осуществляет изменение параметра цикла при каждой итерации. Эти три оператора (они называются также секциями оператора for) обязательно разделяются точкой с запятой. Цикл for выполняется, если выражение условие принимает значение ИСТИНА. Если оно хотя бы раз примет значение ЛОЖЬ, то программа выходит из цикла и выполняется оператор, следующий за телом цикла for. В следующем примере в цикле for выводятся на экран числа от 1 до 100: #include <stdio.h> int main(void) { int x; for(x=1; x <= 100; x++) printf(“%d”, x); return 0; } В этом примере параметр цикла х инициализирован числом 1, а затем при каждой итерации сравнивается с числом 100. Пока переменная х меньше 100, вызывается функция printf () и цикл повторяется. При этом х увеличивается на 1 и опять про­ веряется условие цикла х <= 100. Процесс повторяется, пока переменная х не станет больше 100. После этого процесс выходит из цикла, а управление передается операто­ру, следующему за ним. СОДЕРЖАНИЕ
  • 16. Варианты цикла for в C В предыдущем разделе рассмотрена наиболее общая форма цикла for. Однако в языке С допускаются некоторые его варианты, позволяющие во многих случаях увеличить мощность и гибкость программы. Один из распространенных способов усиления мощности цикла for — применение оператора "запятая" для создания двух параметров цикла. Оператор "запятая" связывает несколько выражений, заставляя их выполняться вместе. В следующем примере обе переменные (х и у) являются параметрами цикла for и обе инициализируются в этом цикле: for(x=0, y=0; х+у < 10; ++х) { у = getchar(); у = у - '0'; /* Вычитание из у ASCII-кода нуля */ …… } Здесь запятая разделяет два оператора инициализации. При каждой итерации зна-чение переменной х увеличивается, а значение у вводится с клавиатуры. Для выполнения итерации как х, так и у должны иметь определенное значение. Несмотря на то, что значение у вводится с клавиатуры, оно должно быть инициализировано таким образом, чтобы выполнилось условие цикла при первой итерации. Если у не инициализировать, то оно может случайно оказаться таким, что условие цикла примет значение ЛОЖЬ, тело цикла не будет выполнено ни разу. СОДЕРЖАНИЕ
  • 17. Бесконечный цикл вБесконечный цикл в CC Для создания бесконечного цикла можно использовать любой оператор цикла, но чаше всего для этого выбирают оператор for. Так как в операторе for может отсутст­вовать любая секция, бесконечный цикл проще всего сделать, оставив пустыми все секции. Это хорошо показано в следующем примере: for( ; ; ) printf(" Этот цикл крутится бесконечно "); Если условие цикла for отсутствует, то предполагается, что его значение — ИСТИНА. В оператор for можно добавить выражения инициализации и приращения, хотя обычно для создания бесконечного цикла используют конструкцию for ( ; ; ). Фактически конструкция for ( ; ; ) не гарантирует бесконечность итераций, по­тому что в нем может встретиться оператор break, вызывающий немедленный выход из цикла. В этом случае выполнение программы продолжается с оператора, следующего за закрывающейся фигурной скобкой цикла for: ch = ‘ 0’; for (; ;) { ch = getchar(); /* считывание символа */ if (ch == 'A') break; /* выход из цикла */ } printf(“ Вы напечатали 'А’ "); В данном примере цикл выполняется до тех пор, пока пользователь не введет с клавиатуры символ а. СОДЕРЖАНИЕ
  • 18. Цикл for без тела цикла в C Следует учесть, что оператор может быть пустым. Это значит, что тело цикла for (или любого другого цикла) также может быть пустым. Такую особенность цикла for можно использовать для упрощения некоторых программ, а также в циклах, предна­ значенных для того, чтобы отложить выполнение последующей части программы на некоторое время. Программисту иногда приходится решать задачу удаления пробелов из входного потока. Допустим, программа, работающая с базой данных, обрабатывает запрос "показать все балансы меньше 400". База данных требует представления каждого сло­ва отдельно, без пробелов, т.е. обработчик распознает слово "показать", но не " по­казать". В следующем примере цикл for удаляет начальные пробелы в строке for( ; *str==’ ‘; str++ ); В этом примере указатель str переставляется на первый символ, не являющийся пробелом. Цикл не имеет тела, так как в нем нет необходимости. Иногда возникает необходимость отложить выполнение последующей части программы на определенное время. Это можно сделать с помощью цикла for следующим образом: for(t =0; t < SOME_VALUE; t++); Единственное назначение этого цикла — задержка выполнения последующей части программы. Однако следует иметь в виду, что компилятор может оптимизировать объектный код таким образом, что пропустит этот цикл вообще, поскольку он не вы­ полняет никаких действий, тогда желаемой задержки выполнения последующей части программы не произойдет. СОДЕРЖАНИЕ
  • 19. Цикл while в C Общая форма цикла while имеет следующий вид: while (условие) оператор; Здесь оператор (тело цикла) может быть пустым оператором, единственным опера­тором или блоком. Условие (управляющее выражение) может быть любым допустимым в языке выражением. Условие считается истинным, если значение выражения не рав­но нулю, а оператор выполняется, если условие принимает значение ИСТИНА. Если условие принимает значение ЛОЖЬ, программа выходит из цикла и выполняется сле­дующий за циклом оператор. Как и в цикле for, в цикле while условие проверяется перед началом итерации. Это значит, что если условие ложно, тело цикла не будет выполнено. Благодаря этому нет необходимости вводить в программу отдельное условие перед циклом. СОДЕРЖАНИЕ
  • 20. Пример решения задачи в описываемых языкахУсловие: После запуска программы на экран выводятся меню: 1 – add; 2­ substract 3­multiplie 4­ divide Затем на экран выводится просьба ввести первое число, а затем и второе. После успешного ввода чисел выводится просьба ввести номер операции, которую вы хотите произвести. Если вы ввели «1»­ то компьютер выведет на экран сумму двух чисел Если вы ввели «2»­ то если первое введенное вами число больше, чем второе, то на экран выведется разность, иначе выведется сообщение о том, что первое число меньше второго и вычитание произвестись не может Если вы ввели «3»­ то выведет на экран произведение Если вы ввели «4»­ то если второе число не ноль, на экран выведется частное двух чисел (первое/второе), иначе на экран выведется надпись что знаменатель =0 СОДЕРЖАНИЕ
  • 21. БЛОК - СХЕМА begin n1,n2, ch Sum:=n 1+n2 Sub:=n1 -n2 mul:=n1 *n2 su m n1>n 2 messa ge sub не т да mul Case ch n2= 0 не т да messa ge divis:=n 1/n2 divi s end 1 2 3 4 СОДЕРЖАНИЕ
  • 22. Для С++ #include <iostream> using namespace std; int main() { int ch, n1, n2,sum, sub, mul; double divis; cout<<"1- + n"; cout<<"2- - n"; cout<<"3- * n"; cout<<"4- / n"; cout<<"nn"; cout<<"enter the first number n"; cin>>n1; cout<<"enter the second number n"; cin>>n2; cout<<"enter the operation"; cin>>ch; switch (ch) { case 1: /*add numbers*/ sum=n1+n2; cout<<"summ== "<<sum; break; case 2: /*subtraction*/ if (n1>n2) { sub=n1-n2; cout<<"substraction= "<<sub; } else cout<<"the first number is less than the second!!! change them!!n "; break; case 3: /*multiplie*/ mul=n1*n2; cout<<"multiplication= "<<mul; break; case 4: /*division*/ if (n2==0) cout<<"denominator==0!!!! error!!n"; else { divis=n1/n2; cout<<"division= "<<divis; } break; } return 0; } СОДЕРЖАНИЕ
  • 23. Для Pascal, Delphi program Project1; {$APPTYPE CONSOLE} uses SysUtils; var ch, n1, n2,sum, sub, mul:integer; divis:double; begin { TODO -oUser -cConsole Main : Insert code here } writeln ('1- + '); writeln ('2- - '); writeln ('3- * '); writeln ('4- / '); writeln('enter the first number '); readln(n1); writeln('enter the second number '); readln(n2); writeln('enter the number of operation '); readln(ch); case (ch) of 1: begin sum:=n1+n2; writeln(sum); end; 2: begin if (n1>n2) then begin sub:=n1-n2; writeln(sub); end else writeln('the first number is less than the second!!! change them!!'); end; 3: begin mul:=n1*n2; writeln(mul); end; 4: begin if (n2=0) then writeln('denominator==0!!!! error!!') else begin divis:=n1/n2; writeln(divis); end; end; end; readln; end. СОДЕРЖАНИЕ
  • 24. Для Visual basic Imports System Module MyModule Sub Main() Dim ch As Integer Dim n1,n2,sum,sub,mul As Integer Dim divis As double Console.WriteLine("1- +") Console.WriteLine("2- –") Console.WriteLine("3- *") Console.WriteLine("4- /") Console.WriteLine("enter the first number ") N1 = CInt(Console.ReadLine) Console.WriteLine() Console.WriteLine ("enter the second number ") N2 = CInt(Console.ReadLine) Console.WriteLine() Console.WriteLine("enter the number of the operation”) ch = CInt(Console.ReadLine) Console.WriteLine() Select Case ch Case 1 sum=n1+n2 Console.WriteLine ("Sum is: {0}", sum) Case 2 if (n1>n2) then sub=n1-n2 Console.WriteLine ("substraction is: {0}”,sub) end if else Console.WriteLine ("the first number is less than the second!!! change them!!") Case 3 mul=n1*n2 Console.WriteLine ("multiplication is {0}",mul) Case 4 if (n2==0) then Console.WriteLine ("denominator ==0!!!! error!!") else divis=n1/n2 Console.WriteLine ("division is {0}",divis) End Select End Sub End Module СОДЕРЖАНИЕ