Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Linguagem C++
Linguagem CASE SENSITIVE. Para usar comentrios, deve colocar: // (duas barras para uma nica linha); /* texto */ (permite o uso de mais linhas p/ comentrios )
cabealho
Para desfrutar de certos recursos, necessrio informar ao programa quais bibliotecas sero usados. Assim, indicamos: #include< stdio.h> #include< conio.h> #include< studlib.h> Entre outras...
funo clrscr()
Limpa a tela. Requer o cabealho <conio.h>
Cdigos para impresso formatada de printf() %c caractere simples %d decimal %e notao cientifica %f ponto flutuante (fracionrio) %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 no especificado, trabalha com 6 casa decimais Sintaxe: Printf(expresso de controle,lista de argumentos) Ex: Printf (este o numero dois: %d, 2); Texto dentro de aspas duplas
1 de 46
Funo scanf ()
uma das funes de entrada e sada 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); ....
funo 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;
funo gets()
Esta funo l uma string do teclado Uma string uma matriz de caracteres Char str[14] Onde: A matriz ter 14 elementos Lembrando que comea do 0 e segue ate o 13 o espao em branco tambm considerado caractere
2 de 46
Tcnica para desenvolver algoritmo por meio de REFINAMENTO sucessivo em que podemos utilizar em modos. A modularizao consiste em um mtodo utilizado para facilitar a construo de grandes programas, atravs de divises em pequenas etapas (pequena sub-rotina modula, ou subprograma). Comeamos a modularizao onde comeamos a execuo do trabalho: no PROGRAMA PRINCIPAL. A partir da, define os sub-programas propriamente ditos que so executados sempre que o programa principal o chame. VANTAGENS: 1. Economia de cdigo; 2. Pensa-se no cdigo por partes; 3. Correo mais fcil; 4. Facilidade de alterao; 5. Um algoritmo pode ser usado varias vezes no programa. A modularizao pode ser de duas formas: PROCEDIMENTO: um programa com vida prpria, mas para ser executado necessrio ser chamado pelo programa principal (ou outro programa programa acima) FUNO: Parecido com o procedimento, porem possui caracterstica de retornar um valora o programa que o chamou (semelhantes funo matemtica)
um mtodo de modularizao bastante usado para a programao estruturada (programa que contem a tcnica de resoluo de um problema em blocos que interage com o programa principal) CARACTERISTICA: Antes de iniciar a construo de um, programa, devera saber qual a tarefa principal que ele devera executar .(sem se preocupar com quantos sero e com funcionaro); 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.
3 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 manuteno 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 mdulos que compem o programa.
VARIAVEL LOCAL Somente ser utilizada dentro de um modulo, onde ela foi declarada.
SIMBOLOGIA
4 de 46
OPERADOR LGICO OU: | | utilizado quando pelo menos um dos relacionamentos lgicos (quando houver mais de um relacionamento) de uma condio necessita ser verdadeiro. O operador | | faz com que seja executada uma determinada operao, se pelo menos uma das condies mencionadas gerar um resultado lgico verdadeiro .
OPERADOR LGICO NO: ! O Operador do tipo! utilizado quando se necessita estabelecer que uma determinada condio deve no ser verdadeira ou deve no ser falsa . O operador ! Se caracteriza por inverter o estado lgico de uma condio. O operador lgico ! Faz com que seja executada uma determinada operao invertendo o resultado lgico da condio.
EXEMPLO DE APLICAO
Ler trs valores para os lados de um tringulo, considerando lados como A, B e C . Verificar se os lados fornecidos formam realmente um tringulo. Se for esta condio
5 de 46
verdadeira, dever ser indicado qual tipo de tringulo foi formado: issceles, escaleno ou eqiltero . Algoritmo Para o triangulo, temos: Triangulo uma forma geomtrica (polgono) composta por trs lados, sendo que cada lado menor que a soma dos outros dois lados . um tringulo, quando A < B+C , quando B < A + C e quando C < A + B . Uma vez satisfeitas as condies acima, vamos determinar o tipo de tringulo. Um tringulo issceles , quando possui dois lados iguais e um diferente : A = = B ou A = = C ou B = = C . Um tringulo escaleno quando possui todos os lados diferentes, sendo: A!=B e B!=C . Um tringulo eqiltero quando possui todos os lados iguais, sendo : A = = B e B = =C.
1. Ler trs valores para os lados de um tringulo : 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 tringulo equiltero . Se no, verificar A = = B ou se : A = = C ou se B = = C. Sendo verdade o tringulo issceles, caso contrrio, ser escaleno .
6 de 46
se ( A < B + C e B < A + C e C < A + B ) ento se ( A = B e B = C ) ento Imprima Tringulo Equiltero seno se ( A = B ou A = C ou B = C ) ento Imprima Tringulo Issceles seno Imprima Tringulo Escaleno fim se fim se
seno
fim se
7 de 46
- COMANDO if
A sua forma geral : if ( condio ) declarao; A condio de comando if uma expresso que ser avaliada. Se a condio for verdadeira, a declarao ser executada. Se a condio no for verdadeira a declarao no ser executada. A declarao pode ser um bloco de instrues ou apenas um comando .
Condi
Comando
Prx.
Para apenas um comando : if ( condio) instruo para condio verdadeira ; instruo para condio falsa; Para um bloco de instrues : if ( condio) { instruo 1; instruo 2;
. .
instruo n;
8 de 46
1) Adicionar nmeros 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 varivel X equivale : %d\n, X); return 0; } Caso a soma de A e B seja menor que 10, o programa no faz absolutamente nada .
2) Entrar com dois nmeros 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 variveis e apresentar os valores das duas variveis; Se for falso, apresentar os valores das duas variveis.
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; }
9 de 46
3) Acertar nmero 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; }
Condi
C.
C. Falso
Prx.
10 de 46
Sendo a condio verdadeira ,ser executada a instruo que estiver posicionada entre a instruo if e a instruo else . Sendo a condio falsa ser executada a instruo que estiver posicionada logo aps a instruo else . if < ( condio ) > < instrues para condio verdadeira >; else < instrues para condio falsa >; ou para grupos de instrues : if < ( condio ) > { < instruo1 para condio verdadeira >; < instruoN para condio verdadeira >; } else { < instruo1 para condio falsa >; < instruoN para condio falsa >; }
4) Acertar numero verso_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; }
11 de 46
ifs aninhados : O if aninhado simplesmente um if dentro da declarao 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 : 12 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); }
13 de 46
for ( {
inicializao
teste
incremento
Bloco de comandos }
Exemplo 1 : Contador de 0 a 9 .
/* imprime nmeros de 0 a 9 */ int main ( ) { int conta; for ( conta = 0 ; conta <10 ; conta++) printf(conta = %d\n, conta); }
No programa , temos : conta = 0 inicializao ( condio inicial ) conta < 10 teste conta ++ incremento
14 de 46
Podemos tambm :
conta +=2 equivalente a incrementar de dois em dois . conta + =3 equivalente a incrementar de trs em trs , e assim por diante .
Faa o teste , contando no exemplo acima de dois em dois , depois de trs em trs
Obs : conta -- equivale a decrementar de 1 , ou seja conta -1 . Podemos tambm : conta -=2 equivalente a decrementar de dois em dois . conta - =3 equivalente a decrementar de trs em trs , e assim por diante . Faa o teste , contando de forma decrescente no exemplo acima de dois em dois , depois de trs em trs .
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
15 de 46
B = %d
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);
}
16 de 46
O Loop infinito
O loop infinito tem a forma :
for ( inicializao ; {
; incremento )
Bloco de comandos } Este loop chama se loop infinito porque ser executado para sempre ( no existindo a condio, ela ser sempre considerada verdadeira ) , a no 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 execuo normalmente . Como exemplo, vamos ver o programa que faz a leitura de uma tecla e sua impresso na tela, at que o usurio aperte uma tecla sinalizadora de final ( um FLAG ) . O nosso FLAG ser a letra X .
for ( Count = 1; ; Count ++ ) { ch = getche ( ) ; if ( ch =='X') break ; printf("\nLetra : %c\n\n",ch); } } Obs: No esquecer o arquivo cabealho conio.h para o comando getche ( )
COMANDO SWITCH outro comando de deciso . O comando switch prprio para se testar uma varivel em relao a diversos valores pr estabelecidos . Sua forma geral : switch ( varivel ) { case ( constante 1 ) : Bloco de comandos 1 break ; case ( constante 2 ) : Bloco de comandos 2 break ;
........
case ( constante n ) : Bloco de comandos n 18 de 46
break ; default : Bloco de comandos default } Podemos fazer uma analogia entre o switch e a estrutura if else if apresentada anteriormente . A diferena fundamental que a estrutura switch no aceita expresses . Aceita apenas constantes . O switch testa a varivel e executa a declarao cujo case corresponda ao valor atual da varivel . A declarao default opcional e ser executada apenas se a varivel, que est sendo testada, no for igual a nenhuma das constantes . O comando break , faz com que o switch seja interrompido assim que uma das declaraes seja executada. Se aps a execuo da declarao no houver um break, o programa continuar executando .
19 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 no e 9 nem 10 nem 11.\n); } return (0); }
20 de 46
Exemplo 1
Programa contador de 0 a 9
#include <stdio.h> #include <stdlib.h> /* imprime os nmeros de 0 a 9 */ int main( ) { int conta = 0 ; while (conta <10) { printf("conta = %d \n" , conta); conta = conta +1; } printf("\n") ; system ("PAUSE"); return 0; }
21 de 46
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) 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 :. funo getch ( ) funo getche( ) arquivo conio.h L o caractere do teclado e no permite que seja impresso na tela . L o caractere do teclado e permite que seja impresso na tela . Deve ser utilizado no incio para que seja entendida as funes getche( ) e getch( ) /* 13 corresponde ao codigo da tecla ENTER */
Exemplo 4 Para o programa anterior , trocar getche () por getch () . Qual a diferena ?
22 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 usurio no sabe exatamente qual o nmero 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; 23 de 46
2)
ESTRUTURA
do while
Caracteriza se por efetuar um teste lgico no final de um looping . Este tipo de comando garante que a declarao ( conjunto de instrues ) ser executada pelo menos uma vez .
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); }
24 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 usurio seja vlido , conforme exemplo a seguir :
25 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 tabulao . 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;
26 de 46
//
1-
imprime nmeros 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; }
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(); }
27 de 46
#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
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 #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(); } calculadora
#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 }
28 de 46
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 Faa 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(); }
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(); }
// 9 #include <iostream> #include <stdlib.h> #include <conio.h> #include <stdio.h> #include <math.h> #include <string.h> using namespace std; int main() {
pesquisa
int idade[3], quatd_idade = 0, quatd_altura = 0, quatd_peso = 0; float altura[3], peso[3]; int i; //contador char c;
29 de 46
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>
30 de 46
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(); }
31 de 46
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);
32 de 46
int somatotal1[1]; somatotal1[0]=soma1+soma2; printf("\na soma dos dois e:"); printf("%d",somatotal1[0]); int menos[1]; menos[0]=soma1-soma2;
// 24
varias condies
#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",¬as[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(); }
// 23
varias condies
#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(); }
33 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 : &A); printf("Entre com o valor de B : &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 #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; } senha ") ; scanf( "%d", ") ; scanf( "%d",
34 de 46
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 mdia dos dois semestres com peso 3 para o primeiro semestre e peso 7 para o segundo semestre. Aps mostrar a mdia final, ele emite a seguinte mensagem: *notas menores que 3.0 = Pssimo *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;
35 de 46
#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; }
36 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(); }
// 4 calculo 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);
// 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 converso 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(); }
getch();//tecla de pausa }
37 de 46
// 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(); }
38 de 46
/* 12 * Media_0 Calcula a mdia dos dois semestres com peso 3 para o primeiro semestre e peso 7 para o segundo semestre.Mostrar como resultado a mdia 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(); }
39 de 46
/* 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 }
40 de 46
#include<stdio.h> #include<conio.h>
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 faa um algoritmo que leia um vetor de 10 nmeros // .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(); }
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 numrico,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(); }
41 de 46
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 operaes*/ #include <stdio.h> #include <stdlib.h>
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; }
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; }
42 de 46
//
43 de 46
#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; }
44 de 46
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(); }
//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]);
45 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++) {
getch(); }
46 de 46