Buscar

A1 UVA - Programação estruturada

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 13 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 13 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 13 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

Programação Estruturada (2021-1). 
Prof. Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
Prof . Dr. Engo. Carlos A. Sicsú A. do Nascimento 
Avaliação Obrigatória para A1. 
Valor: até 5.0pts da Atividade Individual Avaliativa (AIA) de A1. 
Data Limite de envio pelo Sistema Canvas: 06/05/2021 – 23:59hs. 
O arquivo deverá ser entregue em documento do Word, conforme este modelo. 
Não serão aceitos arquivos compactados. 
Identificação do trabalho para envio: PRINOME_ULTNOME(AIA_A1).DOC 
 
Matrícula: 20191106060 
Nome Completo: Giordano Aiex Mendes Vianna 
Responda a todas as questões apresentando os códigos da solução (os códigos devem ser copiados em 
formato texto e você não deve inserir os códigos na forma de imagem) e a captura da tela (com as 
imagens) dos testes de execução, apresentando os dados de entrada e os resultados apresentados pelo 
programa. Deverão ser realizados pelo menos 3 testes para cada programa. Caso não caiba em uma 
única imagem, você pode inserir imagens suficientes para exibir todas as entradas e saídas de cada 
teste. 
 
1ª Questão (1,25pt) Faça um programa que leia 15 números inteiros e ao final informe: 
• A média dos números ímpares digitados. 
• A quantidade de números compreendidos entre 30 e 120 (inclusive) que foram 
digitados. 
• O somatório dos números múltiplos de 3 digitados. 
 
Solução (Código do DevC++ (Texto)): 
 
#include<stdio.h> 
 
int main(void) 
{ 
 int valores[15], i, soma_multiplos = 0, soma_impares = 0, impar = 0, quantidade = 0; 
 float media_impares; 
 
 for(i=0; i<15; i++) 
 { 
 printf("Digite o %d numero: ",i + 1); 
 scanf("%d",&valores[i]); 
 
 if(valores[i] % 3 == 0) 
 { 
 soma_multiplos += valores[i]; 
 } 
 if(valores[i] % 2 != 0) 
 { 
 impar++; 
 soma_impares += valores [i]; 
 media_impares = soma_impares / impar; 
 } 
 if(valores[i] > 29 && valores[i] < 121) 
 
Programação Estruturada (2021-1). 
Prof. Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
Prof . Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 { 
 quantidade++; 
 } 
 
 } 
 printf("A soma dos numeros multiplos de 3 digitados vale %d\n", soma_multiplos); 
 printf("A media dos numeros impares digitados vale %.f\n", media_impares); 
 printf("A quantidade de numeros digitados entre 30 e 120 vale %d", quantidade); 
 return 0; 
} 
 
 
 
 
Telas dos testes capturadas (imagem: ALT+ PrintScreen): 
 
 
 
 
1º Teste: 
 
 
 
 
 
 
 
 
Programação Estruturada (2021-1). 
Prof. Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
Prof . Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
2º Teste: 
 
 
 
3º Teste: 
 
 
 
 
Programação Estruturada (2021-1). 
Prof. Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
Prof . Dr. Engo. Carlos A. Sicsú A. do Nascimento 
2ª Questão (1,25pt) Crie um programa em linguagem C, que use três funções: 
1. A primeira deve receber o raio de um círculo e uma variável por referência para armazenar a área 
do círculo, uma vez que esta função não retornará nada; 
2. A segunda deve receber a área do círculo (base do cilindro) e a altura do cilindro, a função deve 
retornar o volume do cilindro; 
3. A terceira deve receber o raio da esfera e retornar o volume calculado na função para a função 
principal. 
. O raio e altura devem ser obtidos através de leitura pelo teclado na função principal, que deve exibir 
ao final a área do círculo, o volume do cilindro e o volume da esfera. 
areaCirculo = 3.1415 . raio2 
volumeCilindro = 3.1415 . raio2 . altura 
volumeEsfera = 4 . 3.1415 . raio3 
 3 
Faça a conversão das fórmulas para o formato computacional e use a função de potência da biblioteca 
matemática. 
Solução (Código do DevC++ (Texto)): 
 
#include<stdio.h> 
#include<math.h> 
 
void calculo_area(float raio_circulo, float *x) 
{ 
 *x = 3.1415 * pow(raio_circulo,2); 
 return; 
} 
 
void calculo_volume_cilindro(float area_circulo, float altura_cilindro, float *y) 
{ 
 *y = area_circulo * altura_cilindro; 
 return; 
} 
 
void calculo_volume_esfera(float raio_esfera, float *z) 
{ 
 *z = 4 * 3.1415 * pow(raio_esfera,3)/3; 
 return; 
} 
 
int main (void) 
 
{ 
 float area_circulo, raio_circulo, altura_cilindro, volume_cilindro, volume_esfera, raio_esfera; 
 
 printf("Digite o raio da base do cilindro: "); 
 scanf("%f", &raio_circulo); 
 calculo_area(raio_circulo, &area_circulo); 
 
 
 
Programação Estruturada (2021-1). 
Prof. Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
Prof . Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 printf("\n\nDigite a altura do cilindro: "); 
 scanf("%f", &altura_cilindro); 
 calculo_volume_cilindro(area_circulo, altura_cilindro, &volume_cilindro); 
 printf("O volume do cilindro vale: %.2f \n", volume_cilindro); 
 
 
 printf("\n\nDigite o raio da esfera: "); 
 scanf("%f", &raio_esfera); 
 calculo_volume_esfera(raio_esfera, &volume_esfera); 
 printf("O volume da esfera vale: %.2f", volume_esfera); 
 
 return 0; 
} 
 
Telas dos testes capturadas (imagem: ALT+ PrintScreen): 
 
 
1º Teste: 
 
 
 
2º Teste: 
 
 
 
 
Programação Estruturada (2021-1). 
Prof. Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
Prof . Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
 
 
 
 
 
3º Teste: 
 
 
3ª Questão (1,25pt) Faça um programa em linguagem C com uma função que receba, por parâmetro, um 
vetor de 12 elementos inteiros, calcule e retorne de alguma forma a soma e a média dos valores para a 
função principal, que deverá exibir a soma e a média calculadas. Os valores do vetor deverão ser lidos via 
teclado pela função principal (main). A média deve ser calculada e armazenada em uma variável do tipo 
real de dupla precisão. 
 
 
Solução (Código do DevC++ (Texto)): 
 
#include<stdio.h> 
 
double media(int x, int *valores); 
double soma(int x, int *valores); 
 
int main (void) 
{ 
 double media_valores, soma_valores; 
 int i, valores[12]; 
 
 for (i = 1; i <= 12; i++) 
 { 
 printf("Digite o valor %d: ", i); 
 scanf("%d", &valores[i]); 
 } 
 
Programação Estruturada (2021-1). 
Prof. Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
Prof . Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
 media_valores = media(12,valores); 
 soma_valores = soma(12,valores); 
 printf("A soma dos valores vale: %.2lf \n", soma_valores); 
 printf("A media dos valores vale: %.2lf", media_valores); 
 return 0; 
} 
 
double soma(int x, int *valores) 
{ 
 int i; 
 double soma = 0; 
 
 for (i = 1; i <= x; i++) 
 soma = soma + valores[i]; 
 
 return soma; 
} 
 
double media(int x, int *valores) 
{ 
 int i; 
 double m = 0, soma = 0; 
 
 for (i = 1; i <= x; i++) 
 soma = soma + valores[i]; 
 
 m = soma / x; 
 return m; 
} 
 
 
 
Telas dos testes capturadas (imagem: ALT+ PrintScreen): 
1º Teste: 
 
Programação Estruturada (2021-1). 
Prof. Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
Prof . Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
 
2º Teste: 
 
 
3º Teste: 
 
Programação Estruturada (2021-1). 
Prof. Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
Prof . Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
 
 
 
4ª Questão (1,25pt) Faça um programa em linguagem C que possua dois vetores de inteiros de 10 
elementos cada, que devem ser preenchidos pelo teclado. O programa deve possuir uma matriz 2 X 2 que 
deverá conter o número (quantidade) de números pares do primeiro vetor na primeira linha e primeira 
coluna, o número (quantidade) de números ímpares do primeiro vetor na primeira linha e segunda coluna, 
o número (quantidade) de números pares do segundo vetor na segunda linha e primeira coluna e o 
número (quantidade) de números ímpares do segundo vetor na primeira linha e segunda coluna. 
Apresente os elementos (valores) da matriz no formato original de uma matriz (utilize \n e \t comformatação dos valores). 
 
 Qtd_pares_vetor1 Qtd_Ímpares_vetor1 
 Qtd_pares_vetor2 Qtd_Ímpares_vetor2 
 
 
Solução (Código do DevC++ (Texto)): 
#include<stdio.h> 
 
int main(void) 
{ 
 int vetor_1[10], vetor_2[10], cont, qtd_pares_vetor_1 = 0, qtd_impares_vetor_1 = 0, qtd_pares_vetor_2 = 0, 
qtd_impares_vetor_2 = 0; 
 
 printf("Primeiramente, digite os valores do vetor 1\n"); 
 
 for (cont = 0; cont < 10; cont++) 
 { 
 Printf ("Digite o elemento %d do vetor 1: ", cont + 1); 
 scanf ("%d", &vetor_1[cont]); 
 
 if(vetor_1[cont] % 2 == 0) 
 { 
 
Programação Estruturada (2021-1). 
Prof. Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
Prof . Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 qtd_pares_vetor_1++; 
 } 
 else 
 { 
 qtd_impares_vetor_1++; 
 } 
 } 
 
 printf("\n\nAgora digite os valores do vetor 2\n"); 
 
 for (cont = 0; cont < 10; cont++) 
 { 
 Printf ("Digite o elemento %d do vetor 2: ", cont + 1); 
 Scanf ("%d", &vetor_2[cont]); 
 
 if(vetor_2[cont] % 2 == 0) 
 { 
 qtd_pares_vetor_2++; 
 } 
 else 
 { 
 qtd_impares_vetor_2++; 
 } 
 } 
 Printf ("O resultado final eh: \n"); 
 Printf (" %d\t %d\n %d\t %d", qtd_pares_vetor_1, qtd_impares_vetor_1, qtd_pares_vetor_2, qtd_impares_vetor_2); 
 return 0; 
} 
 
 
 
 
 
 
 
 
 
 
 
 
Telas dos testes capturadas (imagem: ALT+ PrintScreen): 
 
 
Programação Estruturada (2021-1). 
Prof. Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
Prof . Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
1º Teste: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2º Teste: 
 
Programação Estruturada (2021-1). 
Prof. Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
Prof . Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3º Teste: 
 
Programação Estruturada (2021-1). 
Prof. Dr. Engo. Carlos A. Sicsú A. do Nascimento 
 
Prof . Dr. Engo. Carlos A. Sicsú A. do Nascimento

Outros materiais