Você está na página 1de 6

MINISTÉRIO DA EDUCAÇÃO

SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA


INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO AMAZONAS
CAMPUS MANAUS ZONA LESTE
Aa

Instituto Federal de Educação, Ciência e Tecnologia do


Amazonas
UNIDADE Campus Manaus – Zona Leste
DISCIPLINA Lógica de Programação
CURSO Bacharelado em Engenharia de Software
PROFESSOR(A) Jeconias Ferreira dos Santos
ALUNO(A) Vinicius Gomes de Castro
DATA ENTREGA 13/07/2021

Olá,

Os exercícios abaixo deverão ser desenvolvidos utilizando código C.


Cada exercício deve ser gravado em um arquivo (.c) com o nome que o identifique
(Exemplo: Questao1), dentro de uma pasta chamada “PF_NOMEdoEstudante” que deverá
ao final, contendo os 10 arquivos, ser compactada (.zip ou .rar) para envio na plataforma
SIGA-A na respectiva atividade aberta pelo professor.

Cada questão valerá 1,0 (um ponto), totalizando 10,0 (dez pontos) atribuídos como
NOTA FINAL da disciplina Lógica de Programação.

Boa sorte!!

PROVA FINAL

1. Faça um algoritmo que leia três valores que representam os lados de um triângulo.
Primeiramente, verifique se os lados podem formar um triângulo (a soma de dois
lados não pode ser menor que o terceiro lado). Caso possa formar um triângulo,
indique se este é equilátero, isóscele ou escaleno.
a. Equilátero: tem os comprimentos dos três lados iguais;
b. Isósceles: temos comprimentos de dois lados iguais;
c. Escaleno: temos comprimentos dos três lados diferentes.
Solução
#include<stdio.h>
#include<stdlib.h>

int main(){
float X, Y, Z;

printf("\nLado X: ");
scanf("%f", &X);
printf("\nLado Y: ");
scanf("%f", &Y);
printf("\nLado Z: ");
scanf("%f", &Z);

if ((X<(Y+Z))and(Y<(X+Z))and(Z<(X+Y))){
printf("\n Os valores podem formar um triangulo ");
printf("\n**********************************************");

if((X==Y)and(X==Z)and(Y==Z)){
printf("\n** Triangulo equilatero **\n");
}else{
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO AMAZONAS
CAMPUS MANAUS ZONA LESTE
if((X==Y)or(Y==X)or(X==Z)or(Y==Z)){
printf("\n** Triangulo Isasceles **\n");
}else{
if((X!=Y)and(Y!=Z)and(X!=Z)){
printf("\n** Triangulo escaleno **\n");
}
}
}

printf("**********************************************\n");
printf(" %2.f Lado X \n",X);
printf(" %2.f Lado Y \n",Y);
printf(" %2.f Lado Z \n",Z);
printf("**********************************************\n");

}else{
printf("Os valores nao podem formar um triangulo\n");

}
return 0;
}

2. Faça um algoritmo que leia um número inteiro e diga se este é positivo, negativo ou
zero.
Solução
#include<stdio.h>
#include<stdlib.h>
int main(){
int num;
printf("Digite um numero: ");
scanf("%d", &num);
if(num>0){
printf("Numero inteiro positivo");
}else{
if(num<0){
printf("Numero inteiro negativo");
}else{
printf("Numero inteiro nulo");
}
}
return 0;
}

3. Faça um algoritmo que simule uma calculadora com as quatro operações básicas (+,
-, *, / ). O algoritmo deve solicitar ao usuário a entrada de dois operandos e da
operação a ser executada, na forma de um menu. Dependendo da opção escolhida,
deve ser executada a operação solicitada e escrito seu resultado.
Solução:

#include<stdio.h>
#include<stdlib.h>

int main(){

float N1, N2;


MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO AMAZONAS
CAMPUS MANAUS ZONA LESTE
char operacao;

printf("****************MENU DE OPÇÕES****************\n");
printf("**********************************************\n");
printf("** + para operação soma **\n");
printf("** - para operação subtração **\n");
printf("** * par operação multiplicação **\n");
printf("** / para operação divisão **\n");
printf("**********************************************\n");
printf("**********************************************\n");
printf("\n");

printf("Digite a operação desejada:");


scanf("%c", &operacao);
printf("1° Número: ");
scanf("%f", &N1);
printf("2° Número: ");
scanf("%f", &N2);

printf("%c \n", operacao);


switch (operacao) {
case '+':
printf("Operação escolhida: Soma \n");
printf("%.2f + %.2f = %.2f\n",N1, N2, N1+N2);
break;

case '-':
printf("Operação escolhida: Subtração\n ");
printf("%.2f - %.2f = %.2f\n",N1, N2, N1-N2);
break;

case '*':
printf("Operação escolhida: Multiplicação \n ");
printf("%.2f * %.2f = %.2f\n",N1, N2, N1*N2);
break;

case '/':
printf("Operação escolhida: Divisão \n ");
printf("%.2f / %.2f = %.2f\n",N1, N2, N1/N2);
break;

default:
printf("A operação solicitada não consta (ERRO!)\n");
break;
}
return 0;
}

4. Dado um ano d.C. (depois de Cristo), identifique se este é um ano bissexto ou não.
Considere que para o ano ser bissexto basta que seja divisível por 400. Caso
contrário, este precisará ser divísivel por 4 e não ser divisível por 100, para ser
bissexto. Se não atender nenhuma das condições acima, ele não é bissexto.
Solução:

#include<stdio.h>
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO AMAZONAS
CAMPUS MANAUS ZONA LESTE
#include<stdlib.h>

int main(){
int ano;

printf("Digite o ano: ");


scanf("%d", &ano);

printf("\nAno computado: %d\n",ano);

if((ano%400==0)or((ano%4==0)and(ano%100!=0))){
printf("Esse ano e bissexto!!!");
}else{
printf("Esse ano não e bissexto!!!\n");
}
return 0;
}

5. Da mesma forma que a multiplicação pode ser expressa como o resultado de várias
adições, a potenciação pode ser representada por uma série de multiplicações. Faça
um algoritmo que calcule a potenciação utilizando o operador da multiplicação. Onde
seja lido a base e o expoente da potenciação. Teste para evitar expoentes menores
que zero. Se o expoente for 0 (zero) o resultado é 1.
Solução:
#include<stdio.h>
#include<stdlib.h>

int main() {
int base, expoente, i, resultado=1;

printf("Digite a base da potenciação: ");


scanf("%d", &base);
printf("Digite o expoente da potenciação: ");
scanf("%d", &expoente);

if (expoente!=0){

for(i=1; i<=expoente;i++){
resultado=resultado*base;
}
}

printf("%d^%d= %d",base,expoente,resultado);

return 0;

}
6. Construa um algoritmo que leia o sexo de uma quantidade desconhecida de
pessoas. Quando uma pessoa for do sexo feminino, o valor lido será “F”. Se for
masculino, será “M”. Quando o valor for diferente de “M” ou “F”, informe a quantidade
de pessoas do sexo feminino e do sexo masculino. Informe também a porcentagem
de pessoas do sexo feminino e do sexo masculino.

7. Certa firma fez uma pesquisa de Mercado para saber se as pessoas gostaram ou
não de um novo produto lançado no mercado. Para isso forneceu o sexo do
entrevistado e sua resposta (sim ou não). Sabendo-se que foram entrevistadas 20
pessoas, fazer um algoritmo que calcule e escreva:
a. A quantidade de pessoas que responderam sim;
b. A quantidade de pessoas que responderam não;
c. A porcentagem de pessoas do sexo feminino que responderam sim;
d. A porcentagem de pessoas do sexo masculino que responderam não.

8. Implemente um algoritmo que imprima na tela todas as tabuadas de multiplicar de 1


até 5
Solução
#include<stdio.h>
#include<stdlib.h>
int main(){
int i, j;

printf(" Tabuada de números (0 a 5) \n");

for(i=1;i<=5;i++){
for(j=0;j<=10;j++){
printf("%d*%d=%d",i,j,i*j);
printf("\n");
}
printf("\n\n\n");
}

return 0;
}.

9. Desenvolva um algoritmo que leia 10 números e imprima a soma dos pares e a


quantidade de números ímpares.
Solução
#include<stdio.h>
#include<stdlib.h>
int main(){
int acum_par=0, cont_impar=0,n,i;

for(i=1;i<=10;i++){
printf("\ndigite um numero:");
scanf("%d", &n);
if(n%2==0){
acum_par=acum_par+n;
}else{
cont_impar=cont_impar+1;
}
}

printf("Soma de numeros pares: %d\n", acum_par);


printf("Quantidade de numeros impares: %d\n",cont_impar);
return 0;
}

10. Criar um algoritmo que leia a quantidade de números que se deseja digitar. Após a
entrada de todos e que por fim possa ser impresso o maior e o menor número
digitado. Trate inclusive os números negativos.
Solução
#include<stdio.h>
#include<stdlib.h>
int main(){
int qtde, num, i, maior, menor;
do{
printf("Digite a quantidade de numeros que deseja digitar: ");
scanf("%d", &qtde);
}while(qtde<0);
if(qtde==0){
return 0;
}else{
printf("Digite o numero:");
scanf("%d",&num);
maior=num;
menor=num;
for(i=2;i<=qtde;i++){
printf("Digite o numero:");
scanf("%d",&num);
if(num<menor){
menor=num;
}
if(num>maior){
maior=num;
}
}
printf("Maior numero: %d\n",maior);
printf("Menor numero: %d\n", menor);
}
return 0;
}

Você também pode gostar