Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример 1. Сокращённая себестоимость




ЛЕКЦИЯ 5.

Сокращённая себестоимость

см в тет

Произ-во уменьшается, расходы увелич.

 

 

Вопросы:

· Инструкции.

Инструкции (Statements)

Любое синтаксически правильно составленное предложение языка С, которое заканчивается символом ‘; ‘, называется инструкцией.
Любое число инструкций, объединённых в { }, называется блоком. Любое выражение может быть преобразовано в инструкцию добавлением к нему точки с запятой. Запись вида: выражение;
является инструкцией. Значение выражения игнорируется. Действие такой инструкции состоит в создании побочного эффекта вычислением значения выражения.
Инструкции служат основными строительными блоками программы. Программа состоит из последова-тельности инструкций с добавлением знаков пунктуации.
timer = 24 - это всего лишь выражение, которое может быть частью другого выражения.
timer = 24; - это инструкция присваивания, которая служит указанием компьютеру присвоить число 24 переменной timer.

Метки инструкций

Перед любой инструкцией может стоять метка, состоящая из идентификатора и символа “: ”.
Управляющие инструкции С++
Инструкции присваивания

Особенности операторов C++ приводят к тому, что вместо обычного для других языков оператора присваивания используется более мощное понятие: инструкция-выражение.
Записанный отдельной инструкцией оператор присваивания является лишь частным случаем такой инструкции.
Инструкция сложное присваивание

y+=2; /* Увеличение переменной y на 2*/
p+=n; // p=p+n;
x-=3; // х=х-3;
x*=x; // х=х*3;
x/=2; // х=х/3;
x%=10; // х=х%3;
x>>=4; // х=х>>4;
x<<=1; // х=х<<1;
remitems &= mask;

Control ^= seton;
additems |= mask;

/*Определить площадь треугольника, если известны три стороны*/
#include <iostream>
#include <cmath>
using namespace std;
float a=10, b=20, c=15;
double p, s;
int main()
{
setlocale(LC_ALL,".1251");
p = (a+b+c)/2;
s = sqrt(p*(p-a)*(p-b)*(p-c));
cout << "Площадь = " << s << endl;
return 0;

}

Пример 2.
/* Вычислить среднее арифметическое и среднее геометрическое трех чисел а,b,с */
#include <iostream>
#include <cmath>
using namespace std;
double a=10, b=20, c=15, p, s;
int main()
{
setlocale(LC_ALL,".1251");
s = (a+b+c)/3;
p = pow((a*b*c),(1.0/3));
cout << "ср.арифм.= " << s <<endl;
cout << "ср.геом. = " << p <<endl;
return 0;

}

Инструкции выбора if и if …else

Синтаксис:
if (условие)
инструкция1;
[else
инструкция2;]

Сначала вычисляется условие, указанное в круглых скобках. Если полученный результат равен true (не равен нулю), то выполняется инструкция1. Если результат вычисления условия равен false (равен нулю), то выполняется инструкция2, если есть часть else или инструкция, следующая за if-оператором.

Условие в интрукциях if может быть простым и сложным выражением.
Примеры простых условий:

1)if (x>0) sgrtx=sqrt(x);

2)if (a>b)
max=a;
else
max=b;

3) if (a!=b)
{
r = r – a;
k = k + b
};

Пример сложного условия:

if (((a1==a2)&&(a1==a3)&&(a1!=a4))
||((a1==a2)&&(a1==a4)&&(a1!=a3))
||((a1==a3)&&(a1==a4)&&(a1!=a2))
||((a2==a3)&&(a2==a4)&&(a2!=a1)))
cout << ”среди этих чисел ровно 3 одинаковые\n”;

Вложение else if
можно составлять так называемые else-if -конструкции, которые могут осуществить проверку сразу нескольких выражений, не используя сложные условия.
if (условие) инструкция;
else if (условие) инструкция;
else if (условие) инструкция;
else инструкция;
КАК ЭТО работает? Разобрать решение квадратного уравнения на практике.

Инструкция выбора switch

Синтаксис:
switch (целочисленное_выражение)
{
case константа1: инструкции;
case константа2: инструкции;
...
case константаN: инструкции;
[default: инструкция;]
}

Схема выполнения оператора switch следующая:
- вычисляется выражение в круглых скобках;
- вычисленное значение последовательно сравнивается с константными выражениями, следующими за ключевыми словами case;
- если одно из константных выражений совпадает со значением выражения, то управление передается на инструкцию, помеченную соответствующим ключевым словом case;

- если ни одно из константных выражений не равно выражению, то управление передается на инструкцию, помеченную ключевым словом default, а в случае его отсутствия управление передается на следующую после switch инструкцию;
- после выполнения инструкций выбранного case начинают выполняться инструкции следующего case и т. д., если не было выхода по break;
-для того, чтобы выполнить одни и те же действия для различных значений выражения, можно пометить одну и ту же инструкцию несколькими ключевыми словами case.


Использование оператора break позволяет в необходимый момент прервать последовательность выполняемых инструкций в теле switch, путем передачи управления инструкции, следующей за switch.

В теле switch можно использовать вложенные инструкции switch, при этом в ключевых словах case можно использовать одинаковые константные выражения.

Следует обратить особое внимание на то, что выполнение инструкции switch отличается от аналогичного оператора case в Паскале.

· если одна ветвь switch состоит из нескольких инструкций, то их не нужно заключать в блок (в Паскале – нужно).

· Во-вторых, после завершения работы одной ветви в C++ начинает выполняться следующая ветвь (в Паскале происходит выход из оператора). Для того, чтобы обеспечить завершение работы инструкции switch, необходимо записать специальную инструкцию break в конце ветви:

switch (выражение)
{
case константа_1: инструкции; break;
case константа_2: инструкции; break;
...
case константа_N: инструкции; break;
[default: инструкция;]
}

Сравним Паскаль и C++

case n of

0: writeln('ноль');

1: writeln('один');

2: writeln('два');

3: writeln('три');

else writeln('много');

end;

switch (n)

{

case 0: cout << "ноль"; break;

case 1: cout << "один"; break;

case 2: cout << "два"; break;

case 3: cout << "три"; break;

default: cout << "много";

}

int a=2, b=0;
switch(a)
{
case 0:
case 1: b++;
case 2: b+=2;
case 3: b+=3;
default: а=0;
}
//b=5;

// простейший калькулятор
int a, b, y;
сhаr c;
switch(c)
{
case ’+’: y=a+b; break;
case ’-’: y=a-b; break;
case ’*’: y=a*b; break;
case ’/’: y=a/b; break;
default: cout<<”Неверный знак операции”;
}

switch(c)
{
case ’+’: case ’-’: y=a-b+a; break;
case ’*’: case ’/’: y=a/b*a;
}

Пример вложенных инструкций:
switch (a)
{
case 1: b=c; break;
case 2:
switch (d)
{ case 0: f=s; break;
case 1: f=9; break;
case 2: f-=9; break;
}
case 3: b-=c; break;
}

 

Организация циклов
Инструкция while
(цикл с предусловием)

Формат:
while (выражение)
инструкция; //тело цикла

В качестве выражения допускается использовать любое выражение языка Си, а в качестве инструкции (тела цикла) любую инструкцию, в том числе пустую или составную.
Схема выполнения цикла while следующая:
1. Вычисляется выражение.
2. Если выражение ложно, то выполнение оператора while заканчивается и выполняется следующая за циклом инструкция. Если выражение истинно, то выполняется тело цикла.
3. Процесс повторяется с пункта 1.
Таким образом, цикл выполняется до тех пор, пока выражение истинно.
Если в теле цикла нужно выполнить несколько инструкций, то используется блок {…}.
Для того, чтобы цикл когда-нибудь завершился, выражение должно стать ложным, иначе будет бесконечный цикл.
Так как в цикле while вначале происходит проверка условия, то его удобно использовать в ситуациях, когда тело цикла может не выполниться ни разу.

// сумма квадратов первых 10 чисел

#include <iostream>

int main()

{

int s,i;

s=0;

i=1;

while (i<=10)

{

s=s+i*i;

i++;

}

std::cout << "summa=" << s << std::endl;

return 0;

}


Пример бесконечного цикла




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 430; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.