Buscar

Atividade Pratica

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER 
ESCOLA SUPERIOR POLITÉCNICA 
BACHARELADO EM ENGENHARIA ELÉTRICA 
DISCIPLINA DE LÓGICA DE PROGRAMAÇÃO E ALGORITMOS 
 
 
 
 
 
 
 
ATIVIDADE PRÁTICA 
 
 
 
 
 
 
 
 
NOME ALUNO – RU: 2158256 
 
 PROF. VINICIUS POZZOBON BORIN 
 
 
 
 
 
 
 
 
 
CHAPECÓ – SC 
2018 
 
 
 
1 
 
1 EXERCÍCIO 
Faça um algoritmo em linguagem C que recebe três valores X, Y e Z do usuário, e deter-
mine se estes valores podem formar os lados de um triangulo (por exemplo, o valor zero não 
pode formar um triangulo). Em caso afirmativo, informar na tela se o triangulo é equilátero, 
isósceles ou escaleno. 
Imprima na tela um teste do seu programa utilizando os três últimos valores de sua matricula da 
UNINTER como lados do triangulo, cada valor da sua matrícula será um dos valores X, Y ou Z. Por 
exemplo, se sua matricula For 1234567, faça X = 5, Y = 6 e Z = 7. 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
int main() { 
/*------------------------------------------------------------------------------------
------------------/ 
/LÓGICA DE PROGRAMAÇÃO E ALGORITMO 
/ 
/Desenvolvido por : Paulo Hack 
/ 
/Matricula: 2148256 
/ 
/Ano: 2018 
/ 
/-------------------------------------------------------------------------------------
-----------------*/ 
 
 system("title IDENTIFICANDO TRIANGULO EDITADO PELO UTILIZADOR");//Atribui o nome 
ao tela apresentada. 
 system("color 17");//Define cor da tela e fonte. 
 system("mode con:cols=80 lines=20");//Define tamanho da tela a ser exibida. 
 float X = 0, Y = 0, Z = 0;//Definição das variáveis relacionadas ao exercício. 
 char c;//Definição da variável relacionada a limpeza do buffer do teclado. 
 
 printf("Teste de existencia e tipo de triangulo informado pelo utilizador!\n"); 
 printf("Digite os valores para formar os tres lados do triangulo!\n\n"); 
 
 printf("Entre com o valor do lado X do triangulo\nX="); 
 scanf_s("%f", &X);//Lê a primeira entrada do teclado do utilizador. 
 while ((c = getchar()) != '\n'&& c != EOF) {}//limpa do buffer do teclado. 
 
 printf("Entre com o valor do lado Y do triangulo\nY="); 
 scanf_s("%f", &Y);//Lê a segunda entrada do teclado do utilizador. 
 while ((c = getchar()) != '\n'&& c != EOF) {}//limpa do buffer do teclado. 
 
 printf("Entre com o valor do lado Z do triangulo\nZ="); 
 scanf_s("%f", &Z);//Lê a terceira entrada do teclado do utilizador. 
 while ((c = getchar()) != '\n'&& c != EOF) {}//limpa do buffer do teclado. 
 
 //Deste ponto em diante o algorítimo faz os teste de comparação para identificar 
o tipo de triângulo será 
 //formado pelo utilizador nas três entradas anteriores pelo teclado. 
 if ((X == 0)||(Y == 0)||(Z == 0)) 
 printf("Um dos valores digitados e inválido pra formar um triângulo."); 
 else if (X == Y && Y == Z && Z == X)//Testa se os valores digitados formam um 
triângulo Equilatero. 
 { 
 printf("Os valores digitados formam um triangulo Equilatero\n\n");//Im-
prime na tela a mensagem se os três valores forem iguais. 
 
 
 
 
 } 
 else if ((X == Y) || (Y == Z) || (Z == X))//Testa se os valores digitados formam 
um triângulo Isoceles. 
 { 
 printf("Os valores digitados formam um triangulo Isoceles\n\n");//Imprime 
na tela a mensagem se dois dos valores forem iguais. 
 } 
 else if ((X != Y) || (Y != Z) || (Z != X))//Testa se os valores digitados formam 
um triângulo Escaleno. 
 { 
 printf("Os valores digitados formam um triangulo Escaleno\n\n");//Imprime 
na tela a mensagem se os três valores forem desiguais. 
 } 
 
 system("pause");//pausa aplicação. 
 return 0; 
} 
 
 
 
 
 
 
Imagem do algorítmico exercício 1 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2 EXERCÍCIO 
A tabela abaixo foi retirada do site da Receita Federal, e traz as alíquotas do imposto de 
renda de pessoa física retido na fonte: 
Base de Cálculo (R$) Alíquota (%) Parcela a deduzir do IRPF 
(R$) 
Até 1903,98 - - 
De 1903,99 até 2826,65 7,5 142,80 
De 2826,66 até 3751,05 15 354,80 
De 3751,06 até 4664,68 22,5 636,13 
Acima de 4664,68 27,5 869,36 
A base de cálculo de imposto é dada pelo salário mensal, com certas deduções, como 
dependentes e contribuição previdenciária. Abstraindo estas deduções e outros detalhes, o im-
posto devido é resumidamente calculado tomando como base de cálculo o salário mensal, ve-
rificando a faixa na qual ele se encontra, aplicando a alíquota correspondente, e reduzindo o 
valor final da parcela a deduzir. Por exemplo, se a base de cálculo é um salário de R$10.000,00, 
a alíquota é de 27,5%, ou seja, R$2750,00. 
Deduzimos da alíquota o valor de R$869,36 e obtemos como resultado final R$1880,64 de 
imposto devido. 
Escreva um programa em linguagem C que receba como dado de entrada a base de cálculo 
mensal de um trabalhador (seu salário) e retorne o imposto de renda devido. 
Imprima na tela um exemplo contendo o salário do trabalhador, o imposto devido e o 
salário final já com este desconto. Para o exemplo, utilize a sua matricula da UNINTER pe-
gando somente os 4 últimos dígitos dela e usando-os como salário. Por exemplo, se sua matri-
cula for 1234567, o salário será R$ 4567. 
 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
/*------------------------------------------------------------------------------------
------------------/ 
/LÓGICA DE PROGRAMAÇÃO E ALGORITMO 
/ 
/Desenvolvido por : Paulo Hack 
/ 
/Matricula: 2148256 
/ 
/Ano: 2018 
/ 
/-------------------------------------------------------------------------------------
-----------------*/ 
 
int main() { 
 system("title CALCULADORA DE IMPOSTO DE RENDA");//Atribui o nome ao tela apre-
sentada. 
 system("color 17");//Define cor da tela e fonte. 
 system("mode con:cols=80 lines=20");//Define tamanho da tela a ser exibida. 
 float Salario = 0;//Variável que receberá o calor bruto do salário a ser calcu-
lado. 
 float Faixa1 = 1903.98, Faixa2 = 2826.65, Faixa3 = 3751.05, Faixa4 = 4664.68; 
 
 
 
 
 float Alic0 = 0, Alic1 = 0.075, Alic2 = 0.15, Alic3 = 0.225, Alic4 = 0.275;//De-
finição das variáveis relacionadas as alicotas das faixas do exercício. 
 float Ded0 = 0, Ded1 = 142.8, Ded2 = 354.8, Ded3 = 636.13, Ded4 = 869.36;//Defi-
nição das variáveis relacionadas as deduções das faixas do exercício. 
 char c;//Definição da variável relacionada a limpeza do buffer do teclado. 
 
 printf("Calculadora de Imposto de Renda\n"); 
 printf("Digite o valor para o calculo dos valores, utilizando o ponto (.)para 
separacao dos centavos.\n\nR$"); 
 scanf_s("%f", &Salario);//Lê a entrada do teclado do utilizador contendo o valor 
do salário a ser caculado. 
 //while ((c = getchar()) != '\n'&& c != EOF) {} 
 
 //Deste ponto em diante o algorítimo faz os cálculos para informar os valores 
solicitados. 
 
 if (Salario <= Faixa1) 
 { 
 float ImpDev0 = Salario * Alic0, ImpTotal0 = ImpDev0 - Ded0, Total0 = Sa-
lario - ImpTotal0; 
 printf("O valor do salario bruto e R$ %0.2f\n\n", Salario);//Imprime na 
tela o valor do salário bruto. 
 printf("O valor do imposto devidoe R$ %0.2f\n\n", ImpDev0);//Imprime na 
tela o valor do imposto devido. 
 printf("O valor da deducao do imposto devido com a deducao e R$ 
%0.2f\n\n", ImpTotal0);//Imprime na tela o valor da dedução do imposto devido. 
 printf("O valor do salario Liquido e R$ %0.2f\n\n", Total0);//Imprime na 
tela o valor do salário liquido. 
 } 
 else if ((Salario > Faixa1) && (Salario <= Faixa2)) 
 { 
 float ImpDev1 = Salario * Alic1, ImpTotal1 = ImpDev1 - Ded1, Total1 = Sa-
lario - ImpTotal1; 
 printf("O valor do salario bruto e R$ %0.2f\n\n", Salario);//Imprime na 
tela o valor do salário bruto. 
 printf("O valor do imposto devido e R$ %0.2f\n\n", ImpDev1);//Imprime na 
tela o valor do imposto devido. 
 printf("O valor da deducao do imposto devido com a deducao e R$ 
%0.2f\n\n", ImpTotal1);//Imprime na tela o valor da dedução do imposto devido. 
 printf("O valor do salario Liquido e R$ %0.2f\n\n", Total1);//Imprime na 
tela o valor do salário liquido. 
 } 
 else if ((Salario > Faixa2) && (Salario <= Faixa3)) 
 { 
 float ImpDev2 = Salario * Alic2, ImpTotal2 = ImpDev2 - Ded2, Total2 = Sa-
lario - ImpTotal2; 
 printf("O valor do salario bruto e R$ %0.2f\n\n", Salario);//Imprime na 
tela o valor do salário bruto. 
 printf("O valor do imposto devido e R$ %0.2f\n\n", ImpDev2);//Imprime na 
tela o valor do imposto devido. 
 printf("O valor da deducao do imposto devido com a deducao e R$ 
%0.2f\n\n", ImpTotal2);//Imprime na tela o valor da dedução do imposto devido. 
 printf("O valor do salario Liquido e R$ %0.2f\n\n", Total2);//Imprime na 
tela o valor do salário liquido. 
 } 
 else if ((Salario > Faixa3) && (Salario <= Faixa4)) 
 { 
 float ImpDev3 = Salario * Alic3, ImpTotal3 = ImpDev3 - Ded3, Total3 = Sa-
lario - ImpTotal3; 
 printf("O valor do salario bruto e R$ %0.2f\n\n", Salario);//Imprime na 
tela o valor do salário bruto. 
 
 
 
 
 printf("O valor do imposto devido e R$ %0.2f\n\n", ImpDev3);//Imprime na 
tela o valor do imposto devido. 
 printf("O valor da deducao do imposto devido com a deducao e R$ 
%0.2f\n\n", ImpTotal3);//Imprime na tela o valor da dedução do imposto devido. 
 printf("O valor do salario Liquido e R$ %0.2f\n\n", Total3);//Imprime na 
tela o valor do salário liquido. 
 } 
 else if (Salario > Faixa4) 
 { 
 float ImpDev4 = Salario * Alic4, ImpTotal4 = ImpDev4 - Ded4, Total4 = 
Salario - ImpTotal4; 
 printf("O valor do salario bruto e R$ %0.2f\n\n", Salario);//Imprime na 
tela o valor do salário bruto. 
 printf("O valor do imposto devido e R$ %0.2f\n\n", ImpDev4);//Imprime na 
tela o valor do imposto devido. 
 printf("O valor da deducao do imposto devido com a deducao e R$ 
%0.2f\n\n", ImpTotal4);//Imprime na tela o valor da dedução do imposto devido. 
 printf("O valor do salario Liquido e R$ %0.2f\n\n", Total4);//Imprime na 
tela o valor do salário liquido. 
 } 
 
 
 system("pause"); 
 return 0; 
} 
 
Imagem do algorítmico exercício 2 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3 EXERCÍCIO 
Faça um algoritmo em linguagem C com as seguintes funcionalidades: 
• Leia um vetor de N posições. O valor máximo de N deverá ser no máximo 100. A 
leitura deverá ser feita manualmente pelo teclado; 
• Crie mais dois vetores. Armazene em um destes vetores todos os valores PARES 
digitados, e no outro, todos os valores ÍMPARES digitados; 
• Imprima na tela, de uma forma legível, o número do seu RU, o vetor dos pares e 
o vetor dos ímpares, este último deve ter multiplicado cada valor pelos dois úl-
timos números da sua matrícula. Por exemplo: se sua matricula for 
1234567, multiplique cada valor do vetor por 67. 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
constexpr auto max = 100;; 
/*------------------------------------------------------------------------------------
------------------/ 
/LÓGICA DE PROGRAMAÇÃO E ALGORITMO 
/ 
/Desenvolvido por : Paulo Hack 
/ 
/Matricula: 2148256 
/ 
/Ano: 2018 
/ 
/-------------------------------------------------------------------------------------
-----------------*/ 
 
int main() { 
 system("title VETOR_PAR_E_VETOR_IMPAR");//Atribui o nome ao tela apresentada. 
 system("color 17");//Define cor da tela e fonte. 
 system("mode con:cols=80 lines=35");//Define tamanho da tela a ser exibida. 
 
 //Definições das variaveis utilizadas na aplicação. 
 int i, vNum[max], vPar[max], vImpar[max], x = 0, y = 0, vOp=0; 
 char c;//Definição da variável relacionada a limpeza do buffer do te-
clado. 
 
 
 printf("Digite o numero de valores inteiros a serem digitados:\n");//So-
licita entrada de valor do tamanho do vetor ao utilizador. 
 scanf_s("%d", &vOp);//Faz a leitura da entrada do teclado. 
 while ((c = getchar()) != '\n'&& c != EOF) {} //limpa do buffer do te-
clado. 
 
 if ((vOp <= max)&&(vOp != 0)) {//testa se a entrada do operador e menor 
que o máximo e diferente de 0. 
 printf("Digite os %d numeros para preencher o vetor infor-
mado:\n", vOp);//Solicita entrada de valor ao utilizador.//Testa valor de entrada do 
utilizador se menor que valor máximo pré definido. 
 
 for (i = 0; i < vOp; i++) //preenchimento do vetor 
 
 
 
 
 scanf_s("%d", &vNum[i]);//Faz a leitura da entrada 
do teclado. 
 while ((c = getchar()) != '\n'&& c != EOF) {} //limpa do 
buffer do teclado. 
 printf("\nR.U. (2148256).\n");//Imprime o número do R.U. 
 
 for (i = 0; i < vOp; i++) 
 
 if (vNum[i] % 2 == 0)//verificação se o número é 
par// 
 { 
 vPar[x] = vNum[i];//Armazenamento dos numeros 
pares no vetor par// 
 x++; //incremento do índice do vetor par// 
 } 
 else //se o numeto inteiro não é par, é ímpar!// 
 { 
 vImpar[y] = vNum[i];//Armazenamento dos nume-
ros ímpares no vetor ímpar// 
 y++; //incremento do índice do vetor ímpar// 
 } 
 
 printf("\n\nNumeros pares digitados\n\n"); //impressão do 
vetor par// 
 
 for (i = 0; i < x; i++)//Imprime na tela o vetor dos valo-
res pares. 
 printf("|%d", vPar[i]); 
 
 printf("|\n\nNumeros impares digitados, multiplicados pelos 
ultimos dois digitos do R.U.(56) \n\n");//impressão do vetor ímpar// 
 
 for (i = 0; i < y; i++)//Imprime na tela o vetor dos valo-
res impares. 
 printf("|%d", vImpar[i] * 56); 
 printf("|\n\n"); 
 } 
 else printf("O valor digitado está fora da faixa.");//Informa que 
o valor digitado está fora do solicitado. 
 
 system("pause");//Pausa aplicação. 
 return 0; 
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Imagem do algorítmico exercício 3 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4 EXERCÍCIO 
Faça um algoritmo em linguagem C com as seguintes funcionalidades: 
• Receba duas matrizes como dados de entrada. A dimensão das matrizes deve ser 
de, no máximo 5x5. Ambas matrizes devem ter as mesmas dimensões; 
• O usuário deve digitar a dimensão das matrizes (máximo 5x5). Faça uma checa-
gem usando um laço de repetição que só permita o programa avançar caso ele 
digite dimensões corretas de no máximo 5; 
• Escreva ambas matrizes na tela, de uma forma legível; 
• Escreva a matriz resultante da soma destas duas matrizes multiplicada pelos últi-
mos dois números da sua matricula da UNINTER; 
• Escreva um vetor resultante da soma das diagonais principais das duas matrizes 
multiplicado pelos últimos dois números da sua matricula daUNINTER; 
#include <stdio.h> 
#include <stdlib.h> 
constexpr auto max = 5;//Estipula valor máximo para matriz. 
/*------------------------------------------------------------------------------------
------------------/ 
/LÓGICA DE PROGRAMAÇÃO E ALGORITMO 
/ 
/Desenvolvido por : Paulo Hack 
/ 
/Matricula: 2148256 
/ 
/Ano: 2018 
/ 
/-------------------------------------------------------------------------------------
-----------------*/ 
 
int main() { 
 system("title MATRIZ");//Atribui o nome ao tela apresentada. 
 system("color 17");//Define cor da tela e fonte. 
 system("mode con:cols=120 lines=60");//Define tamanho da tela a ser exibida. 
 
 //Definições das variaveis utilizadas na aplicação. 
 int i, j, k, l; 
 int a, b, c, d; 
 float matriz1[max][max], matriz2[max][max], matrizSoma[max][max], diago-
nais[]{0,0,0,0}; 
 char C;//Definição da variável relacionada a limpeza do buffer do teclado. 
 
 //Entrada de dados para formação da primeira matriz. 
 printf("Digite os valores da primeira matriz lembre que ambas tem que ser de 
mesmo tamanho e ser menor que 5!.\n"); 
 printf("Digite o valor de linhas.\n"); 
 scanf_s("%d", &a); 
 while ((C = getchar()) != '\n'&& C != EOF) {}; 
 
 printf("Digite o valor de colunas.\n"); 
 
 
 
 
 scanf_s("%d", &b); 
 while ((C = getchar()) != '\n'&& C != EOF) {}; 
 
 //Entrada de dados para formação da segunda matriz. 
 printf("Digite os valores da segunda matriz!.\n"); 
 printf("Digite o valor de linhas.\n"); 
 scanf_s("%d", &c); 
 while ((C = getchar()) != '\n'&& C != EOF) {}; 
 printf("Digite o valor de colunas.\n"); 
 scanf_s("%d", &d); 
 while ((C = getchar()) != '\n'&& C != EOF) {}; 
 
 if ((a < max) && (b < max) && (c < max) && (d < max)){//Teste de semelhança das 
matrizes. 
 if ((a == c) && (b == d)) { 
 printf("\nMuito bom, vamos agora preencer matriz 1.\n\n"); 
 for (i = 0; i < a; i++)//Leitura da primeira matriz. 
 { 
 for (j = 0; j < b; j++) 
 { 
 scanf_s("%f", &matriz1[i][j]); 
 } 
 } 
 printf("\n\nMuito bom, vamos agora preencer matriz 2.\n\n"); 
 for (k = 0; k < c; k++)//Leitura da segunda matriz. 
 { 
 for (l = 0; l < d; l++) 
 { 
 scanf_s("%f", &matriz2[k][l]); 
 } 
 } 
 printf("nossas matrizes digitadas foram\n"); 
 printf("Matriz 1:");//mostra na tela a primeira matriz. 
 for (i = 0; i < a; i++) 
 { 
 printf("\n["); 
 for (j = 0; j < b; j++) 
 { 
 printf("%.2f]", matriz1[i][j]); 
 } 
 } 
 printf("\nMatriz 2:");//mostra na tela a segunda matriz. 
 for (i = 0; i < c; i++) 
 { 
 printf("\n["); 
 for (j = 0; j < d; j++) 
 { 
 printf("%.2f]", matriz2[i][j]); 
 } 
 } 
 printf("\n\n"); 
 
 printf("\nMuito bom, vamos agora mostrar a matriz resultante da 
soma das duas matrizes.\n\n"); 
 
 for (i = 0; i < a; i++)//Calculo da matriz resultante da soma das 
duas matrizes e multiplica pelos ultimos dois numeros do RU. 
 { 
 printf("\n["); 
 for (j = 0; j < b; j++) 
 { 
 matrizSoma[i][j] = matriz1[i][j] + matriz2[i][j]; 
 
 
 
 
 printf("%.2f]", matrizSoma[i][j] * 56); 
 } 
 } 
 
 printf("\nMuito bom, vamos agora mostrar a soma das diagonais 
principais da matriz resultante das duas matrizes.\n"); 
 if ((a == b) && (c == d))// teste de validade para gerar as diago-
nais das matrizes. 
 { 
 for (i = 0; i < a; i++)//Calculo das diagonais da matriz 
multiplica pelos ultimos dois numeros do RU e dispoem em um vetor. 
 { 
 for (j = 0; j < b; j++) 
 { 
 if (i == j) { 
 diagonais[0] = (diagonais[0] + ma-
triz1[i][j])*56; 
 diagonais[1] = (diagonais[1] + ma-
triz2[i][j])*56; 
 } 
 if (i + j == b-1) { 
 diagonais[2] = (diagonais[2] + ma-
triz1[i][j])*56; 
 diagonais[3] = (diagonais[3] + ma-
triz2[i][j])*56; 
 } 
 
 } 
 } 
 printf("Os valores das diagonais principais das matrizes 1 
e 2 são [%.2f],[%.2f],[%.2f],[%.2f]\n\n", diagonais[0], diagonais[1], diagonais[2], 
diagonais[3]); 
 } 
 else printf("Estas matrizes nao possuem diagonais principais e se-
cundarias! pois não são quadradas."); 
 } 
 } 
 else printf("Os valores digitados não formam duas matrizes de tamanhos iguais"); 
 
 
 system("pause");//Pausa aplicação. 
 return 0; 
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Imagem do algorítmico exercício 4 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5 EXERCÍCIO 
Faça um algoritmo em linguagem C que contenha uma FUNÇÃO que: 
a. Recebe como parâmetro as notas de uma disciplina (APOLs, prova objetiva, prova 
discursiva e atividade prática), seguindo os critérios da UNINTER; 
b. Retorna como resposta da função: 1 se o aluno foi aprovado, 2 se está em exame, 
ou 0 se está reprovado. 
No programa principal, leia todas as notas do aluno nas provas e atividades (0 - 100) e 
passe-as como parâmetro para a função que você criou. Com o retorno que a função irá 
fornecer, imprima na tela as mensagens “APROVADO”, “REPROVADO” e “EM 
EXAME”. 
Para resolver este exercício, utilize a Equação abaixo que calcula o média de um aluno 
em uma disciplina da UNINTER. 
Para estar aprovado, o aluno precisa ter média 70 ou mais. Para estar em exame, precisa 
estar com média entre 30 e 69. Abaixo de 30 estará reprovado diretamente. 
(∑𝐴𝑝𝑜𝑙𝑠) ∗ 20 + 𝑃𝑂 ∗ 20 + 𝑃𝐷 ∗ 30 + 𝐴𝑃 ∗ 30 
𝑁𝑜𝑡𝑎 = 
100 
Em que PO é a prova objetiva, PD prova discursiva e AP é atividade prática. 
ATENÇÃO, VOCÊ TAMBÉM DEVERÁ IMPRIMIR NA TELA A MÉDIA DO ALUNO 
 
#include <stdio.h> 
#include <stdlib.h> 
/*------------------------------------------------------------------------------------
------------------/ 
/LÓGICA DE PROGRAMAÇÃO E ALGORITMO 
/ 
/Desenvolvido por : Paulo Hack 
/ 
/Matricula: 2148256 
/ 
/Ano: 2018 
/ 
/-------------------------------------------------------------------------------------
-----------------*/ 
// Função de retorno da média do aluno. 
int notas(int apol1, int apol2, int apol3, int apol4, int apol5, int po, int pd, int 
atp) { 
 int notaFinal = 0; 
 int mediaApols = 0; 
 mediaApols = (apol1 + apol2 + apol3 + apol4 + apol5) / 5; 
 notaFinal = ((mediaApols * 20) + (po * 20) + (pd * 30) + (atp * 30)) / 100; 
 
 return notaFinal; 
} 
// Função de retorno da faixa da média do aluno( {1} - Média >69, {2} - 70 > Média > 
30, ou {0} - Média < 30). 
int aprovacao(int notaFinal) 
 { 
 
 
 
 
 int x = 0; 
 
 if (notaFinal > 69) { 
 x = 1; 
 }; 
 if ((notaFinal < 70) && (notaFinal >= 30)) { 
 x = 2; 
 }; 
 if (notaFinal < 30) { 
 x = 0; 
 }; 
 return x; 
 } 
 
int main() { 
 system("title Provas");//Atribui o nome ao tela apresentada. 
 system("color 17");//Define cor da tela e fonte. 
 system("mode con:cols=120 lines=60");//Define tamanho da tela a ser exibida. 
 //Declaração das variáveis. 
 int apol1 = 0, apol2 = 0, apol3 = 0, apol4 = 0, apol5 = 0, po = 0, pd = 0, atp = 
0, apv = 0, nFinal = 0; 
 char c; 
 //Leitura das notas. 
 printf("Digite o valor das notas do aluno.\n\n"); 
 printf("Digite o valor da Apol 1.\n");scanf_s("%d", &apol1); 
 while ((c = getchar()) != '\n'&& c != EOF) {} 
 printf("Digite o valor da Apol 2.\n"); 
 scanf_s("%d", &apol2); 
 while ((c = getchar()) != '\n'&& c != EOF) {} 
 printf("Digite o valor da Apol 3.\n"); 
 scanf_s("%d", &apol3); 
 while ((c = getchar()) != '\n'&& c != EOF) {} 
 printf("Digite o valor da Apol 4.\n"); 
 scanf_s("%d", &apol4); 
 while ((c = getchar()) != '\n'&& c != EOF) {} 
 printf("Digite o valor da Apol 5.\n"); 
 scanf_s("%d", &apol5); 
 while ((c = getchar()) != '\n'&& c != EOF) {} 
 printf("Digite o valor da po.\n"); 
 scanf_s("%d", &po); 
 while ((c = getchar()) != '\n'&& c != EOF) {} 
 printf("Digite o valor da pd.\n"); 
 scanf_s("%d", &pd); 
 while ((c = getchar()) != '\n'&& c != EOF) {} 
 printf("Digite o valor da atp.\n"); 
 scanf_s("%d", &atp); 
 // Inicio teste da faixa de aplicação da média do aluno 
 nFinal = notas(apol1, apol2, apol3, apol4, apol5, po, pd, atp); 
 apv = aprovacao(nFinal); 
 if (apv == 1) { 
 printf("\n\nAluno aprovado media final (%d)\n\n", nFinal); 
 printf("Continue assim, Parabens.\n\n", nFinal); 
 } 
 if (apv == 2) { 
 printf("\n\nAluno em recuperacao media final (%d)\n\n", nFinal); 
 printf("Precisa estudar um pouco mais!!\n\n", nFinal); 
 } 
 if (apv == 0) { 
 printf("\n\nAluno reprovado media final (%d)", nFinal); 
 printf("Fóco nos estudos e determinacao!!!\n\n", nFinal); 
 } 
 
 
 
 
 
 
 system("pause");//Pausa aplicação. 
 return 0; 
} 
 
 
Imagem do algorítmico exercício 5

Continue navegando

Outros materiais