Você está na página 1de 23

Curso: Engenharia Mecnica Noturno

Disciplina: Algoritmos e Programao


Lista de Exerccios - 04
1- Uma determinada companhia area s contrata aeromoas que preencham os
seguintes requisitos:
- Ter idade igual ou superior a 24 anos.
- Ter altura igual ou superior a 1.70 m.
- Falar com fluncia 02 ou mais idiomas.
Escreva um programa que solicita ao usurio (uma candidata aeromoa) as
informaes: idade, altura e nmero de idiomas falado e imprime se ela pode ou no
ser contratada pela companhia:

A: Sem fazer uso de operadores lgicos.


I- Algoritmo Narrativo
1) Mostrar entre com a IDADE
2) Receber e Armazenar em IDADE
3) Mostrar entre com a ALTURA
4) Receber e Armazenar em ALTURA
5) Mostrar entre com a quantidade de idiomas em n.
6) Receber e Armazenar em IDIOMAS
Verificar se: (IDADE<24)
Caso verdade: Mostrar Desclassificada
Caso falso:
Verificar se: (ALTURA<1,70)
Caso verdade: Mostrar Desclassificada
Caso falso:
Verificar se: (IDIOMAS<2)
Caso verdade: Mostrar Desclassificada
Caso falso: Mostrar Classificada


II DIAGRAMA DE BLOCOS




III LINGUAGEM C
#include <stdio.h>
#include <stdlib.h>
int main(void){
int IDADE, IDIOMAS;
IDADE= 0;
IDIOMAS= 0;
float ALTURA;
ALTURA= 0;
printf (/n Entre com a idade);
scanf (%i,&IDADE);
printf (/n Entre com a altura);
scanf (%f,&ALTURA);
printf (/n Entre com a quantidade de idiomas em n.);
scanf (%i,&IDIOMAS);
if(IDADE<24){
printf (/n Desclassificada);
}
Else{
if(ALTURA<1,70){
printf (/n Desclassificada);
}
Else{
if(IDIOMA<2){
printf (/n Desclassificada);
}
Else{
printf (/n Classificada);
}
System(pause)
Return (0);
}











B: Usando operadores lgicos.
I- ALGORITMO NARRATIVO
1) Mostrar entre com a idade
2) Receber e Armazenar em idade
3) Mostrar entre com a altura
4) Receber e Armazenar em altura
5) Mostrar entre com a quantidade de idiomas
6) Receber e Armazenar em idiomas
Verificar se: (idade>=24) e (altura>=1,70) e (idiomas>=2)
Caso verdade: mostrar Classificada
Caso falso: Mostrar Desclassificada


II DIAGRAMA DE BLOCOS




III LINGUAGEM C
#include <stdio.h>
#include <stdlib.h>
int main(void){
int idade, idiomas;
idade= 0;
idiomas= 0;
float altura;
altura= 0;
printf (/n Entre com a idade);
scanf (%i,&idade);
printf (/n Entre com a altura);
scanf (%f,&altura);
printf (/n Entre com a quantidade de idiomas em n.);
scanf (%i,&idiomas);
if ((idade>=24)&&(altura>=1,70)&&(idiomas>=2)) {
printf (/n Classificada);
}
Else {
Printf (/n Desclassificada);
}
System(pause)
Return (0);
}

2- Em So Paulo, durante um determinado intervalo de horrios, veculos cuja placa
termina em:
- 1 ou 2: No podem trafegar na segunda-feira;
- 3 ou 4: No podem trafegar na tera-feira;
- 5 ou 6: No podem trafegar na quarta-feira;
- 7 ou 8: No podem trafegar na quinta-feira;
- 9 ou 0: No podem trafegar na sexta-feira;
Escreva um programa que solicita ao usurio que fornea o ltimo dgito da placa do
seu carro e imprima qual o dia da semana em que o mesmo no pode circular.
Considere a possibilidade de o valor fornecido ser invlido (por exemplo, um nmero
negativo ou um nmero maior do que 9) e imprima, neste caso, uma mensagem: Valor
invlido..
Primeira verso: Sem fazer uso de operadores lgicos e usando
apenas o operador relacional ==.


I- ALGORITMO NARRATIVO
1) Mostrar entre com o ltimo digito da placa
2) Receber e Armazenar em D
Verificar se D==10
Se verdade:
Mostrar valor invlido
Se falso:
Verificar se D==1==2
Se verdade:
Mostrar no podem trafegar na segunda-feira
Se falso:
Verificar se D==3==4
Se verdade:
Mostrar no podem trafegar na tera-feira
Se falso:
Verificar se D==5==6
Se verdade:
Mostrar no podem trafegar na quarta-feira
Se falso:
Verificar se D==7==8
Se verdade:
Mostrar no podem trafegar na quinta-feira
Se falso:
Verificar se D==9==0
Se verdade:
Mostrar no podem trafegar na sexta-feira



II DIAGRAMA DE BLOCOS



III LINGUAGEM C
#include <stdio.h>
#include <stdlib.h>
int main(void){
int D;
D= 0;
printf (/n entre com o ltimo digito da placa);
scanf (%i,&D);
if (D==10) {
printf (/n valor invlido);
}
Else {
if (D==1==2) {
printf (/n no podem trafegar na segunda-feira);
}
Else {
if (D==3==4) {
printf (/n no podem trafegar na tera-feira);
}
Else {
if (D==5==6) {
printf (/n no podem trafegar na quarta-feira);
}
Else {
if (D==7==8) {
printf (/n no podem trafegar na quinta-feira);
}
Else {
if (D==9==0) {
printf (/n no podem trafegar na sexta-feira);
}
System(pause);
Return (0);
}




Segunda verso: Sem fazer uso de operadores lgicos e usando
apenas o operador relacional ><.

I- ALGORITMO NARRATIVO
1) Mostrar entre com o ltimo digito da placa
2) Receber e Armazenar em D
-Verificar se D>9
Se verdade:
- Mostrar valor invlido
Se falso:
- Verificar se D<0
Se verdade:
- Mostrar valor invlido
Se falso:
-Verificar se 0<D<3
Se verdade:
- Mostrar no podem trafegar na segunda-feira
Se falso:
-Verificar se 2<D<5
Se verdade:
- Mostrar no podem trafegar na tera-feira
Se falso:
-Verificar se 4<D<7
Se verdade:
- Mostrar no podem trafegar na quarta-feira
Se falso:
-Verificar se 6<D<9
Se verdade:
- Mostrar no podem trafegar na quinta-feira
Se falso:
-Verificar se 8<D
Se verdade:
- Mostrar no podem trafegar na sexta-feira
Se falso:
-Verificar se D<1
Se verdade:
Mostrar no podem trafegar na sexta-feira


II DIAGRAMA DE BLOCOS


III LINGUAGEM C
#include <stdio.h>
#include <stdlib.h>
int main(void){
int D;
D= 0;
printf (/n entre com o ltimo digito da placa);
scanf (%i,&D);
if (D>9) {
printf (/n valor invlido);
}
Else {
if (D<0) {
printf (/n valor invlido);
}
Else {
if (0<D<3) {
printf (/n no podem trafegar na segunda-feira);
}
Else {
if (2<D<5) {
printf (/n no podem trafegar na tera-feira);
}
Else {
if (4<D<7) {
printf (/n no podem trafegar na quarta-feira);
}
Else {
if (8<D) {
printf (/n no podem trafegar na quinta-feira);
}
Else {
if (D<1) {
printf (/n no podem trafegar na sexta-feira);
}
System(pause);
Return (0);
}


c) Terceira verso: Usando operadores lgicos: Apenas o operador OU (||).
I- ALGORITMO NARRATIVO
1) Mostrar entre com o ltimo digito da placa
2)Receber e Armazenar em D
3)Verificar se D>9 || D<0
Se verdade:
-Mostrar valor invlido
Se falso:
Verificar se D=1|| D=2
Se verdade:
- Mostrar no podem trafegar na segunda-feira
Se falso:
Verificar se D=3|| D=4
Se verdade:
- Mostrar no podem trafegar na tera-feira
Se falso:
Verificar se D=5|| D=6
Se verdade:
- Mostrar no podem trafegar na quarta-feira
Se falso:
Verificar se D=7|| D=8
Se verdade:
- Mostrar no podem trafegar na quinta-feira
Se falso:
Verificar se D=9|| D=0
Se verdade:
- Mostrar no podem trafegar na sexta-feira

II DIAGRAMA DE BLOCOS

III LINGUAGEM C
#include <stdio.h>
#include <stdlib.h>
int main(void){
int D;
D= 0;
printf (/n entre com o ltimo digito da placa);
scanf (%i,&D);
if (D>9||D<0) {
printf (/n valor invlido);
}
Else {
if (D>1||D<2) {
printf (/n no podem trafegar na segunda-feira);
}
Else {
if (D>3||D<4) {
printf (/n no podem trafegar na tera-feira);
}
Else {
if (D>5||D<6) {
printf (/n no podem trafegar na quarta-feira);
}
Else {
if (D>7||D<8) {
printf (/n no podem trafegar na quinta-feira);
}
Else {
if (D>9||D<0) {
printf (/n no podem trafegar na sexta-feira);
}
System(pause);
Return (0);
}




c) Quarta verso: Usando operadores lgicos: Apenas o operador E (&&).
I- ALGORITMO NARRATIVO
-Mostrar entre com o ltimo digito da placa
-Receber e Armazenar em D
-Verificar se D>9 && D<0
Se verdade: - Mostrar valor invlido
Se falso:
Verificar se D>0 && D<3
Se verdade:
- Mostrar no podem trafegar na segunda-feira
Se falso:
Verificar se D>2 && D<5
Se verdade:
- Mostrar no podem trafegar na tera-feira
Se falso:
Verificar se D>4 && D<7
Se verdade:
- Mostrar no podem trafegar na quarta-feira
Se falso:
Verificar se D>6 && D<9
Se verdade:
- Mostrar no podem trafegar na quinta-feira
Se falso:
Verificar se D>8 && D<1
Se verdade:
- Mostrar no podem trafegar na sexta-feira

II DIAGRAMA DE BLOCOS

III LINGUAGEM C
#include <stdio.h>
#include <stdlib.h>
int main(void){
int D;
D= 0;
printf (/n entre com o ltimo digito da placa);
scanf (%i,&D);
if (D>9&&D<0) {
printf (/n valor invlido);
}
Else {
if (D>0&&D<3) {
printf (/n no podem trafegar na segunda-feira);
}
Else {
if (D>2&&D<5) {
printf (/n no podem trafegar na tera-feira);
}
Else {
if (D>4&&D<7) {
printf (/n no podem trafegar na quarta-feira);
}
Else {
if (D>6&&D<9) {
printf (/n no podem trafegar na quinta-feira);
}
Else {
if (D>8&&D<1) {
printf (/n no podem trafegar na sexta-feira);
}
System(pause);
Return (0);
}




3-Sabendo-se que, quanto ao comprimento dos seus lados, um tringulo se classifica
em:
- Equiltero: Tringulo cujos comprimentos dos trs lados so iguais entre
si.
- Issceles: Tringulo que possui dois lados de comprimentos iguais.
- Escaleno: Tringulo cujos comprimentos de seus trs lados so diferentes
entre si.
Dados trs valores (a serem fornecidos pelo usurio) verificar se um tringulo
equiltero, isscele, escaleno e imprimir o resultado.
I- ALGORITMO NARRATIVO
1)Mostrar entre com o 1 valor
2)Receber e Armazenar em A
3)Mostrar entre com o 2 valor
4)Receber e Armazenar em B
5)Mostrar entre com o 3 valor
6)Receber e Armazenar em C
7)Verificar se A=B=C
Se verdade:
- Mostrar tringulo equiltero
Se falso:
- Verificar se A=B || B=C || A=C
Se verdade:
- Mostrar tringulo issceles
Se falso:
- Mostrar tringulo escaleno

II DIAGRAMA DE BLOCOS

3 LINGUAGEM C
#include <stdio.h>
#include <stdlib.h>
int main(void){
int A,B,C;
A= 0;
B= 0;
C= 0;
printf (/n entre com o primeiro valor);
scanf (%i,&A);
printf (/n entre com o segundo valor);
scanf (%i,&B);
printf (/n entre com o terceiro valor);
scanf (%i,&C);
if (A=B=C) {
printf (/n Tringulo Equiltero);
}
Else {
if (A=B || B=C || A=C) {
printf (/n Tringulo Issceles);
}
Else {
printf (/n Tringulo Escaleno);
}
System(pause);
Return (0);
}