Разделы презентаций


Основные операторы языка Элементарный ввод вывод

Содержание

Спецификации форматаd - целое десятичное число;u - целое десятичное число без знака;o - целое число в восьмеричной системе счисления;x - целое число в шестнадцатеричной системе счисления (% 4x - без гашения

Слайды и текст этой презентации

Слайд 1Глава 2 Основные операторы языка 2.1 Элементарный ввод вывод
2.1.1 Форматный

ввод /вывод
Ввод:
int scanf(,

<Список адресов переменных>);
// возвращает количество значений или EOF(-1)
Вывод:
int printf(<Форматная строка>, <Список выражений>);
где < Форматная строка> - строка, которая помимо символов содержит спецификации формата вида:
%[-] [<Целое 1>] [.<Целое 2>] <Формат>
«-» - выравнивание по левой границе,
<Целое 1> - ширина поля вывода;
<Целое 2> - количество цифр дробной части числа;
<Формат > - определяется специальной литерой
Глава 2 Основные операторы языка  2.1 Элементарный ввод вывод2.1.1 Форматный ввод /вывод Ввод:int scanf(,

Слайд 2Спецификации формата
d - целое десятичное число;
u - целое десятичное число

без знака;
o - целое число в восьмеричной системе счисления;
x -

целое число в шестнадцатеричной системе счисления (% 4x - без гашения незначащих нулей);
f - вещественное число;
e - вещественное число в экспоненциальной форме;
c - символ;
p - указатель (адрес);
s - символьная строка.
Кроме этого, форматная строка может содержать:
\n - переход на следующую строку;
\n hhh - вставка символа с кодом ASCII hhh (код задается в шестнадцатеричной системе счисления);
%% - печать знака %.
Спецификации форматаd - целое десятичное число;u - целое десятичное число без знака;o - целое число в восьмеричной

Слайд 3Примеры форматного ввода/вывода
а) i=26;
printf (”%-6d∪∪∪%%∪ %o∪ %x\n”, i,

i, i);



б) scanf(”%d %d”,&a,&b);
Вводимые

значения: 1) 24 28 2) 24↵
28
в) scanf(”%d,%d”,&a,&b);
Вводимые значения: 24,28

г) scanf(”%s”,name);
Вводимые значения: Иванов Иван
Результат ввода: name=”Иванов”

26∪∪∪∪∪∪∪%∪32∪1A ↵

Примеры форматного ввода/выводаа) i=26;  printf (”%-6d∪∪∪%%∪ %o∪ %x\n”, i, i, i);  б) scanf(”%d %d”,&a,&b);

Слайд 4Ввод/вывод строк
Ввод:
char* gets();

// возвращает

копию строки или NULL
Вывод:
int puts (<Строковая константа или переменная>);

Примеры:
а) puts(”Это строка”);
Результат: Это строка↵
б) gets(st);
Вводимые значения: Иванов Иван↵
Результат: st =”Иванов Иван”
Ввод/вывод строкВвод:char* gets();

Слайд 5Ввод/вывод символов
Ввод
int getchar(); // возвращает символ или EOF

Вывод
int putchar(

переменная или константа>);

Примеры:

а) ch=getchar( );
б) putchar(’t’);

Ввод/вывод символовВводint getchar();  // возвращает символ или EOFВыводint putchar();Примеры:а) ch=getchar( );б) putchar(’t’);

Слайд 6Программа определения корней кв. уравнения

// Ex2_1

#include "stdafx.h"
#include
#include
int main(int

argc, char* argv[])
{ float A,B,C,E,D,X1,X2;
puts("Input A,B,C");

scanf("%f %f %f",&A,&B,&C);
printf("A=%5.2f B=%5.2f C=%5.2f \n",A,B,C); ;
E=2*A;
D=sqrt(B*B-4*A*C);
X1=(-B+D)/E;
X2=(-B-D)/E;
printf("X1= %7.3f X2=%7.3f \n",X1,X2);
return 0;
}
Программа определения корней кв. уравнения// Ex2_1#include

Слайд 72.2 Блок операторов
{ ;… ;}

Пример:
{


f=a+b;
a+=10;
}

2.2 Блок операторов{ ;… ;}Пример:    {    f=a+b;    a+=10;

Слайд 82.3 Управляющие конструкции
Управляющими называются операторы, способные изменять естественный ход линейного

процесса.
2.3 Оператор условной передачи управления

if () [ else ]

Оператор

– любой оператор С++, в том числе другой оператор условной передачи управления, а также блок операторов.
Выражение – любое выражение, соответствующее правилам С++
если значение выражения не равно нулю, то выполняется оператор, следующий за выражением;
если значение выражения равно нулю, то либо выполняется оператор альтернативной ветви, либо управление передается следующему за IF оператору.
2.3 Управляющие конструкцииУправляющими называются операторы, способные изменять естественный ход линейного процесса.2.3 Оператор условной передачи управленияif () [

Слайд 9

Оператор условной передачи управления(2)
if then
if then

else
Ветвь else относится к ближайшему if.
Для реализации варианта

б используют блок операторов {…}:
if <Условие1>
{if <Условие2> <Действие1> }
else <Действие 2>

{

}

Правило вложения

Оператор условной передачи управления(2)if then	if then   else Ветвь else относится к ближайшему if.Для реализации варианта

Слайд 10
Примеры:

а) if (!b)
puts("с - не определено");

// если b=0, то – ошибка,
else {c=a/b;

printf("c=%d\n", c);} // иначе - выводится с.

б) if ((c=a+b)!=5) c+=b;
else c=a;

в) if ((ch=getchar())==′q′) // если в ch введено q,
puts ("Программа завершена."); // то ...
else puts ("Продолжаем работу..."); // иначе ...

г) ch=′a′;
if ((oldch=ch, ch=′b′)==′a′)puts("Это символ ′a′\n");
else puts("Это символ ′b′\n");
Задача: решить систему уравнений ax=b
x+cy=1

Оператор условной передачи управления (3)


Примеры:а) if (!b)    puts(

Слайд 11Схема алгоритма решения системы уравнений
Начало
a,b,c
a=0
c=0
x=b/a
Решений
нет
x, y
Конец
да
нет
нет
да


Y=(a-b)/a*c


b=0
a=b
да

да
нет
нет
y-любое,
х=1-сy


x=1,
y-любое
Решений
нет

Схема алгоритма решения системы уравненийНачалоa,b,ca=0c=0x=b/aРешений нетx, yКонецданетнетдаY=(a-b)/a*cb=0a=bдаданетнетy-любое,х=1-сyx=1,y-любоеРешений нет

Слайд 12Программа решения системы уравнений
// Ex2_2

#include "stdafx.h"
#include

float y,x,a,b,c;

int main(int

argc, char* argv[])

{ puts("Input a,b,c");
scanf("%f %f %f",&a,&b,&c);

printf("a=%5.2f b=%5.2f c=%5.2f\n",a,b,c);

Подключение библиотек

Описание переменных

Ввод и печать исходных данных

Программа решения системы уравнений// Ex2_2#include

Слайд 13Программа решения системы уравнений(2)
if (a==0)
if (b==0)

puts("Solution is epsent");
else printf("y - luboe

x=1-c*y");
else
if (c==0)
if (a=b) puts("Solution is epsent");
else puts("x=1, y- luboe");
else
{
x=b/a;
y=(a-b)/a/c;
printf("x= %7.3f y=%7.3f\n",x,y);
}
return 0;
}





Программа решения системы уравнений(2)if (a==0)    if (b==0) puts(

Слайд 142.2 Оператор выбора
Если количество альтернатив велико, то можно использовать оператор

выбора.
Оператор реализует конструкцию выбора.
switch ()
{

case <элемент>: <операторы;>
case <элемент>: <операторы;>
. . .
[ default : <операторы;>]
}
Где:
<выражение> –переключающее выражение . Должно быть целочисленного типа или его начение приводится к целочисленному.
<элемент> - константное выражение, приводимое к переключающему. Любой из операторов может быть помечен несколькими метками типа case <элемент>:
Результат выражения сравнивается с заданными значениями и, в случае равенства, выполняются соответствующие операторы, которых может быть 0 или более.
Затем выполняются операторы всех последующих альтернатив, если не встретится break.
2.2 Оператор выбораЕсли количество альтернатив велико, то можно использовать оператор выбора.Оператор реализует конструкцию выбора.switch (){

Слайд 15Оператор выбора (2)
Разработать программу, вычисляющую значения нескольких функций.
Функция выбирается пользователем,

который вводит ее код. (Ex2_3).
Input

cod:
1 – y=sin x
2 – y=cos x
3 – y=exp x

Пример:
switch (n_day)
{ case 1:
case 2:
case 3:
case 4:
case 5: puts("Go work!"); break;
case 6: printf("%s","Clean the yard and");
case 7: puts("relax!");
}

Оператор выбора (2)Разработать программу, вычисляющую значения нескольких функций.	Функция выбирается пользователем, который вводит ее код. (Ex2_3).

Слайд 16Схема алгоритма
Начало
Kod , x
key=true
Kod
y=sin(x)
y=cos(x)
y=exp(x)
key=false
Key
да
нет
Конец
Error
x, y
2
1
3
Иначе

Схема алгоритмаНачалоKod , xkey=trueKody=sin(x)y=cos(x)y=exp(x)key=falseKeyданетКонецErrorx, y213Иначе

Слайд 17Программа вычисления функции
// Ex2_3
#include "stdafx.h"
#include
#include
int main(int argc, char*

argv[])
{ int kod,key;
float x,y;
puts("input x");
scanf("%f",&x)
printf("x=6.3f",x);

puts("input kod");
puts("1 - y=sin(x)");
puts("2 - y=cos(x)");
puts("3 - y=exp(x)");
scanf("%d",&kod);
Программа вычисления функции// Ex2_3#include

Слайд 18Программа вычисления функции (2)
key=1;
switch(kod)
{


case 1: y=sin(x); break;

case 2: y=cos(x);break;
case 3: y=exp(x); break;
default: key=0;

}
if (key) printf("x= %5.2f y=%8.6f\n",x,y);
else puts("Error");
return 0;
}

Программа вычисления функции (2) key=1;  switch(kod)   {     case 1: y=sin(x);

Слайд 192.5 Операторы организации циклов
Циклы
Счетные
Итерационные
Поисковые
Цикл-для
Цикл-пока
Цикл-до

2.5 Операторы организации цикловЦиклыСчетныеИтерационныеПоисковыеЦикл-дляЦикл-покаЦикл-до

Слайд 201. Оператор счетного цикла for
i:=1,k
Действие

i ≤ k
да
нет
i :=i+1
i :=1
Действие
Счетный цикл

также можно реализовать через «цикл-пока»

for (;;);

Эквивалентно:

while ()

{<Оператор>;
<Выражение3>;
}
1. Оператор счетного цикла fori:=1,kДействие⇔i ≤ kданетi :=i+1i :=1ДействиеСчетный цикл также можно реализовать через «цикл-пока»for (;;); Эквивалентно:

Слайд 21Оператор счетного цикла for (2)
Выражение1 – инициализирующее выражение; представляет собой

последовательность описаний, определений и выражений, разделенных запятыми. Выполняется только один

раз в начале цикла и задает начальные значения переменным цикла. Может отсутствовать, при этом точка с запятой остается.
Выражение2 –выражение условия; определяет предельное значение параметра цикла. Может отсутствовать, при этом точка с запятой остается.
Выражение3 – список выражений, которые выполняются на каждой итерации цикла после тела цикла, но до следующей проверки условия. Обычно определяют изменение параметра цикла. Может отсутствовать
Оператор – тело цикла. Может быть любым оператором С++, блоком операторов (тело цикла содержит более одного простого оператора) или может отсутствовать.
1. for(int i=0,float s=0;i 2. int i=0;float s=0;
for(;i 3. for(;i 4. int I;float s; s=0;
for(i=n;i>0;i--) s=s+i; 5. for(;;);
Оператор счетного цикла for (2)Выражение1 – инициализирующее выражение; представляет собой последовательность описаний, определений и выражений, разделенных запятыми.

Слайд 22«Накопление»
суммы
Суммирование натуральных чисел
Найти сумму N натуральных чисел.(Ex2_for)
#include "stdafx.h"
#include
int main(int

argc, char* argv[])
{ int i,n,s;
puts(“Input n”);
scanf(“%d”,&n);
for (i=1,s=0;i

s+=i;
printf("Sum=%5d n=%4d\n",s,n);
return 0;
}
«Накопление»суммыСуммирование натуральных чиселНайти сумму N натуральных чисел.(Ex2_for)#include

Слайд 23Цикл-пока
Условие
да
нет
Действие
while () ;
Где:
Выражение - совокупность выражений, разделенных запятой, определяющая условия

выполнения цикла. Результат такого составного выражения – значение последнего выражения.

Цикл выполняется до тех пор, пока результат выражения отличен от нуля.
Оператор – любой оператор С++, в том числе блок операторов.
Цикл-покаУсловиеданетДействиеwhile () ;Где:Выражение - совокупность выражений, разделенных запятой, определяющая условия выполнения цикла. Результат такого составного выражения –

Слайд 24Цикл-до
Действие
Условие
да
нет

Условие
да
нет
Действие
Действие
«Цикл-до» можно реализовать через «цикл-пока»
do while () ;


Цикл выполняется до тех пор, пока результат выражения отличен от

нуля.
Пример. Игнорировать ввод значения, выходящего за пределы заданного интервала.
do {
printf("Введите значение от %d до % d : ",low, high);
scanf(" %d ", &a);
} while (ahigh);
Цикл-доДействиеУсловиеданет⇔УсловиеданетДействиеДействие«Цикл-до» можно реализовать через «цикл-пока»do while () ; Цикл выполняется до тех пор, пока результат выражения отличен

Слайд 25Вложенные циклы
Вложенными циклическими процессами называются такие процессы, при которых внутри

одного циклического процесса, происходит другой.
Каждый из процессов может реализоваться

различными операторами цикла.
Внешний цикл может быть счетным, а внутренний – итерационным и наоборот.
На количество вложенных циклов компилятор С++ не накладывает никаких ограничений. Оно определяется логикой программы и желанием программиста.
При программировании циклов необходимо соблюдать правило строгой вложенности – начала и концы циклов не должны перекрещиваться, а каждый вложенный цикл иметь начало и конец внутри внешнего цикла.
Вход внутрь цикла по goto возможен только через его начало.

Вложенные циклыВложенными циклическими процессами называются такие процессы, при которых внутри одного циклического процесса, происходит другой. Каждый из

Слайд 26Суммирование ряда
Определить сумму ряда
S = 1 - 1/x + 1/x

2- 1/x3 + … с заданной точностью ε.







Rn =

-Rn-1/x

ε

S

N

1

2

3

4

S

N

1

2

3

4

x>1

x<1

S

Суммирование рядаОпределить сумму рядаS = 1 - 1/x + 1/x 2- 1/x3 + … с заданной точностью

Слайд 27Приведение алгоритма к структурному
Начало
x, Eps
S=0
R=1
S=S+R
|R|Eps
да
нет
R=-R/x
x, S
Конец
S=S+R
Начало
x, Eps
S=0
R=1
S=S+R
|R|

Приведение алгоритма к структурномуНачалоx, EpsS=0R=1S=S+R|R|EpsданетR=-R/xx, SКонецS=S+RНачалоx, EpsS=0R=1S=S+R|R|

Слайд 28Вариант а (Ex2_4)
#include "stdafx.h"
#include
#include

void main(int argc, char* argv[])
{


float s, r,x,eps;
puts("Input x, eps:");
scanf("%f %f",

&x, &eps);
s=0;
r=1; s+=r;
while (fabs(r)>eps)
{r=-r/x;
s+=r;
}
printf(“ Result= %10.7f r=%10.8\n", s,r);
}

Начало

x, Eps

S=0

R=1

S=S+R

|R|>Eps

да

R=-R/x

r, S

Конец

S=S+R


Слайд 29Вариант б (Ex2_5)
#include "stdafx.h"
#include
#include
void main(int argc, char* argv[])
{

float s, r,x,eps;
puts("Input x, eps:");
scanf("%f

%f", &x, &eps);
s=0; r=1;
do
{ s+=r;
r=-r/x;
} while (fabs(r)>eps);
printf("Result= %10.7f r=%10.8f.\n", s,r);
}

Начало

x, Eps

S=0

R=1

S=S+R

|R|<=Eps

да

нет

R=-R/x

x, S

Конец


Слайд 30Решение задач вычислительной математики
Задача. Вычислить определенный интеграл функции f(x)

на интервале [a,b] методом прямоугольников с точностью δ.





Итак

n
S = f(x1)×d + f(x2)×d + f(x3)×d+ …+ f(xn)×d = d×∑f(xi), где d=(b-a)/n. i=1
Увеличивая n, получаем приближения площади: S1, S2, S3 ...
Останавливаемся, когда |Sk-Sk+1| < δ
Решение задач вычислительной математики Задача. Вычислить определенный интеграл функции f(x) на интервале [a,b] методом прямоугольников с точностью

Слайд 31Неформальное описание алгоритма
Алгоритм:
Шаг 1. Ввести a, b, δ.
Шаг 2. Задать

число прямоугольников n:=10.
Шаг 3. Определить шаг d:=(b-a)/n.
Шаг 4. Определить площадь

фигуры S1.
Шаг 5. Увеличить число прямоугольников вдвое n:=n*2.
Шаг 6. Уменьшить шаг вдвое d:=d/2.
Шаг 7. Определить площадь фигуры S2.
Шаг 8. Если Разность площадей меньше δ, то перейти к шагу 11
Шаг 9. Запомнить новое значение площади S1:=S2.
Шаг 10. Перейти к шагу 5.
Шаг 11. Вывести S1.
Конец.
Неформальное описание алгоритмаАлгоритм:Шаг 1. Ввести a, b, δ.Шаг 2. Задать число прямоугольников n:=10.Шаг 3. Определить шаг d:=(b-a)/n.Шаг

Слайд 32

Схема алгоритма (неструктурная и неэффективная)
Начало
n=10
d=(b-a)/n
S1=0
x=a
i=1,n
S1=S1+f(x)
x=x+d
S1=S1*d
S2=0
x=a
i=1,n
S2=S2+f(x)
x=x+d
S2:=S2*d
A
A
|S1-S2|

Схема алгоритма (неструктурная и неэффективная)Началоn=10d=(b-a)/nS1=0x=ai=1,nS1=S1+f(x)x=x+dS1=S1*dS2=0x=ai=1,nS2=S2+f(x)x=x+dS2:=S2*dAA|S1-S2|

Слайд 33
Схема структурированная и сокращенная

Начало
n=5
d=(b-a)/n
S2=1010
S2=0
x=a
i=1,n
S2=S2+f(x)
x=x+d
S2=S2*d
A
A
|S1-S2|

Схема структурированная и сокращеннаяНачалоn=5d=(b-a)/nS2=1010S2=0x=ai=1,nS2=S2+f(x)x=x+dS2=S2*dAA|S1-S2|

Слайд 34Программа
// Ex2_6.cpp
#include "stdafx.h"
#include
#include

int main(int argc, char* argv[])
{int

i,n;
float s1,s2,x,a,b,eps,d;
puts("input a,b,eps");
scanf("%f %f %f",&a,&b,&eps);
n=5;
d=(b-a)/n;
s2=1.0e+10;
Начало
n=5
d=(b-a)/n
S2=1010
A
Ввод a, b

Программа// Ex2_6.cpp #include

Слайд 35Программа (2)
do
{ s1=s2;
s2=0;n=n*2;
d=d/2;
x=a;
for(i=1;i

{ s2=s2+x*x-1;
x=x+d;
}
s2=s2*d;
} while(fabs(s2-s1)>eps);

S2=0
x=a
i=1,n
S2=S2+f(x)
x=x+d
S2=S2*d
A
|S1-S2|

Программа (2)do{ s1=s2;  s2=0;n=n*2;  d=d/2;  x=a; for(i=1;ieps);S2=0x=ai=1,nS2=S2+f(x)x=x+dS2=S2*dA|S1-S2|

Слайд 36Программа(3)
printf("I= %10.7f n= %6d\n",s2,n);
return 0;
}

Вывод S2
Конец
B

Программа(3)printf(

Слайд 372.6 Неструктурные операторы передачи управления 1. Оператор безусловного перехода goto
goto

;




Пример:
again: x=y+a;

...
goto again;
2.6 Неструктурные операторы передачи управления 1. Оператор безусловного перехода goto 	goto ;	Пример:	again: x=y+a;

Слайд 382. Оператор досрочного завершения break
break;

Пример. Суммирование до 10 чисел вводимой

последовательности. При вводе отрицательного числа работа программы завершается (Ex2_7).

#include "stdafx.h"
#include


void main()
{ int s=0, i, k;
puts("Input up to 10 numbers.");
for (i=1; i<11; i++)
{ scanf("%d",&k);
if (k<0) break;
s+=k;
}
printf("Result = %d.\n",s);
}

break

2. Оператор досрочного завершения breakbreak;Пример. Суммирование до 10 чисел вводимой последовательности. При вводе отрицательного числа работа программы

Слайд 393. Оператор продолжения continue
continue;

Пример 5. Программа суммирует 10
целых положительных

чисел (Ex2_8).

#include "stdafx.h"
#include
void main()
{ int s=0,i=1,k;

puts("Input 10 numbers.");
while(i<11)
{ scanf("%d",&k);
if (k<0) { puts("Error.");
continue;
}
s+=k; i++;
}
printf("Result = %d.\n",s);
}

continue

3. Оператор продолжения continuecontinue;Пример 5. Программа суммирует 10 целых положительных чисел (Ex2_8). #include

Слайд 40Пример 6. Вывод таблицы кодов (Ex2_9)
#include "stdafx.h"
#include
int main(int argc,

char* argv[ ])
{
int i,i1,in,col;
puts("Input first and last values");
scanf("%d %d",&i1,&in);
puts("Input colon

number");
scanf("%d",&col);
for(i=i1;i<=in;i++)
if (i printf("%c-%3d;%c",i,i,((i-i1+1)%col!=0)?' ':'\n');
else printf("%c - %3d.",i,i);
return 0;
}

-32; !–33; "-34; #-35;
$-36; %-37; &-38; ′ -39.

Пример 6. Вывод таблицы кодов (Ex2_9)#include

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика