Anda di halaman 1dari 24

Linguagem C

Lgica de Programao Fatec Pindamonhangaba Prof. Claudemir Santos Pinto

Operadores relacionais
SMBOLO == != > SIGNIFICADO Igual a Diferente de Maior que

<
>=

Menor que
Maior ou igual a

<=

Menor ou igual a

Operadores lgicos
SMBOLO && || ! SIGNIFICADO E OU NO

Exerccio
Ler 3 variveis e determinar se formam um tringulo. Caso positivo, determinar se um tringulo eqiltero, issceles ou escaleno. Caso contrrio exibir: Isso no forma um tringulo !

main() { integer A, B, C; printf(Informe o valor de A: ); scanf(%d, &A); printf(Informe o valor de B: ); scanf(%d, &B); printf(Informe o valor de C: ); scanf(%d, &C); if (A<B+C && B<A+C && C<A+B) if (A==B && B==C) printf(Tringulo Equiltero\n); else if (A==B || A==C || C==B) printf(Tringulo Issceles\n); else printf(Tringulo Escaleno\n); else printf(Os valores fornecidos no formam um tringulo\n); }

Exerccio
Ler 2 notas de um aluno, calcular a mdia e exibir o resultado conforme tabela abaixo:
Mdia At 3,9 At 5,9 A partir de 6 Resultado Reprovado Recuperao Aprovado

Exerccio
Ler 2 valores numricos (A e B) e apresentar a diferena do maior para o menor: necessariamente A-B

Os loopings
Existem situaes onde necessrio repetir um determinado trecho de um programa um nmero de vezes. A forma mais fcil usando o conceito de looping. Tipos de looping:
while do while for

Sintaxe
while condio { instrues para condio verdadeira }

Exemplo 1: Ler os valores A e B e apresentar o resultado da soma de ambos por 5 vezes


/* Looping do tipo while */ main() { int A, B, R, CONT; CONT=1; while (CONT<=5) { printf(\n \nEntre um valor para A:); scanf(%d, &A); printf(Entre um valor para B:); scanf(%d, &B); R=A+B; printf(\nO resultado corresponde a: %d, R); CONT=CONT+1; /* ou CONT +=1; */ } }

Exemplo 2: Ler os valores A e B e apresentar o resultado da soma de ambos enquanto o usurio desejar
/* Looping do tipo while */ main() { int A, B, R; char RESP; RESP=S; while (RESP==S) { printf(\n \nEntre um valor para A:); scanf(%d, &A); printf(Entre um valor para B:); scanf(%d, &B); R=A+B; printf(\nO resultado corresponde a: %d, R); printf(\n\nDeseja continuar ? S/N); RESP=getche(); } }

Exerccio: Ler 2 notas, calcular a mdia e exibir o resultado enquanto o usurio desejar
Menor que 6 = reprovado A partir de 6 = aprovado

Sintaxe
do { instrues enquanto condio verdadeira } while <condio>

Exemplo 1: Ler os valores A e B e apresentar o resultado da soma de ambos enquanto o usurio desejar
/* Looping do tipo while */ #include<stdio.h> #include<conio.h> #include<stdlib.h> main() { int A, B, R; char RESP; RESP='S'; do { system("cls"); printf("\n \nEntre um valor para A:"); scanf("%d", &A); printf("Entre um valor para B:"); scanf("%d", &B); R=A+B; printf("\nO resultado corresponde a: %d", R); printf("\n\nDeseja continuar ? S/N"); RESP=getche(); } while (RESP=='S'); }

Exemplo 2: Clculo de fatorial


/* looping do tipo do ... While para fatorial */ #include<stdio.h> #include<conio.h> main() {int CONTADOR, N; long FATORIAL = 1; char TECLA; CONTADOR=1; printf("Programa Fatorial \n"); printf("\n Fatorial de que nmero: "); scanf("%d", &N); do { FATORIAL*= CONTADOR; CONTADOR += 1; } while (CONTADOR <= N); printf("\nFatorial de %d equivale a %d", N, FATORIAL); printf("\nTecle algo para encerrar"); TECLA=getche(); }

Exerccio: apresentar o total da soma dos 100 primeiros nmeros inteiros


#include<stdio.h> #include<conio.h> main() { int N, CONT; N=0; CONT=1; do { N += CONT; CONT +=1; } while (CONT<=100); printf("A soma dos 100 primeiros nmeros inteiros e: %d", N); getch(); }

Looping Finito: for


Este tipo de looping tem seu funcionamento controlado por uma varivel de controle do tipo contador, podendo ser crescente ou decrescente. Sintaxe: for (<incio>; <fim>; <incremento>) { <instrues> }

Exemplo1: Escrever na tela os valores de 1 a 10


/* For de 1 a 10 com incremento de 1 */ #include<stdio.h> #include<conio.h> main() { int I; for (I=1; I<=10; I++) printf("I = %d \n", I); getch(); }

Exemplo2: Escrever na tela os valores de 1 a 10 com incremento de 2


/* For de 1 a 10 com incremento de 2 */ #include<stdio.h> #include<conio.h> main() { int I; for (I=1; I<=10; I=I+2) printf("I = %d \n", I); getch(); }

Exemplo3: Escrever na tela os valores de 10 a 1


/* For de 10 a 1 com incremento de 1 */ #include<stdio.h> #include<conio.h> main() { int I; for (I=10; I>=1; I--) printf("I = %d \n", I); getch(); }

Exerccio: Criar um programa que leia a idade do usurio em anos, converta em dias e exiba o resultado enquanto o usurio desejar.

Exerccio: criar um programa que apresente os resultados de uma tabuada para um nmero qualquer.
/* tabuada */ #include<stdio.h> #include<conio.h> main() { int I, TAB; printf("Programa Tabuada\n"); printf("Escolha um nmero de 1 a 10 para calcular a tabuada: "); scanf("%d", &TAB); for (I=1;I<=10;I++) printf("\n%d x %d = %d", TAB, I, TAB*I); getch(); }

Exerccio: criar um programa que apresente a srie de Fibonacci at o 15 termo: 0,1,1,2,3,5,8,13...


#include<stdio.h> #include<conio.h> main() { int I, A, B, FIBO; A=0; B=1; FIBO=0; for (I=1; I<=15; I++) { printf("%d \n", FIBO); FIBO=A+B; B=A; A=FIBO; } getch(); }

Apresentar todos os nmeros divisveis por 4 menores que 200.


#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <math.h> main() { int x; for(x=1; x<200; x++) if (x % 4 == 0) printf("%d\n",x); /* Pode ser feito assim tambm x=1; while (x <200) { if (x % 4 == 0) printf("%d\n",x); x=x+1; } */ getch(); }

Receber um nmero do teclado e informar se ele divisvel por 10, por 5, por 2 ou se no divisvel por nenhum destes.
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <math.h> main() { int numero; printf("Informe um valor positivo: "); scanf("%d", &numero); if (numero % 10 == 0 && numero%5 == 0 && numero % 2 == 0) printf("O numero eh divisivel por 10, 5 e 2\n"); else printf("O numero nao eh divisivel por 10, 5 e 2\n"); getch(); }

Anda mungkin juga menyukai