46
Processamento de dados Exemplos de programação em C++ 1 de 46 Linguagem C++ Linguagem CASE SENSITIVE. Para usar comentários, deve colocar: // (duas barras para uma única linha); /* texto */ (permite o uso de mais linhas p/ comentários ) cabeçalho Para desfrutar de certos recursos, é necessário informar ao programa quais bibliotecas serão usados. Assim, indicamos: #include< stdio.h> #include< conio.h> #include< studlib.h> Entre outras... função clrscr() Limpa a tela. Requer o cabeçalho <conio.h> Códigos para impressão formatada de printf() %c caractere simples %d decimal %e notação cientifica %f ponto flutuante (fracionário) %o octal %s cadeia de caracteres %u decimal sem sinal %x hexadecimal Obs: %f define as casas decimais: por exemplo, %2f= 2 casas decimais! Quando não especificado, trabalha com 6 casa decimais Sintaxe: Printf(“expressão de controle”,lista de argumentos) Ex: Printf (“este é o numero dois: %d”, 2); Texto dentro de aspas duplas

Apostila C++ Com Marcelo S. Grippa

Embed Size (px)

Citation preview

Page 1: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

1 de 46

Linguagem C++ Linguagem CASE SENSITIVE. Para usar comentários, deve colocar: // (duas barras para uma única linha); /* texto */ (permite o uso de mais linhas p/ comentários )

cabeçalho Para desfrutar de certos recursos, é necessário informar ao programa quais bibliotecas serão usados. Assim, indicamos: #include< stdio.h> #include< conio.h> #include< studlib.h> Entre outras...

função clrscr() Limpa a tela.

Requer o cabeçalho <conio.h> Códigos para impressão formatada de printf() %c caractere simples %d decimal %e notação cientifica %f ponto flutuante (fracionário) %o octal %s cadeia de caracteres %u decimal sem sinal %x hexadecimal Obs: %f define as casas decimais: por exemplo, %2f= 2 casas decimais! Quando não especificado, trabalha com 6 casa decimais Sintaxe: Printf(“expressão de controle”,lista de argumentos) Ex: Printf (“este é o numero dois: %d”, 2); Texto dentro de aspas duplas

Page 2: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

2 de 46

Separada por virgula

Função scanf () é uma das funções de entrada e saída de dados implementadas em todos os compiladores e

permite ler dados formatados de entrada pelo teclado

#include<stdio.h> ... float a,b,c,media; printf("informe sua primeira nota: "); scan(("%f",&a); ....

função getchar() Lê um caractere do teclado e espera um return

#include<stdio.h> #include<stdlio.h> ... char ch; printf("informe sua letra: "); ch=getchar() .... return0;

função gets() Esta função lê uma string do teclado

Uma string é uma matriz de caracteres Char str[14] Onde: A matriz terá 14 elementos Lembrando que começa do 0 e segue ate o 13 o espaço em branco também é considerado caractere

MODULARIZAÇÃO (quebrar em modulos)

Page 3: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

3 de 46

Técnica para desenvolver algoritmo por meio de REFINAMENTO sucessivo em que podemos utilizar em modos.

A modularização consiste em um método utilizado para facilitar a construção de grandes programas, através de divisões em pequenas etapas (pequena sub-rotina modula, ou sub-programa).

Começamos a modularização onde começamos a execução do trabalho: no PROGRAMA PRINCIPAL.

A partir daí, define os sub-programas propriamente ditos que são executados sempre que o programa principal o chame.

VANTAGENS:

1. Economia de código; 2. Pensa-se no código por partes; 3. Correção mais fácil; 4. Facilidade de alteração; 5. Um algoritmo pode ser usado varias vezes no programa.

A modularização pode ser de duas formas:

PROCEDIMENTO: È um programa com vida própria, mas para ser executado é necessário ser chamado pelo programa principal (ou outro programa “programa acima”)

FUNÇÃO: Parecido com o procedimento, porem possui característica de retornar um valora o programa que o chamou (semelhantes à função matemática)

METODO TOP DOWN (de cima para baixo)

É um método de modularização bastante usado para a programação estruturada (programa que contem a técnica de resolução de um problema em blocos que interage com o programa principal) CARACTERISTICA:

⇒ Antes de iniciar a construção de um, programa, devera saber qual a tarefa principal que ele devera executar .(sem se preocupar com quantos serão e com funcionarão);

⇒ Conhecendo as tarefas, saberemos como será o programa principal (que comandara todos os sub-programas);

⇒ Em sequida inicia o processo de detalhamento para cada sub-rotina(com um algoritmo para cada sub-rotina)podendo refinar,ou seja ,fazer um sub-programa para aquele sub-programa.

Page 4: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

4 de 46

PROGRAMA PRINCIPAL

ROTINA 1 ROTINA 2 ROTINA 3

ROTINA 1.1 ROTINA 1.2 ROTINA 3.1 ROTINA 3.2 ROTINA 1.1.1 ROTINA 1.1.2 Desta maneira formamos algo parecido com um organograma, permite a manutenção em cada modulo, separadamente, garantindo que ao chegar no fim do programa todos os problemas tenham sido resolvidos.

VARIAVEL GLOBAL Permite ser usado por todos os módulos que compõem o programa.

VARIAVEL LOCAL Somente será utilizada dentro de um modulo, onde ela foi declarada.

PARAMETROS São os dados especificados para a execução de uma função.

SIMBOLOGIA

Page 5: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

5 de 46

COMANDOS DE DECISÕES – CONTROLE DE FLUXO

OPERADORES LÓGICOS OU BOOLEANOS

Os operadores lógicos são utilizados onde é necessário trabalhar com o relacionamento de duas ou mais condições ao mesmo tempo na mesma instrução if , efetuando desta forma testes múltiplos. Os operadores lógicos são três: E, OU e NÃO . Estes operadores evitam às vezes a utilização de muitas instruções if encadeadas.

OPERADOR LÓGICO E : && Utilizado quando dois ou mais relacionamentos lógicos de uma determinada condição necessitam ser verdadeiros. O operador && faz com que somente seja executada uma determinada operação se todas as condições mencionadas forem simultaneamente verdadeiras, gerando assim um resultado lógico verdadeiro. OPERADOR LÓGICO OU: | | É utilizado quando pelo menos um dos relacionamentos lógicos (quando houver mais de um relacionamento) de uma condição necessita ser verdadeiro. O operador | | faz com que seja executada uma determinada operação, se pelo menos uma das condições mencionadas gerar um resultado lógico verdadeiro . OPERADOR LÓGICO NÃO: ! O Operador do tipo! é utilizado quando se necessita estabelecer que uma determinada condição deve não ser verdadeira ou deve não ser falsa . O operador ! Se caracteriza por inverter o estado lógico de uma condição. O operador lógico ! Faz com que seja executada uma determinada operação invertendo o resultado lógico da condição. EXEMPLO DE APLICAÇÃO Ler três valores para os lados de um triângulo, considerando lados como A, B e C . Verificar se os lados fornecidos formam realmente um triângulo. Se for esta condição

Page 6: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

6 de 46

verdadeira, deverá ser indicado qual tipo de triângulo foi formado: isósceles, escaleno ou eqüilátero . Algoritmo Para o triangulo, temos: Triangulo é uma forma geométrica (polígono) composta por três lados, sendo que cada lado é menor que a soma dos outros dois lados . É um triângulo, quando A < B+C , quando B < A + C e quando C < A + B . Uma vez satisfeitas as condições acima, vamos determinar o tipo de triângulo. - Um triângulo é isósceles , quando possui dois lados iguais e um diferente : A =

= B ou A = = C ou B = = C . - Um triângulo é escaleno quando possui todos os lados diferentes, sendo: A!=B e B!=C

. - Um triângulo é eqüilátero quando possui todos os lados iguais, sendo : A = = B e B =

= C . 1. Ler três valores para os lados de um triângulo : A , B e C . 2. Verificar se cada lado é menor que a soma dos outros dois lados.

- Se sim , saber se A = = B e se B = = C . Sendo verdade , o triângulo é

equilátero . - Se não, verificar A = = B ou se : - A = = C ou se B = = C. Sendo verdade o triângulo é isósceles, caso

contrário, será escaleno . 3. Caso os lados fornecidos não caracterizem um triângulo, avisar a ocorrência .

Page 7: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

7 de 46

Pseudocódigo :

se ( A < B + C e B < A + C e C < A + B )

então senão fim se

se ( A = B e B = C ) então senão se ( A = B ou A = C ou B = C ) fim se fim se

“ Imprima : Os valores fornecidos não formam um triângulo”

“Imprima Triângulo Equilátero”

então senão

“Imprima Triângulo Isósceles”

“Imprima Triângulo Escaleno”

Page 8: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

8 de 46

COMANDOS DE DECISÕES – CONTROLE DE FLUXO

Os comandos de tomadas de decisão ou controle de fluxo permitem ao programador alterar a seqüência de execução do programa.

- COMANDO if - A sua forma geral é : if ( condição ) declaração;

A condição de comando if é uma expressão que será avaliada. Se a condição for

verdadeira, a declaração será executada. Se a condição não for verdadeira a declaração não será executada. A declaração pode ser um bloco de instruções ou apenas um comando .

Para apenas um comando :

if ( condição) instrução para condição verdadeira ; instrução para condição falsa;

Para um bloco de instruções :

if ( condição) { instrução 1; instrução 2; . . instrução n;

Condiçã

Comando

Próx.

V

F

Page 9: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

9 de 46

} Instrução para condição falsa;

Exemplos: 1) Adicionar números Int main ( ) {

int A, B, X; printf(“Entre com o valor de A : “ ); scanf(“%d”, & A); printf(“Entre com o valor de B : “); scanf(“%d”, & B); X = A + B; if ( X > 10 ) printf(“\nO valor da variável X equivale : %d\n”, X); return 0; } Caso a soma de A e B seja menor que 10, o programa não faz absolutamente nada . 2) Entrar com dois números A e B via teclado ,e ordena –los em ordem crescente : Algoritmo: - Entrar com dois valores via teclado A e B; - Verificar se A é maior que o valor B ; - Se for verdadeiro, efetuar a troca de valores entre as variáveis e apresentar os valores

das duas variáveis; - Se for falso, apresentar os valores das duas variáveis. Programa : /* Ordena */ int main( ) { int A, B, X; printf(“Entre com o valor de A : “) ; scanf( “%d”, &A); printf(“Entre com o valor de B : “) ; scanf( “%d”, &B); if ( A > B ) { X = A; A = B; B = X; }

Page 10: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

10 de 46

printf( “\nOs valores ordenados são : %d e %d\n\n”, A, B); return 0; } 3) Acertar número int main ( ) { int num; printf(“Digite um numero : “); scanf(“%d”, & num); if ( num > 10 ) printf(“\n\nO numero e maior que 10.\n\n”); if ( num ==10) { printf(“\n\nParabens !!!! Voce acertou ! \n”); printf(“O numero e igual a 10.\n\n”); } if ( num <10) printf(“\n\nO numero e menor que 10.\n\n”);

return 0; } DECISÃO COMPOSTA : if .... else

Condiçã

C.

C. Falso

V

F

Próx.

Page 11: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

11 de 46

Sendo a condição verdadeira ,será executada a instrução que estiver posicionada entre a instrução if e a instrução else . Sendo a condição falsa será executada a instrução que estiver posicionada logo após a instrução else . if < ( condição ) > < instruções para condição verdadeira >; else < instruções para condição falsa >; ou para grupos de instruções : if < ( condição ) > {

< instrução1 para condição verdadeira >; < instruçãoN para condição verdadeira >; } else {

< instrução1 para condição falsa >; < instruçãoN para condição falsa >; } 4) Acertar numero versão_2 int main ( ) { int num; printf(“Digite um numero : “); scanf(“%d”, & num); if ( num ==10) { printf(“\n\nParabens !!!! Voce acertou ! \n”); printf(“O numero e igual a 10.\n\n”); }

else { printf(“\n\nVoce errou!\n”);

printf(“\n\nO numero e diferente de 10.\n\n”); } return 0;

}

Page 12: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

12 de 46

ifs aninhados : O if aninhado é simplesmente um if dentro da declaração de um outro if externo . Exemplo : 5) int main ( ) { int num; printf(“Digite um numero : “); scanf(“%d”, & num); if ( num ==10) {

printf(“\n\nParabens !!!! Voce acertou ! \n”); printf(“O numero e igual a 10.\n\n”); } else

{ if ( num >10) {

printf(“\nO numero e maior que 10.\n\n”); }

else {

printf(“\n\O numero e menor que 10 .\n\n”); }

} return 0;

} 6) Exemplo calculadora :

Page 13: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

13 de 46

int main ( )

{

float num1, num2;

char op;

printf(“Digite um numero , operador, numero \n”);

scanf(“%f %c %f”, & num1, & op, & num2);

if(op ==’+’)

printf(“ = %f”, num1 + num2);

else

if(op==’-‘)

printf(“ = %f”, num1 – num2);

else

if(op==’*’)

printf(“ = %f”, num1*num2);

else

if(op==’/’)

printf(“ = %f”, num1/num2);

printf(“\n\n”);

}

Page 14: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

14 de 46

COMANDOS DE REPETIÇÃO – FOR

O loop for é usado para repetir um comando, ou bloco de comandos, diversas vezes, de maneira que se possa ter um bom controle sobre o loop . A forma geral do laço for é : for ( ; ; ) { } Exemplo 1 : Contador de 0 a 9 . /* imprime números de 0 a 9 */

int main ( ) { int conta; for ( conta = 0 ; conta <10 ; conta++) printf(“conta = %d\n”, conta); }

No programa , temos : conta = 0 → inicialização ( condição inicial ) conta < 10 → teste conta ++ → incremento Obs : conta ++ equivale a incrementar de 1 , ou seja conta +1 .

inicialização teste incremento

Bloco de comandos

Page 15: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

15 de 46

Podemos também : conta +=2 equivalente a incrementar de dois em dois . conta + =3 equivalente a incrementar de três em três , e assim por diante .

Faça o teste , contando no exemplo acima de dois em dois , depois de três em três Exemplo 2 : Repetir o exemplo anterior para um contador decrescente de 9 a 0 .

Obs : conta -- equivale a decrementar de 1 , ou seja conta -1 . Podemos também : conta -=2 equivalente a decrementar de dois em dois .

conta - =3 equivalente a decrementar de três em três , e assim por diante . Faça o teste , contando de forma decrescente no exemplo acima de dois em dois , depois de três em três .

Exemplo 3 : Imprime números de 0 a 98 em incremento de 2 .

int main ( )

{ int x, y ; for ( x = 0 , y = 0 ; x + y < 100 ; x = x + 1 , y = y +1) printf ( “%d \n“ , x + y ); }

Exemplo 4 : Podemos usar caracteres , em vez de inteiros :

int main ( )

{ char ch ; for ( ch = ‘a’ ; ch <= ‘z’ ; ch++) printf ( “O valor ASC II de %c e %d . \n”, ch, ch); }

Exemplo 5 : Dois contadores

Page 16: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

16 de 46

int main ( )

{

int A, B;

for ( A = 1 , B = 1 ; A + B <= 15; A+=2 , B ++ ) printf( "A = %d B = %d : Resultado A + B = %d \n", A, B, A+B);

}

Exemplo 6 : Repetir um processo ( soma ) , durante 5 vezes .

int main ( )

{

int A, B, R, I,;

for ( I = 1; I <=5 ; I ++ ) {

printf( "\nEntre com um valor para A : ");

scanf("%d" , &A);

printf( "\nEntre com um valor para B : ");

scanf("%d" , &B);

R = A + B;

printf("\n\nO resultado corresponde a : %d\n\n", R);

}

printf("O numero total de operacoes e %d\n\n\n", I-1);

}

Page 17: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

17 de 46

O Loop infinito O loop infinito tem a forma :

for ( inicialização ; ; incremento ) { }

Este loop chama – se loop infinito porque será executado para sempre ( não existindo a condição, ela será sempre considerada verdadeira ) , a não ser que ele seja interrompido. Para interromper um loop como este , usamos o comando break . O comando break vai quebrar o loop infinito e o programa continuará sua execução normalmente .

Como exemplo, vamos ver o programa que faz a leitura de uma tecla e sua impressão na tela, até que o usuário aperte uma tecla sinalizadora de final ( um FLAG ) . O nosso FLAG será a letra ‘X’ .

Exemplo 7 :

int main ( )

{

int Count;

char ch ;

Bloco de comandos

Page 18: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

18 de 46

for ( Count = 1; ; Count ++ ) {

ch = getche ( ) ;

if ( ch =='X') break ;

printf("\nLetra : %c\n\n",ch);

}

}

Obs: Não esquecer o arquivo cabeçalho conio.h para o comando getche ( )

COMANDO SWITCH É outro comando de decisão . O comando switch é próprio para se testar uma variável em relação a diversos valores pré – estabelecidos . Sua forma geral é :

switch ( variável ) { case ( constante 1 ) : break ;

case ( constante 2 ) : break ;

........ case ( constante n ) :

Bloco de comandos 1

Bloco de comandos 2

Bloco de comandos n

Page 19: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

19 de 46

break ; default : } Podemos fazer uma analogia entre o switch e a estrutura if – else – if apresentada

anteriormente . A diferença fundamental é que a estrutura switch não aceita expressões . Aceita apenas constantes . O switch testa a variável e executa a declaração cujo case corresponda ao valor atual da variável . A declaração default é opcional e será executada apenas se a variável, que está sendo testada, não for igual a nenhuma das constantes .

O comando break , faz com que o switch seja interrompido assim que uma das

declarações seja executada. Se após a execução da declaração não houver um break, o programa continuará executando .

Bloco de comandos default

Page 20: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

20 de 46

Exemplo 1 int main ( ) { int num; printf ( “Digite um numero : “); scanf (“%d”, & num ); switch ( num) { case 9 : printf( “\n\nO numero e igual a 9.\n”); break; case 10 : printf( “\n\nO numero e igual a 10.\n”); break; case 11 : printf( “\n\nO numero e igual a 11.\n”); break; default : printf(“\n\nO numero não e 9 nem 10 nem 11.\n”); } return (0); }

Page 21: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

21 de 46

COMANDOS DE REPETIÇÃO – LOOPINGS

Os loopings são utilizados quando desejamos repetir um determinado trecho de um programa um número de vezes . São também chamados de laços ou malhas . 1) ESTRUTURA while

while < ( condição ) > { }

Exemplo 1 Programa contador de 0 a 9

#include <stdio.h> #include <stdlib.h> /* imprime os números de 0 a 9 */ int main( ) { int conta = 0 ; /* inicializa a variável conta */ while (conta <10) /* executa laço até conta ser 10 */ { printf("conta = %d \n" , conta); conta = conta +1;

} printf("\n") ; system ("PAUSE"); return 0; }

Bloco de comandos

Page 22: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

22 de 46

Exemplo 2

Repetir item anterior para contador decrescente de 9 a 0 .

Exemplo 3 Programa que conta o numero de caracteres de uma frase até que pressionemos a tecla RETURN #include <stdio.h> #include <stdlib.h> #include <conio.h> int main( ) { int cont = 0; printf("Digite uma frase : \n"); while ( getche()!=13) /* 13 corresponde ao codigo da tecla ENTER */ cont=cont+1; printf("\nVoce pressionou a tecla RETURN\n\n"); printf("FIM DE PROGRAMA\n\n"); printf("\nO numero de caracteres e %d\n\n",cont); system ("PAUSE"); return 0; } OBS :. função getch ( ) Lê o caractere do teclado e não permite que seja impresso na tela . função getche( ) Lê o caractere do teclado e permite que seja impresso na tela . arquivo conio.h Deve ser utilizado no início para que seja “entendida” as funções

getche( ) e getch( ) Exemplo 4 Para o programa anterior , trocar getche () por getch () . Qual a diferença ?

Page 23: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

23 de 46

Exemplo 5 Verifique o programa exemplo Exemplo 3 quando nenhum caractere for digitado , ou seja , pressionando somente a tecla RETURN. Exemplo 6 int main ( ) { int A, B, R , I; I =1; while ( I <=5) { printf(“\n\nEntre com um valor para A: “); scanf(“ %d”, &A); printf(“\n\nEntre com um valor para B: “); scanf(“ %d”, &B); R = A + B; printf(“ \nO resultado corresponde a : %d”, R); I = I +1; } } Podemos modificar o programa anterior , para quando o usuário não sabe exatamente qual o número de vezes que o programa será repetido :

Exemplo 7 #include <stdio.h> #include <stdlib.h> #include <conio.h> int main ( ) { int A, B, R ; char RESP = ‘s’; while ( RESP == 's') { printf("\n\nEntre com um valor para A: "); scanf(" %d", &A); printf("\n\nEntre com um valor para B: "); scanf(" %d", &B); R = A + B; printf(" \nO resultado corresponde a : %d", R); printf("\n\nDeseja continuar ? - Tecle (s) ou (n) : "); RESP = getche(); printf("\n\n\n\n"); } system ("PAUSE"); return 0;

Page 24: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

24 de 46

} 2) ESTRUTURA do while Caracteriza – se por efetuar um teste lógico no final de um looping . Este tipo de comando garante que a declaração ( conjunto de instruções ) será executada pelo menos uma vez . do { } while ( condição ) ; Exemplo 8 int main ( ) { int A, B, R , I = 1; do { printf(“\n\nEntre com um valor para A: “); scanf(“ %d”, &A); printf(“\n\nEntre com um valor para B: “); scanf(“ %d”, &B); R = A + B; printf(“ \nO resultado corresponde a : %d\n\n”, R); I = I +1; } while ( I <= 5); }

Bloco de comandos

Page 25: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

25 de 46

Exemplo 9 #include <stdio.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> int main ( ) { int A, B, R ; char RESP = 's'; do { printf("\n\nEntre com um valor para A: "); scanf(" %d", &A); printf("\n\nEntre com um valor para B: "); scanf(" %d", &B); R = A + B; printf(" \nO resultado corresponde a : %d", R); printf("\n\nDeseja continuar ? - Tecle (s) ou (n) : "); RESP = getche();

} while (RESP == 's'); printf("\n\n"); system ("PAUSE"); return 0; } A estrutura do while é utilizada em menus, nos quais você quer garantir que o valor digitado pelo usuário seja válido , conforme exemplo a seguir :

Page 26: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

26 de 46

Exemplo 10 int main ( )

{ int i; do { printf (“\n\nEscolha a fruta pelo numero :\n\n”); printf(“\t(1) . . .Mamao\n”); ; \t e comando de tabulação . printf(“\t(2) . . .Abacaxi\n”);

printf(“\t(3) . . .Laranja\n”); scanf(“%d”, &i);

} while ((i<1) | | (i>3)); switch ( i ) { case 1: printf(“\t\tVoce escolheu Mamao. \n\n”); break; case 2: printf(“\t\tVoce escolheu Abacaxi. \n\n”); break; case 3: printf(“\t\tVoce escolheu Laranja. \n\n”); printf(”\n\n”); } }

Page 27: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

27 de 46

Todos os programas funcionam!

Usando comando for // 1- imprime números de 0 a 9 #include <stdio.h> #include <stdlib.h> int main ( ) { int conta; for ( conta = 9 ; conta >=0 ; conta--) { printf("conta = %d\n", conta); } printf("\n"); system ("PAUSE"); return 0; } //contagem de 2 em 2 #include <stdio.h> #include <stdlib.h> int main ( ) { int x, y ; for ( x = 0 , y = 0 ; x + y < 100 ; x = x+1 , y = y+1) printf ( "%d \n" , x + y ); printf("\n"); system ("PAUSE"); return 0; }

// 2- numeros de 9 a 0 #include <stdio.h> #include <stdlib.h> int main ( ) { int conta; for ( conta = 9 ; conta >=0 ; conta--) { printf("conta = %d\n", conta); } printf("\n"); system ("PAUSE"); return 0; } //alterando os valores digitados #include<stdio.h> #include<conio.h> main(){ int numerototal = 10; int numeros[10]; int c; printf("Digite um numero:\n "); for(c=0;c<numerototal;c++){ scanf("%d",&numeros[c]); } printf("\n//------------------//\n"); printf("Os valores digitados foram: \n"); for(c=0;c<numerototal;c++){ printf("%d\a",numeros[c]); printf(" "); } int subs=1; for(c=0;c<numerototal;c++){ if(numeros[c]==5){ numeros[c]=subs; } } printf("\n\n//------------------//\n"); printf("Os numeros 5 foram trocados pelo numero 1 : \n"); for(c=0;c<numerototal;c++){ printf("%d\a",numeros[c]); printf(" "); } getch(); }

Page 28: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

28 de 46

// 3 calculadora1 #include<stdio.h> #include<conio.h> main(){ int numerototal = 10; int numero1[10],numero2[10],produto[10]; int c; for(c=0;c<numerototal;c++){ printf("Digite o numero de posicao "); printf("%d",c); printf(": "); scanf("%d",&numero1[c]); } printf("\n outra sequencia :\n"); for(c=0;c<numerototal;c++){ printf("Digite o numero de posicao "); printf("%d",c); printf(": "); scanf("%d",&numero2[c]); } int somatotal = 0; printf("//-----------------//\n"); for(c=0;c<numerototal;c++){ printf("%d",numero1[c]); printf(" x "); printf("%d",numero2[c]); printf(" = "); produto[c] = numero1[c]*numero2[c]; printf("%d",produto[c]); somatotal += produto[c]; printf("\n"); } printf("\nSoma de todos os produtos: "); printf("%d", somatotal); getch(); } // 4 calculadora #include<stdio.h> #include<conio.h> main(){ int numerototal = 10; int numeros[10]; int numerounico; int c; printf("Digite um numero:"); scanf("%d",&numerounico); printf("\n//------------------//\n"); printf("Digite 10 numeros:\n"); for(c=0;c<numerototal;c++){ scanf("%d",&numeros[c]); } printf("\n//--------------------------//\n"); printf("fazendo a multiplicao,temos: \n"); for(c=0;c<numerototal;c++){ int produto = numeros[c]*numerounico; printf("%d",numeros[c]); printf("x"); printf("%d",numerounico); printf("="); printf("%d\a\n",produto); } getch(); }

// 5 caractere ascii #include <stdio.h> #include <stdlib.h> int main ( ) { char ch ; for ( ch = 'a' ; ch <= 'z' ; ch++) printf ( "O valor ASC II de %c e %d . \n", ch, ch); printf("\n"); system ("PAUSE"); return 0; } //uso de senha #include <stdio.h> #include <stdlib.h> #include <conio.h> int main ( ) { int Count; char ch ; printf("DIGITE A SENHA\n"); for ( Count = 1; ; Count ++ ) { ch = getche ( ) ; if ( ch =='X') break ; printf("\nsenha errada : %c\n\n\a",ch); } printf("\n"); system ("PAUSE"); return 0; } // 6 Contagem3_for #include <stdio.h>//Biblioteca de entrada e saida #include <conio.h>//getch main() { int n; for(n=10;n>0;n--) { printf("%d \n",n); } getch();//tecla de pausa } /* Contagem3_for*/ #include <stdio.h>//Biblioteca de entrada e saida #include <conio.h>//getch main() { int n, y; printf("Contagem regressiva a partir de: "); scanf("%d",&n); for(y=n;y>0;y--) { printf("%d \n",y); } getch();//tecla de pausa }

Page 29: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

29 de 46

// 7 contagem de numeros pares #include<stdio.h> #include<conio.h> main(){ int numerototal = 6; int numeros[10]; int c; for(c=0;c<numerototal;c++){ printf("Digite um numero:"); scanf("%d",&numeros[c]); } printf("\n//------------------//\n"); printf("a quantidade de valores pares: \n"); int npares = 0; for(c=0;c<numerototal;c++){ if((numeros[c]%2) == 0){ npares++; } } printf("%d",npares); getch(); } // 8 Faça um algoritmo que leia 20 valores do tipo inteiro // e mostre todos elementos lidos. #include<stdio.h> #include<conio.h> main() { int gri[20],cont; printf("entre com os 20 numeros :\n"); for(cont=0;cont<20;cont++) { scanf("%d",&gri[cont]); } printf ("repetindo seus numeros :\n\n"); for(cont=0;cont<=19;cont++) { printf(" \a"); printf("%d" ,gri[cont]); } getch(); } // 9 pesquisa #include <iostream> #include <stdlib.h> #include <conio.h> #include <stdio.h> #include <math.h> #include <string.h> using namespace std; int main() { int idade[3], quatd_idade = 0, quatd_altura = 0, quatd_peso = 0; float altura[3], peso[3]; int i; //contador char c;

(cont. Ex. 9) for(i = 0; i < 3; i++) { system("cls"); printf("\nDigite a idade da pessoa %i :",i+1); scanf("%d",&idade[i]); printf("\nDigite a altura da pessoa %i :",i+1); scanf("%f",&altura[i]); printf("\nDigite a peso da pessoa %i :",i+1); scanf("%f",&peso[i]); } for(i = 0; i < 3; i++) { if(idade[i] > 50) quatd_idade++; if(idade[i] >= 10 && idade[i] <= 20) quatd_altura++; if(peso[i] < 40) quatd_peso++; } printf("\nA quantidade de pessoas com idade superior a 50 anos: %d",quatd_idade); printf("\nA media das alturas das pessoas com idade entre 10 e 20 anos: %.2f",quatd_altura/3); printf("\nA percentagem de pessoas com peso inferior a 40 quilos entre todas as pessoas analisadas: %d\n",(quatd_peso/3)*100); printf ("Pressione <ENTER> para terminar\n"); c = getchar(); if (c == '\n') c = getchar(); getch(); } // 10 mostrar numeros impares #include<stdio.h> #include<conio.h> main(){ int numerototal = 10; int numeros[10]; int c; for(c=0;c<numerototal;c++){ printf("Digite um numero "); scanf("%d",&numeros[c]); } printf("\n//------------------//\n"); printf("Os valores ímpares digitados foram: \n"); for(c=0;c<numerototal;c++){ if((numeros[c]%2) != 0){ printf("%d",numeros[c]); printf(" "); } } getch(); }

Page 30: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

30 de 46

// 11 indice dos numeros pares #include<stdio.h> #include<conio.h> main(){ int numerototal = 15; float numeros[15]; int c; for(c=0;c<numerototal;c++){ printf("Digite um numero:"); scanf("%f",&numeros[c]); } for(c=0;c<numerototal;c++){ if((c%2)!=0){ printf("\no valor dos indices impares sao:\n"); printf("%f",numeros[c]); } } getch(); } // 12 /informar o menor numero #include<stdio.h> #include<conio.h> main(){ int numerototal = 8; int numeros[107]; int c; for(c=0;c<numerototal;c++){ printf("Digite um numero:"); scanf("%d",&numeros[c]); } int menorvalor = numeros[0]; int indicemenor = 0; for(c=0;c<numerototal;c++){ if(numeros[c] < menorvalor){ menorvalor = numeros[c]; indicemenor = c; } } printf("O menor elemento e = "); printf("%d",menorvalor); printf(", e a sua posicao e = "); printf("%d",indicemenor); printf("."); getch(); }

// 13 mais velho e mais novo #include<stdio.h> #include<conio.h> main() { int numerototal = 10; int idade[11]; char nome[11][10]; char sexo[11]; int c; for(c=0;c<numerototal;c++){ printf("digite sua idade:\n"); scanf("%d",&idade[c]); printf("digite seu nome:\n"); scanf("%s",&nome[c]); } int somato=0; int media; for(c=0;c<numerototal;c++){ somato+=idade[c]; } media = somato/numerototal; printf("\n--------------\nA media das idades e:\n"); printf("%d",media); printf("\n--------------\n"); int maisvelho = idade[0]; int indicemaisvelho = 0; for(c=0;c<numerototal;c++){ if(idade[c] > maisvelho){ maisvelho = idade[c]; indicemaisvelho = c; } } printf("\n-------------\nA pessoa mais velha e \n"); printf("%s",nome[indicemaisvelho]); printf(", com "); printf("%d",idade[indicemaisvelho]); printf(" anos."); int maisnovo = idade[0]; int indicemaisnovo = 0; for(c=0;c<numerototal;c++){ if(idade[c] < maisnovo){ maisnovo = idade[c]; indicemaisnovo = c; } } printf("\n-------------\nA pessoa mais nova e \n"); printf("%s",nome[indicemaisnovo]); printf(", com "); printf("%d",idade[indicemaisnovo]); printf(" anos."); getch(); }

Page 31: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

31 de 46

// 14 mostrar menor e maior valor #include<stdio.h> #include<conio.h> main(){ int numerototal = 8; int numeros[10]; int c; printf("Digite um numero:\n"); for(c=0;c<numerototal;c++){ scanf("%d",&numeros[c]); } int menorvalor = numeros[0]; int maiorvalor = numeros[0]; int indicemaior = 0; int indicemenor = 0; for(c=0;c<numerototal;c++){ if(numeros[c] < menorvalor){ menorvalor = numeros[c]; indicemenor = c; } } for(c=0;c<numerototal;c++){ if(numeros[c] > maiorvalor){ maiorvalor = numeros[c]; indicemaior = c; } } printf("O menor elemento e = "); printf("%d",menorvalor); printf(", e a sua posicao e = "); printf("%d",indicemenor); printf("."); printf("\nO maior elemento e = "); printf("%d",maiorvalor); printf(", e a sua posicao e = "); printf("%d",indicemaior); printf("."); getch(); } // 16 faça um algoritmo de que leia um vetor de 10 posições // o exiba em ordem inversa #include<stdio.h> #include<conio.h> main(){ int count[10],x; int atual = 0; printf("\n"); printf(" ENTRE COM\n\n"); printf(" DEZ NUMEROS \n "); printf("( inteiro)\n"); for(x=0;x<=9;x++){ scanf("%d",&count[x]); } for(x=9;x>=0;x--){ printf("%d ",count[x]); } getch(); }

// 17 faça um algoritmo que leia 50 numeros inteiros e depois //de ler mostre // todos os números impares. #include<stdio.h> #include<conio.h> main() { int gri[50],cont; printf("entre com os 50 numeros :\n"); for(cont=0;cont<49;cont++) { scanf("%d",&gri[cont]); } cont=0; printf("\n "); printf("relacao dos numeros impares :\n\n"); while(cont<49) { if(gri[cont]%2!=0) { printf("%d \a",gri[cont]); } cont++; } getch(); } // 18 mostrando os nueros #include<stdio.h> #include<conio.h> main(){ int numerototal = 6; int numeros[10]; int c; for(c=0;c<numerototal;c++){ printf("Digite um numero:"); scanf("%d",&numeros[c]); } printf("\n//------------------//\n"); printf("Os valores digitados foram: \n"); for(c=0;c<numerototal;c++){ printf("%d",numeros[c]); printf(" "); } printf("\n\n"); int negativos = 0; for(c=0;c<numerototal;c++){ if(numeros[c] < 0){ negativos++; } } printf("O numero de valores negativos e: \n"); printf("%d",negativos); getch(); }

Page 32: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

32 de 46

// 19 mostrar notas acima da media #include<stdio.h> #include<conio.h> main(){ int numerototal = 10; float numeros[10]; int c; for(c=0;c<numerototal;c++){ printf("Digite sua nota: "); scanf("%f",&numeros[c]); } float notatotal=0; for(c=0;c<numerototal;c++){ notatotal+=numeros[c]; } float media = notatotal/numerototal; printf("\n//------------------//\n"); printf("a media e: "); printf("%f",media); printf("\n"); printf("as notas acima da media sao: \n"); for(c=0;c<numerototal;c++){ if(numeros[c] > media){ printf("%f",numeros[c]); printf("\n"); } } getch(); } // 20 indica a posição dos negativo #include<stdio.h> #include<conio.h> main() { int numerototal = 10; int numeros[20]; int c; for(c=0;c<numerototal;c++){ printf("Digite um numero "); scanf("%d",&numeros[c]); } printf("\n//------------------//\n"); printf("A posicao do primeiro numero negativo e: \n"); int indicenegativo = 0; for(c=0;c<numerototal;c++){ if(numeros[c] < 0){ indicenegativo = c; c = 10; } } printf("%d",indicenegativo); getch(); } // 21 soma e media #include<stdio.h> #include<conio.h> main(){ int numerototal = 10; int numeros[10];

int c; for(c=0;c<numerototal;c++){ printf("Digite um numero:"); scanf("%d",&numeros[c]); } int somatotal = 0; for(c=0;c<numerototal;c++){ somatotal += numeros[c]; } int media = somatotal/numerototal; printf("\n//------------------//\n"); printf("A soma de todos os valores digitados e: "); printf("%d",somatotal); printf("\nE a media e: "); printf("%d",media); getch(); } // 22 varias condições #include<stdio.h> #include<conio.h> int main(){ int vet1[10]; int vet2[10]; int v; int soma1=0; int soma2=0; printf("escreva 10 numeros:\n"); for (v=0;v<10;v++){ scanf("%d",&vet1[v]); } printf("escreva mais 10 numeros: \n "); for (v=0;v<10;v++){ scanf("%d",&vet2[v]); } printf("\nos numeros do primeiro sao: "); for (v=0;v<10;v++){ printf("%d",vet1[v]); } printf("\nos numeros do segundo sao: "); for (v=0;v<10;v++){ printf("%d",vet2[v]); } int somavetor1[10]; int i; for (i=0;i<10;i++){ somavetor1[i]=vet1[i]; soma1+=somavetor1[i]; } printf("\na soma do primeiro vetor: "); printf("%d",soma1); int somavetor2[10]; int b; for (b=0;b<10;b++){ somavetor2[b] = vet2[b]; soma2 += somavetor2[b]; } printf("\n a soma do segundo vetor: "); printf("%d ",soma2);

Page 33: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

33 de 46

(cont ex. 22) int somatotal1[1]; somatotal1[0]=soma1+soma2; printf("\na soma dos dois e:"); printf("%d",somatotal1[0]); int menos[1]; menos[0]=soma1-soma2; printf("\na diferenca e:"); printf("%d",menos[0]); getch(); } // 23 varias condições #include<stdio.h> #include<conio.h> main(){ int numerototal = 10; int numeros[10]; int c; for(c=0;c<numerototal;c++){ printf("Digite um numero: "); scanf("%d",&numeros[c]); } int maiornumero = numeros[0]; int indicemaior = 0; int indicemenor = 0; int menornumero = numeros[0]; for(c=0;c<numerototal;c++){ if(numeros[c] > maiornumero){ maiornumero = numeros[c]; indicemaior = c; } } for(c=0;c<numerototal;c++){ if(numeros[c] < menornumero){ menornumero = numeros[c]; indicemenor = c; } } int diferenca = maiornumero-menornumero; printf("\n//------------------//\n"); printf("A diferenca entre o maior e menor numero e: \n"); printf("%d",diferenca); printf("\nA posicao do maior numero e: \n"); printf("%d",indicemaior); printf("\nA posicao do menor numero e: \n"); printf("%d",indicemenor); getch(); }

// 24 varias condições #include<stdio.h> #include<conio.h> main(){ float numerototal = 45; float notaaluno; float notas[10]; char nomes[10][10]; int c; for(c=0;c<numerototal;c++){ printf("Digite a nota do aluno:"); printf("%d",c); printf("): \n"); scanf("%f",&notas[c]); printf("\nDigite o nome deste aluno:\n"); scanf("%s",&nomes[c]); printf("\n-------------------\n"); } float totalnotas = 0; for(c=0;c<numerototal;c++){ totalnotas += notas[c]; } float mediatodos = (totalnotas/numerototal); int indicesaprovados[10]; int nreprovados = 0; int naprovados = 0; for(c=0;c<numerototal;c++){ if(notas[c] >= mediatodos){ indicesaprovados[c] = c; naprovados++; }else{ nreprovados++; } } printf("\n-------------------\n"); printf("Lista de aprovados ("); printf("%d",naprovados); printf("):\n"); for(c=0;c<naprovados;c++){ int indiceaprovado = indicesaprovados[c]; printf("%s",nomes[indiceaprovado]); printf("\n"); } float umporcento = numerototal/100; printf("\n-------------------\n\n"); printf("\n-------------------\n"); printf("Numero de reprovados: "); printf("%d",nreprovados); printf("\nNumero de aprovados: "); printf("%d",naprovados); printf("\nPorcentagem de alunos aprovados: "); printf("%f",naprovados/umporcento); printf(" por cento"); printf("\nPorcentagem de alunos reprovados: "); printf("%f",nreprovados/umporcento); printf(" por cento"); printf("\n-------------------\n"); getch(); }

Page 34: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

34 de 46

usando comando if // 1 acertar o numero digitado #include <stdio.h> #include <stdlib.h> int main ( ) { int num; printf("Digite um numero : "); scanf("%d", & num); if ( num > 10 ) printf("\n\nO numero e maior que 10.\n\n"); if ( num ==10) { printf("\n\nParabens !!!!!!!!Voce acertou ! \n"); printf("O numero e igual a 10 .\n\n"); } if ( num <10) printf("\n\nO numero e menor que 10.\n\n"); system ("PAUSE"); return 0; } // 2 acertar o numero digitado #include <stdio.h> #include <stdlib.h> int main ( ) { int num; printf("Digite um numero : "); scanf("%d", & num); if ( num ==10) { printf("\n\nParabens !!!! Voce acertou ! \n"); printf("O numero e igual a 10.\n\n"); } else { if ( num >10) { printf("\nO numero e maior que 10.\n\n"); } else { printf("\n\O numero e menor que 10 .\n\n"); } } system ("PAUSE"); return 0; } // 3 se maior de 10 entao faca a soma #include <stdio.h> #include <stdlib.h> int main ( ) { int A, B, X; printf("Entre com o valor de A : " ); scanf("%d", & A); printf("Entre com o valor de B : "); scanf("%d", & B); X = A + B; if ( X > 10 ) printf("\nO valor da variavel X equivale : %d\n", X); system ("PAUSE"); return 0; }

// 4 calculadora #include <stdio.h> #include <stdlib.h> int main ( ) { float num1, num2; char op; printf("Digite um numero , operador, numero \n"); scanf("%f %c %f", & num1, & op, & num2); if(op =='+') printf(" = %f", num1 + num2); else if(op=='-') printf(" = %f", num1 - num2); else if(op=='*') printf(" = %f", num1*num2); else if(op=='/') printf("=%f", num1/num2); printf("\n\n"); system("PAUSE"); return 0; } // 5 colocando em ordem crescente #include <stdio.h> #include <stdlib.h> int main( ) { int A, B, X; printf("Entre com o valor de A : ") ; scanf( "%d", &A); printf("Entre com o valor de B : ") ; scanf( "%d", &B); if ( A > B ) { X = A; A = B; B = X; } printf( "\nOs valores ordenados sao : %d e %d\n\n", A, B); system ("PAUSE"); return 0; } // 6 senha #include <stdio.h> #include <stdlib.h> int main( ) { char ch; ch = getchar( ); if ( ch =='p') printf("\nVoce pressionou a tecla p .\n\n "); system ("PAUSE"); return 0; }

Page 35: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

35 de 46

// 7 media #include <stdio.h> #include <conio.h> main(){ float vlr,vlr1,vlr2,vlr3,vlr4; printf("digite nota 1 semestre\n"); scanf("%f",&vlr); printf("digite nota 2 semestre\n"); scanf("%f",&vlr1); vlr2=vlr*0.3; printf("1 semestre e..%f\n",vlr2); vlr3=vlr1*0.7; printf("2 semestre e.. %f\n",vlr3); vlr4=vlr2+vlr3; if(vlr4>=5){ printf("Voce esta aprovado,sua nota foi..%f\a",vlr4); } else{ printf("Voce esta reprovado,sua nota foi%f\a ",vlr4); } getch(); } // 8 media e exame #include<stdio.h> #include<stdlib.h> int main( ) { float p1,p2,media; char nome[80]; printf("Entre com o nome do aluno:") ; gets(nome); printf("Entre com o nota de p1 : ") ; scanf( "%f", &p1); printf("Entre com o nota de p2 : ") ; scanf( "%f", &p2); media=(p1+p2)/2; printf("\n\n\n\n A media do aluno %s e %.1f.",nome,media); if ( media >= 6) printf("\n\n Situacao : Aprovado\n\n\n\n"); else if (media >=3) printf("\n\n Situacao : exame\n\n\n\n"); else printf( "\n\n Situacao reprovado\n\n\n\n"); system ("PAUSE"); return 0; } /* 9 Media_4 Calcula a média dos dois semestres com peso 3 para o primeiro semestre e peso 7 para o segundo semestre. Após mostrar a média final, ele emite a seguinte mensagem: *notas menores que 3.0 = Péssimo *notas a partir de 3.0 e menores que 5.0 = Ruim *notas a partir de 5.0 até 7.0 = Regular *notas maiores que 7.0 e menores que 9.0 = Bom *notas a partir de 9.0 até 10.0 = Ótimo */ #include <stdio.h>//Biblioteca de entrada e saida #include <conio.h>//getch main() { float s1,s2,m;

printf("Nota do 1. Semestre:"); scanf("%f",&s1); printf("Nota do 2. Semestre:"); scanf("%f",&s2 ); m=s1*0.3+s2*0.7; printf("\n\nA media e %f \n",m ); if(m<3) { printf("Pessimo"); } else { if(m<5) { printf("Ruim"); } else { if(m<=7) { printf("Regular"); } else { if(m<9) { printf("Bom"); } else { printf("Otimo"); } } } } getch();//tecla de pausa } // 10 mostra o numero digitado #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> main() { int v[10],i; for(i=0;i<10;i++) { printf("digite 10 numeros\n"); scanf("%d",&v[i]); system("cls"); } for(i=0;i<10;i++); { printf("%d",v[i]); if(v[i]==5) { v[i]=1; } } system("pause"); for(i=0;i<10;i++) { printf("%d",v[i]); } getch(); }

Page 36: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

36 de 46

/* 11 Papelaria_IF*/ #include <stdio.h>//Biblioteca de entrada e saida #include <conio.h>//getch main() { int op; printf("Material escolar: \n 1- Lapis <0.70> \n 2- Borracha <1.20> \n 3- Caderno <5.30> \n 4- Caneta <1.40> \n 5- Regua <0.95> \n Opcao: "); scanf("%d",&op); if(op==1) { printf("\n\nLapis"); } else { if(op==2) { printf("\n\nBorracha"); } else { if(op==3) { printf("\n\nCaderno"); } else { if(op==4) { printf("\n\nCaneta"); } else { if(op==5) { printf("\n\nRegua"); } else { printf("\n\nInvalido"); }

// 12 eguilatero isosceless ou escaqleno? #include <stdio.h> #include <stdlib.h> int main () { float A, B, C; printf("\nInforme o lado A : "); scanf( "%f", &A); printf("\nInforme o lado B : "); scanf( "%f", &B); printf("\nInforme o lado C : "); scanf( "%f", &C); printf("\n"); if ( A<B+C && B<A+C && C<A+B) if (A==B && B==C) printf("Triangulo Equilatero\n"); else if (A==B || A==C || C==B) printf("Triangulo Isosceles\n"); else printf("Triangulo Escaleno\n\n"); else printf("Os valores fornecidos nao formam um triangulo\n\n"); system ("PAUSE"); return 0; }

} } getch();//tecla de pausa } } }

Page 37: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

37 de 46

Estrutura simples // 1 usando define #include<stdio.h> #include<conio.h> #define max 100 main() { int n,i,v[max]; printf("digite o numero de variaveis "); scanf("%d",&n); printf("digite uma sequencia com %d numeros inteiros :\n",n); for(i=0;i<n;i++) { scanf("%d",&v[i]); } printf("\n\n\n\a\a\a\a\a\a\a"); for(i=n-1;i>=0;i--) { printf("%d\n",v[i]); } getch(); } // 2 digitar e aparecer simultaneamente #include<stdio.h> #include<conio.h> main() { char ch; printf("digite algum caracter;\n "); ch=getchar(); printf("a tecla apertada foi \n\n%c\n\n",ch); getch(); } /* 3 conversão cambial entre REAL E DOLAR cambio 1dolar=2real entre com o valor em real pelo teclado*/ #include<stdio.h> #include<conio.h> main() { float R$,D$; printf("digite um valor em real:\n"); scanf("%f",&R$); D$=R$/2; printf("o valor em dolares:\n\n %f",D$); getch(); }

// 4 calculço de media simples #include<stdio.h> #include<conio.h> main() { float a,b,c,media; printf("informe sua primeira nota: "); scanf("%f",&a); printf("informe sua segunda nota: "); scanf("%f",&b); printf("informe sua terceira nota: "); scanf("%f",&c); printf("\n"); media=(a+b+c)/3; printf(" \nsua media:%1f \n",media); getch(); } // 5 escrevendo mensagens //com o nome da pessoa #include<stdio.h> #include<conio.h> main() { char str[15]; printf("digite seu nome: \n\n"); gets(str); printf("\n\n\n\a"); printf("ola %s SEJA BEM VINDO",str); getch(); } // 6 mensagens 2 #include <stdio.h>//Biblioteca de entrada e saida #include <conio.h>//getch main() { char no; printf("digite seu nome:"); scanf("%c",&no);// scanf("%c",&no); printf("%c,seja bem vindo",no); getch();//tecla de pausa }

Page 38: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

38 de 46

/* 7 calcular quantos azuleios serão necessario para preencher uma parede*/ #include<stdio.h> #include<conio.h> main() { float lp,ap,la,aa,ta; printf("calculando quantos azulejos serão usados\n\n\a "); printf("digite a altura da parede: "); scanf("%f",&ap); printf("digite a largura da parede: "); scanf("%f",&lp);//parede a ser azulejada printf("\ndigite a altura da ceramica: "); scanf("%f",&aa); printf("digite a largura da ceramica: "); scanf("%f",&la);//ceramica usada ta=(lp*la)/(aa*la);//divide a area da parede pela area de cada ceramica printf("\n\a"); printf("a quantidade de ceramicas a ser usada sera:%f\n\n",ta); getch(); } // 8 usando a função STERLN #include <stdio.h>//Biblioteca de entrada e saida #include <conio.h>//getch (para dar pausa no final) #include<string.h>// permite trabalhar com contas... main() { char no[40],n[40]; int qno,qn; printf(" digite seu nome :"); gets(no);//gets apresenta o valor inteiro da variavel printf ("\nnome : %s ",no);// ATENÇÃO COM O %s printf("\n \n \n digite seu nome :"); scanf("%s",&n);//SE COLOCAR O %c, APARECERA SOMENTE A PRIMEIRA LINHA printf("\nnome : %s",n); qno=strlen(no); qn=strlen(n); //conta o numero de letras

//de um nome e declare variavel como int printf("\n\n\n\n\n\n%s possui %d letras",n ,qn); printf("\n\n%s possui %d letras",no ,qno); getch();//tecla de pausa } // 9 mostrando a primeira e ultima linha #include<stdio.h> #include <conio.h>//getch #include<string.h>//string int main() { char x[30]; //variavel tipo vetor int let; // criou variavel let de 30 letra printf("nome ;"); gets(x); //pega o nome inteiro let=strlen(x); //contar o numero de letra que a variavel x tem printf("\n\n\n %s possui %d letras: ",x,let); let--; printf("\n\n\n primeira letra do seu nome:%c",x[0]); printf("\n\n\n ultima letra do seu nome:%c",x[let]); //let recebeu o numero de letras da palavra //let-- pois o programa conta a partir do 0,(como se fosse o numero 1) //para corrigir esta falha,faz com que subtraia um digito desta variavel getch(); } // 10 usando char #include <stdio.h> #include <conio.h> int main () { char x[30]; printf("Nome:"); scanf("%s",&x); printf("\n\n\n%s",x); getch(); } // usando sterln2 #include <stdio.h> #include <conio.h> #include <string.h> int main

{ // 11 basico char x[30]; int let; printf("Nome:"); scanf("%s",&x); let=strlen(x); printf("\n\n\n%s possui %d letras",x,let); getch(); }

Page 39: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

39 de 46

/* 12 * Media_0 Calcula a média dos dois semestres com peso 3 para o primeiro semestre e peso 7 para o segundo semestre.Mostrar como resultado a média anual. */ #include <stdio.h>//Biblioteca de entrada e saida #include <conio.h>//getch #include <string.h> main() { char no[40],n[10]; // para usar string(vetor), usamos CHAR na inicializacao da variavel, porem usamos %s no scanf!!! int x1,x2; // variaveis para contar o numero de letras do nome digitado printf("Digite seu nome completo:"); gets(no); // se usarmos o "gets(variavel)", ele nao para a leitura ao achar o espaco!!! printf("Digite seu nome completo novamente:"); scanf("%s",&n); // quando usamos o scanf no caso de vetor, ele vai ler somente ate achar o primeiro espaco. por isso quando digitamos um nome completo, ele vai ler somente o primeiro nome pq depois tem um espaco!!! printf("\n\nSeu nome completo\n%s",no); printf("\n\n\Seu primeiro nome\n%s",n); x1=strlen (no); // O STRLEN (string lenght)armazena na variavel QNO a quantidade de letras da variavel NO x2=strlen (n); // O STRLEN (string lenght)armazena na variavel QN a quantidade de letres da variavel N printf("\n\nseu nome completo tem %d letras.",x1); printf("\n\nseu primeiro nome tem %d letras.",x2); getch();//tecla de pausa } // 12 usando gets #include <stdio.h> #include <conio.h> #include <string.h> int main () { char x[30] int let; printf("Nome:"); gets(x); let=strlen(x); printf("\n\n\n%s possui %d letras",x,let); let-- printf("\n\n\nprimeira letra do nome: %c",x[0]); printf("\n\n\nultima letra do nome: %c",x[let]); getch(); }

Page 40: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

40 de 46

Usando a Função while // 1 faça um algoritmo que leia 100 números, //calcule e mostre a soma e media deles. #include<stdio.h> #include<conio.h> main() { int grup[10],cont,vsom; float vmed; printf("quais sao os 100 numerais? \n"); for(cont=0;cont<10;cont++) { scanf("%d",&grup[cont]); } vmed=0; cont=0; vsom=0; while(cont<10) { vsom=vsom+grup[cont]; cont++; //onde deve ser colocado????????? } printf("somando tudo teremos: %d \n",vsom); vmed=vsom /10; printf("sua media sera : %f\n",vmed); getch(); } // 2 contando os caracteres #include <stdio.h> #include <stdlib.h> #include <conio.h> int main( ) { int cont = 0; printf("Digite uma frase : \n"); while ( getche()!=13) /* 13 corresponde ao codigo da tecla ENTER */ cont=cont+1; printf("\nVoce pressionou a tecla RETURN\n\n"); printf("FIM DE PROGRAMA\n\n"); printf("\nO numero de caracteres e %d\n\n",cont); system ("PAUSE"); return 0; }

/* 3 Contagem1_sem pausa*/ #include <stdio.h>//Biblioteca de entrada e saida #include <conio.h>//getch main() { int n; n=50; while(n>0) { printf("%d \n",n); n--; } getch();//tecla de pausa } /* 4 Contagem1_com pausa*/ #include <stdio.h>//Biblioteca de entrada e saida #include <conio.h>//getch main() { int n; printf("Contagem regressiva a partir de: "); scanf("%d",&n); while(n>0) { printf("%d \n",n); n--; getch(); } getch();//tecla de pausa }

Page 41: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

41 de 46

// 5 faça um programa que carregue dois vetores de 10 elementos cada um , //e mostre o vetor de intercalação destes dois vetores(crtc crtv) #include<stdio.h> #include<conio.h> main(){ int x,y,primeiro[10],segundo[10],vetorintercalado[20]; int recebe = 0; int junta = 0; printf(" 1 lista (10 numeros ) \n"); for(x=0;x<=9;x++){ scanf("%d",&primeiro[x]); } printf(" 2 lista (10 numeros )\n"); for(y=0;y<=9;y++){ scanf("%d",&segundo[y]); } printf(" INTERCALANDO LISTAS 1 e 2\n"); for(x=0;x<20;x++){ if((x%2) == 0){ vetorintercalado[x] = primeiro[recebe]; recebe++; }else{ vetorintercalado[x] = segundo[junta]; junta++; } } for(x=0;x<20;x++){ printf(" "); printf("%d",vetorintercalado[x]); } getch(); } // 6 faça um algoritmo que leia um vetor de 10 números // .Apresentando qual foi o maior numero digitado #include<stdio.h> #include<conio.h> main() { int vetor[10],tecla,comp; printf("digitar 10 numeros:\n"); for(tecla=0;tecla<9;tecla++) { scanf("%d",&vetor[tecla]); } tecla=0; comp=vetor[0]; while(tecla<9) { if (vetor[tecla]>comp) { comp=vetor[tecla]; } tecla++; } printf("\n "); printf("o numero digitado de maior valor foi o:\n\n"); { printf("%d \a",comp); } getch(); }

// 7 elabore um algoritmo que leia um vetor com 15elementos //.E a seguir exiba os valores cujo índice do vetor seja impar. #include<stdio.h> #include<conio.h> main() { int indice; float tecla[15]; printf("informe a relacao dos 15 numeros: \n"); for(indice=1;indice<=15;indice++) { scanf("%f",&indice[tecla]); } indice=1; printf("numeos alojados em indice impar: \n"); while(indice<=15) { if(indice%2!=0) { printf("no indice: %d esta o valor, %f \n",indice , indice[tecla]); } indice++; } getch(); } /* 8 dado um vetor X numérico,contendo 5 elementos,fazer um algoritmo que crie e exiba na tela um vetor Y . o vetor Y devera conter o mesmo valor de X porem devera estar na ordem inversa.*/ #include<stdio.h> #include<conio.h> main(){ int count[5],countinverso[5],x,y,; int atual = 0; printf("digite 5 numeros inteiros\n"); for(x=0;x<=4;x++){ scanf("%d",&count[x]); } for(x=0;x<=4;x++){ printf("%d ",count[x]); } for(y=4;y>=0;y--){ countinverso[atual] = count[y]; atual++; } printf(" <= vetor y vetor x => :"); for(x=0;x<=4;x++){ printf("%d ",countinverso[x]); } getch(); }

Page 42: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

42 de 46

// 9 elaborar um algoritmo com vetor de 6 elementos, // e depois informe quais elementos são impares #include<stdio.h> #include<conio.h> #include<string.h> main() { int gri[6],cont; printf("entre com os 6 numeros :\n"); for(cont=0;cont<6;cont++) { scanf("%d",&gri[cont]); } printf("\n "); printf("repetindo seus numeros :"); for(cont=0;cont<6;cont++) { printf(" \a"); printf("%d" ,gri[cont]); } cont=0; printf("\n\n"); printf(" os numeros impares sao : "); while(cont<=6) { if(gri[cont]%2!=0) { printf("%d \a ",gri[cont]); } cont++ ; } getch(); } // 10 sim ou nao #include <stdio.h> #include <stdlib.h> #include <conio.h> int main ( ) { int A, B, R ; char RESP = 's'; while ( RESP == 's') printf("\n\nEntre com um valor para A: "); scanf(" %d", &A); pririntf("\n\nEntre com um valor para B: "); scanf(" %d", &B); R = A + B; printf(" \nO resultado corresponde a : %d", R); printf("\n\nDeseja continuar ? - Tecle (s) ou (n) : "); RESP = getche(); printf("\n\n\n\n"); } system ("PAUSE"); return 0; }

// 11 somando #include <stdio.h> #include <stdlib.h> int main ( ) { int A, B, R ,conta=0,I=1; while ( I <=5)//repetira 5 vezes { printf("\n\nEntre com um valor para A: "); scanf(" %d", &A); printf("\n\nEntre com um valor para B: "); scanf(" %d", &B); R = A + B; printf(" \nO resultado corresponde a : %d", R); I = I +1; conta=conta+1; } printf("\nO numero de vezes e %d\n\n",conta); system ("PAUSE"); return 0; } /* 12 conta o numero de vezes que foi feito as operações*/ #include <stdio.h> #include <stdlib.h> int main ( ) { int A, B, R ,conta=0,I=1; while ( I <=5) { printf("\n\nEntre com um valor para A: "); scanf(" %d", &A); printf("\n\nEntre com um valor para B: "); scanf(" %d", &B); R = A + B; printf(" \nO resultado corresponde a : %d", R); I = I +1; conta=conta+1; } printf("\nO numero de vezes e %d\n\n",conta); system ("PAUSE"); return 0; }

Page 43: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

43 de 46

Usando o Comando switch /* 1 Papelaria_SWITCH*/ #include <stdio.h>//Biblioteca de entrada e saida #include <conio.h>//getch main() { int op; printf("Material escolar: \n 1- Lapis <0.70> \n 2- Borracha <1.20> \n 3- Caderno <5.30> \n 4- Caneta <1.40> \n 5- Regua <0.95> \n Opcao: "); scanf("%d",&op); switch(op) { case 1: printf("\n\nLapis"); break; case 2: printf("\n\nBorracha"); break; case 3: printf("\n\nCaderno"); break; case 4: printf("\n\nCaneta"); break; case 5: printf("\n\nRegua"); break; default: printf("\n\nInvalido"); break; } getch();//tecla de pausa } // 2 faça seu pedido

Page 44: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

44 de 46

#include <stdio.h> #include <stdlib.h> #include <conio.h> int main( ) { int i; do { printf ("\n\nEscolha a fruta pelo numero :\n\n"); printf("\t(1) . . .Mamao\n\n"); printf("\t(2) . . .Abacaxi\n\n"); printf("\t(3) . . .Laranja\n\n"); scanf("%d", &i); } while((i<1)||(i>3)); switch(i) { case 1: printf("\t\tVoce escolheu Mamao. \n\n"); break; case 2: printf("\t\tVoce escolheu Abacaxi. \n"); break; case 3: printf("\t\tVoce escolheu Laranja. \n"); } printf("\n\n"); system ("PAUSE"); return 0; } // 3 comparativo #include <stdio.h> #include <stdlib.h> int main ( ) { int num; printf("Digite um numero: "); scanf("%d",&num); switch (num) { case 9: printf("\n\nO numero e igual a 9.\n"); break; case 10: printf("\n\nO numero e igual a 10.\n"); break; case 11: printf("\n\nO numero e igual a 11.\n"); break; default: printf("\n\nO numero nao e 9 nem 10 nem 11.\n"); } system ("PAUSE"); return 0; }

Page 45: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

45 de 46

Usando Vetores e matrizes /* 1 criando dois vetores executa a soma e subtração entre eles */ #include <stdio.h> #include <conio.h> main() { int a[10], b[10], c[10], d[10], i; //recebendo o primeiro vetor printf("Digite uma sequencia com 10 numeros inteiros:\n"); for (i = 0; i < 10; i++) { scanf("%d", &a[i]); } printf("\n\n"); //recebendo o segundo vetor printf("Digite uma sequencia com 10 numeros inteiros:\n"); for (i = 0; i < 10; i++) { scanf("%d", &b[i]); } printf("\n\n"); //soma dos dois vetores for (i = 0; i < 10; i++) { c[i]=a[i]+b[i]; } printf("\n\n"); //diferença dos dois vetores for (i = 0; i < 10; i++) { d[i]=a[i]-b[i]; } printf("\n\n"); //Mostrando o primeiro vetor a[i] printf("Primeiro vetor digitado:\n"); for (i = 0; i < 10; i++) { printf("%d, ", a[i]); } printf("\n\n"); //Mostrando o segundo vetor b[i] printf("Segundo vetor digitado:\n"); for (i = 0; i < 10; i++) { printf("%d, ", b[i]); } printf("\n\n"); //Mostrando o terceiro vetor c[i] que é a soma dos vetores a[i] e b[i] printf("Soma dos 2 vetores digitados:\n"); for (i = 0; i < 10; i++) { printf("%d+%d=%d\n", a[i],b[i],c[i]);

} printf("\n\n"); //Mostrando o quarto vetor d[i] que é a diferença dos vetores a[i] e b[i] printf("Diferenca dos 2 vetores digitados:\n"); for (i = 0; i < 10; i++) { printf("%d-%d=%d\n", a[i],b[i],d[i]); } printf("\n"); getch(); } // 2 media#include <stdio.h> #include <conio.h> main() { int i, rep; float n[10]; rep=0; //recebendo as 30 notas primeiro vetor printf("Digite as notas dos 10 alunos:\n"); for (i = 0; i < 10; i++) { scanf("%f", &n[i]); if(n[i]<5) { rep=rep+1; } } printf("\n\n"); printf("Total de alunos reprovados: %d",rep); printf("\n"); getch(); } // 3 apresentando na tela a seguencia oposta #include <stdio.h> #include <conio.h> main() { int v[5], i; printf("Digite uma sequencia com 5 numeros inteiros:\n"); for (i = 0; i < 5; i++) { scanf("%d", &v[i]); } printf("\n\n"); for (i = 4; i >= 0; i--) { printf("%d \n", v[i]); } printf("\n"); getch(); }

Page 46: Apostila C++ Com Marcelo S. Grippa

Processamento de dados Exemplos de programação em C++

46 de 46

mistos // 1 mostrando o indice e seu conteudo #include <conio.h> #include <stdio.h> main() { int vetor[5]; int impar; int voltas; printf("Digite um numero:\n"); for (voltas=0;voltas<=4;voltas++) { scanf("%d",&vetor[voltas]); } impar=-0; for (voltas=0;voltas<=4;voltas++) { { printf(" O indice do vetor e %d e o numero e %d\n",impar,vetor[voltas]); impar=impar+1;} } getch(); }