Você está na página 1de 30

Entrada (a partir do teclado/mouse) -> processamento (gerar informação interagindo com a

memória) -> saída (mostrar os dados no dispositivo de saída)

* /n = nova linha

/t = tabulação horizontal (moove cursor para a próxima marca de tabulação,


normalmente a cada 8 colunas.

/r = carriage return (posiciona o cursor no inicio da linha atual

// = imprime /

/" = Imprime "

TODAS A BARRAS SÃO INVERTIDAS.

Exemplo: printf("/nPrimeira Linha");

--------------------------

Tipos de dados Básicos

int = inteiro

float = ponto flutuante curto

double = ponto flutuante longo

char = caractere

char* ou char[] = string

bool = valor lógico

verdadeiro = falso

sim = não

1=0

true = false
+ = soma

- = subtração

* = multiplicação

/ = divisão

% = módulo (ou resto da divisão)

== = igualdade

!= = diferença

< = menor

<= = menor ou igual

> = maior

>= = maior ou igual

&& = E lógico (conjunção)

ll = OU Lógico (disjunção

! = NÃO lógico (negação)

Funções mais utilizadas

float nota1, nota2, nota3, nota;

float media;

scanf("%f", &nota1);

scanf("%f", &nota2);

scanf("%f", &nota3);

scanf("%f", &nota4);

media = (nota1+nota2+nota3+nota4) / 4;

printf("\nMedia=%f", media);
----------

float a,b,c; //entrada

float x,y,z; //saida

scanf("%f", &a);

scanf("%f", &b);

scanf("%f", &c);

x = a / (b+c);

y = a / b*c;

z = (a+2*b) / (4-c);

-------------

float c,f;

scanf ("%f", &f);

c = 5*(f-32)/9;

--------------

Programas dígitos

int n; //entrada

int u,d,c,m,z //saída


scanf("%d", &n);

u = n % 10; n = n / 10;

d = n % 10; n = n / 10;

c = n % 10; n = n / 10;

m = n % 10; n = n / 10;

z = n % 10; n = n / 10;

printf("%d %d %d %d %d", z, m, c, d, u);

-------------------

Tabela dos operadores aritméticos de atribuição (com variáveis)

+= acumulador de soma

-= acumulador de subtração

*= acumulador de multiplicação

/= acumulador de divisão

++ incremento

-- decremento

-------------------

IF com um comando

if( <condição> )

<comando_unico>

IF com 2 ou + comandos
if( <condição> )

<bloco_comandos>

ELSE

if( <condição> )

<bloco_comandos>

else

<bloco_comandos>

--------------------------------

int num;

scanf("%d", &num);

if(num>0)

printf("O Numero é positivo");

else

printf("O numero não é positivo");

------------------

int num;
scanf("%d", &num);

if(num%2 == 0) {

printf("O Numero é par");

else

printf("O numero é impar");

------------------

float a,b;

scanf("%f", &a);

scanf("%f", &b);

If (a>b)

printf("Maior=&f", a);

---------------------

float a,b,c;

scanf("%f", &a);

scanf("%f", &b);

scanf("%f", &c);

if (a>b) { // 1o teste

aux = b;

b = a;

a = aux;

}
if (b>c) { // 1o teste

aux = c;

b = b;

b = aux;

printf ("%f < %f < %f", a,b,c);

Comandos de seleção em cadeia

if(cond1) {

...

else if(cond2) {

...

else if(cond3) {

...

else if(cond4) {

...

------------------------------

int num;

scanf("%d", &num);

if(num>0)

printf("Numero eh positivo");

else
if(num<0)

printf("Numero eh negativo");

else

printf("Numero eh igual a zero");

-----------------------------

int num;

scanf("%if", %a);

scanf("%if", %b);

scanf("%if", %c);

if(a>b and a>c)

print("Variavel A possui o maior valor: %if",a);

else

if(b>c)

printf(Variavel B possui o maior valor: %if",b);

else

printf(Variavel C possui o maior valor: %if",c);

--------------------------

char ch;

scanf(%c",&ch);

if(ch>='A'&&ch<='Z')

printf(O caractere eh uma letra maiuscula");

else

if(ch>='a'&&ch<='z')
printf("O caractere eh uma letra minuscula");

else

if(ch>='0'&&ch<='9')

printf("O caractere eh um digito numerico");

else

print("O caractere eh um sinal arbitrario");

------------------------

float a,b,c;

scanf("%f",&a);

scanf("%f",&b);

scanf("%f",&b);

if(a<b&&b<c)

print("%f<%f<%f",a,b,c);

else if(a<c&&c<b)

print("%f<%f<%f",a,c,b);

else if(b<a&&a<c)

print("%f<%f<%f",b,a,c);

else if(b<c&&c<a)

print("%f<%f<%f",b,c,a);

else if(c<a&&a<b)

print("%f<%f<%f",c,a,b);

else

print("%f<%f<%f",c,b,a);

-----------------------

int num;
scanf("%d", &num");

if(num<=0) {

if(num%2==0)

printf("O Numero eh positivo e par");

else

printf(O Numero é positivo e impart");

else{

if(num%2==0)

printf("O numero eh negativo e par");

else

printf("O Numero eh engativo e impar");

----------------------

double a,b,c,d;

scanf("%if", &a);

scanf("%if", &b);

scanf("%if", &c);

scanf("%if", &d);

if(a>b){

if(a>c){

if(a>d)

printf("A possui o maior valor: %if", a);

else

printf("D possui o maior valor: %if", d);

}
else {

if(c>d)

printf("C possui o maior valor: %if", c);

else

printf("D possui o maior valor: %if", d);

else {

if(b>c){

if(b>d)

printf("B possui o maior valor: %if!, b);

else

printf("D possui o maior valor: %if, d);

else

if(c>d)

printf("C possui o maior valor: %if", c);

else

printf("D possui o maior valor: %if", d);

printf("A possui o maior valor: %if", a);

------------------------

float altura, peso;

printf("\nEntre com a altura (em metros): ");

scanf("%f", &altura);

printf("\nEntre com o paso (em quilos): ");


scanf("%f", &peso);

if(altura < 1.50) {

if(peso < 50)

printf("Peso Normal!!");

else

printf("Excesso de Peso!!");

else

if(altura >= 1.50 && altura < 1.80) {

if(peso < 50)

printf("Falta de peso!!");

else

if(peso < 80)

printf("Peso normal!!");

else

printf("Excesso de peso!!");

else {

if(peso < 80)

printf("Falta de peso!!");

else

printf("Peso normal!!");

--------------------------

switch (sempre que terminar com o comando break, se não serãoe xecutadas mesmo
pertencendo ao caso seguintes.)
------------------------

comando de repetição simples

while( <condição> )

<bloco_comandos>

---------------------------------------

int cont;

cont = 1;

while(cont<=20)

printf("\nNumero %d", cont);

cont++;

for = mais fácil de escrever em relação a contadores

-----------------

int cont, soma, N;

scanf("%d", &N);

cont = 1,

soma = 0,

while(cont<=N)
{

soma = soma + cont;

cont++;

printf("\nSoma=%d", soma);

Comando Break

Objetivo: Causar a saída imediata de um laço ou repetição.

Localização: deve pertencer ao corpod e um comando FOR, WHILE ou DO-WHILE.

Laços alinhados: Atinge somente o laço ao qual pertence e os laços internos a ele.

------------------------------

int cont;

for(cont=1; cont<=10; cont++)

scanf("%d", &num);

if(num<0) {

soma = soma + num;

else

if (num==0)

break;

printf("\nSoma=%d", soma);

---------------------------
int num;

for(num=2; num!=0 ; num*=2)

printf("\nNúmero:%d", num);

------------------------------

int med1, med2;

med1=clock();

for(int i=0; i<10000; i++)

printf("\n%d",i);

med2=clock();

tempo = med2 - med1;

printf("\nTempo do programa=%d", tempo);

Comando de repetição alinhados

int l, c; //entradas

scanf("%d", &l);

scanf("%d", &c);

for(int j=1; j=<L; j++){

printf("\n");

for(int i=1; i<=C; i++)

printf("*);
}

------------------------------------

int l, c; //entradas

scanf("%d", &l);

scanf("%d", &c);

for(int j=1; j=<L; j++){

printf("\n");

for(int i=1; i<=C; i++)

if( j==1 ll j==L ll i==1 ll i==C)

printf("*);

else

printf(".");

--------------------------

do {

scanf("%d", &l);

} while(L<1 ll L>20);

do {

scanf("%d", &c);

} while(C<1 ll c>70);

-------------------------------------
int x, y, z; //contadores

for(x=1; x<=100, x++) {

for(y=1; y<=100; y++) {

for(z=1; z<=100; z++) {

if(x<=y && y<=z) {

if(x*x + y*y == z*z) {

printf("\n%d--\tx=d%\ty=d%\tz=%d",cont,x,y,z);

printf("\nVezes=%d",vezes);

---------------------------------------

Declaração de um vetor:

<tipo> <identificador> [<tamanho>]

ex: int v[5]

float A[10], B[20]

char nome[30]

----------------------

int v[10]; //vetor

int i; //contador

int soma;
for(i=0; i<10; i++)

scanf("%d", &v[i]);

soma = 0;

for(i=0; i<10; i++)

soma = soma + v[i];

printf("%d", &soma);

---------------------------------

PROGRAMA PARA PROCURAR VALOR CDENTRO DO VETOR

int v[10] //vetor

int i; //contador

bool existe;

int X;

printf("\Entre com o elemento a ser procurado: ");

scanf("%d", &X);

existe = false;

for(i=0; i<10; i++)

if(X == v[i]) {

existe = true;

break;

if(existe)

printf("Elemento %d encontrado no vetor", X);

else

printf("Elemento %d NAO encontrado no vetor", X);

--------------------------------
int v[20]; //vetor

int i; //contador

int m; //maior valor

for(i=0; i<20; i++)

v[i] = rand() % 100;

m = v[0];

for(i=1; i<20; i++)

if(v[i] > m)

m = v[i];

printf("\Maior = %d", m);

// mostrando um vetor na tela

printf("\n");

for(i=0; i<20; i++)

printf("%d", v[i]);

varios vetores no mesmo programa

int A[20], B[20];

for(i=0; i<20, i++) {

A[i] = i+1;

B[i] = i+21;
}

for(i=0; i<20; i++) {

aux = A[i];

A[i] = B[i];

B[i] = aux;

printf("\nVetor A:");

printf("\n");

for(i=0; i<20; i++)

printf("%d", A[i]);

printf("\nVetor B:");

printf("\n");

for(i=0; i<20; i++)

printf("%d", B[i]);

-----------------------------------------

int a[20], b[20], c[20]; //vetores

int i;

//Entrada

for(i=0; i<20; i++) {

a[i] = i;

b[i] = 20-i;

}
//Processamento

for(i=0; i<20; i++) {

c[i] = a[i] + b[i];

//Saida

printf("\n");

for(i=0; i<20; i++)

printf("%d", a[i]);

printf("\n");

for(i=0; i<20; i++)

printf("%d", b[i]);

printf("\n");

for(i=0; i<20; i++)

printf("%d", c[i]);

----------------------------

int A[20], P[20], I[20]; //vetores

for(i=0; i<20; i++) {

A[i] = rand()100%

for(i=0; i<20; i++) {

if(A[i]%2 == 0)

P[j] = A[i]
j++;

else

I[k] = A[i];

k++

printf("\nVetor A:");

printf("\n");

for(i=0; i<20; i++)

printf("%d", A[i]);

printf("\nVetor Pares:");

printf("\n");

for(i=0; i<J; i++)

printf("%d", A[i]);

printf("\nVetor Impares:");

printf("\n");

for(i=0; i<K; i++)

printf("%d", A[i]);

------------------------------

matrizes bidimensionais

Descrição de um vetor

<tipo><identificador> [<tam1>][<tam2>]...;

exemplos:
int V1[5]

int V2[10][8]

int V3[10][4][12]

char nome[20][30]

-----------------

preencher matriz

for(l=0; l<4; l++)

for(c=0; c<4; c++)

M[l][c] = l+c;

---------------

CÓDIGO FONTE PARA MOSTRAR UMA MATRIZ

------------------

Contagem dos elementos iguais a zeo (por linha)

for(l=0; l<TAML; l++) {

cont[l]=0;

for(c=0; c<TAMC; c++)

if(M[l][c] == 0)

cont[l]++;

SOMA DOS ELEMENTOS PARES

soma = 0;

for(l=0; l<TAML; l++) {

for(c=0; c<TAMC; c++)

soma = soma + M[l][c]


ENCONTRAR O MAIOR ELEMENTO

---------------------------

ROTINA

<tipo_retorno><nome_rotina> (<lista_Parâmetros>)

<corpo_da_rotina>

------------------------------------

void alo()

printf(!\nOla");

printf(" mundo!!");

---------------------------------

void exercicio1()

int cont;

cont = 1;

while(cont<=20)

{
printf("\nNumero %d", cont);

cont++;

void exercicio2()

int cont, soma;

cont = 1;

soma = 0;

while(cont<=20)

soma = soma + cont;

cont++;

printf("\nSoma=%d", soma);

void exercicio3()

int cont, termo, inc;

termo = 1;

inc = 2;

for(cont=1; cont<=20; cont++) {

printf("%d ",termo);

termo = termo + inc;

inc = inc + 2;

}
void menu()

printf("\n\nExercicios da Aula 7: ");

printf("\n[1] mostra 1 a 20");

printf("\n[2] soma 1 a 20");

printf("\n[3] Serie 1,3,7,...");

printf("\n[0] Sair\n\n");

int main()

char opção;

do {

menu();

opcao = getch();

switch(opcao) {

case '1': exercicio1();

break;

case '2': exercicio2();

break;

case '3': exercicio3();

break;

} while(opcao!='0');

-----------------------
Escopo Global

- A variável é visível no programa inteiro

- Declaração feita "Fora das rotinas"

Escopo Local

- A variavel é visível somente dentro de uma rotina

- Declaração feita "dentro da rotina".

Regra geral: Escopo de Bloco

A variável é visível somente dentro do bloco no qual ela é declarada

------------------------

Rever aula 4-1

---------------

Passagem de Parametros

Comando REturn

Atribuições ou papéis do comando REturn:

- Primeiro: provocar o término da função

- Segundo: devolver um valor para a função chamadora.

Chamada de rotina

nome (parametros)reais); - para procedimentos

a = nome (parametros_reais); - para funções

cout << nome(parametros_reais);

Parametros reais = lista de expressões (separadas por virgula)

Uso de funções alinhadas


Tipos de Passagem de Parametros

Por Cópia ou valor:

Serve para passar valores pequenos para a rotina

funciona como se fosse uma atribuição

Por Referencia

Serve para passar valores "imensos" para a rotina, como matrizes e arquivos.

Serve para retornar 2 ou mais valores pela rotina

Funciona por compartilhamento do endereço

Processo

Parametro real é avaliado - argumento

Valor é atribuido

------------

double quadrado(double x)

double quadrado (double x)

double res;

res = x*X;

return res;

----------------

void divisao_completa(int a, int b, int &Q, int &R)

Q = a / b;

R = a % b;
}

-----------------

int maior2(int a, int b)

if(a>b)

return a;

else

return b;

----------------

int maior3(int a, int b, int c)

if(a>b && a>c)

return a;

else

if(b>a && b>c)

return b;

else

return c;

-------------------

int maior3(int a, int b, int c)

int x;

x = maior2(a,b);

return maior2(c,x);

}
-----------------

int maior5(int a, int b, int c, int d, int e)

int x, y;

x = maior2(a,b);

y = maior3(c,d,e);

return maior2(x,y);

-----------------

ALGORITMOS DE BUSCA E ORDENAÇÃO

BUSCA SEQUENCIAL E BINARIA

COMPARAÇÃO E SELEÇÃO DIRETA

Você também pode gostar