Baixe o app para aproveitar ainda mais
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
Compartilhar