Lógica de Programação e Algorítimos

Tipo de documento:Programação

Área de estudo:Tecnologia da informação

Documento 1

Para isto, coletou o sexo do entrevistado e a sua resposta (sim ou não). Sabendo que foram entrevistadas 150 pessoas, fazer um algoritmo que calcule e mostre ao final: • O número de pessoas que responderam sim; • O número de pessoas que responderam não; • A percentagem de pessoas do sexo feminino que responderam sim; • A percentagem de pessoas do sexo masculino que responderam não; Para a resposta SIM/NÃO. Utilize uma variável do tipo CHAR, que armazena S ou N, ou use uma variável do tipo INT que armazena 1 (para SIM) e 2 (para NÃO). Solução do aluno: #include <stdio. h> int main() { // Inicia variáveis e contadores int sexo, gostou, opcao; int contador_gostou = 0, contador_n_gostou = 0; int contador_sexo_fem = 0, contador_sexo_masc = 0; int contador_sexo_fem_gostou = 0, contador_sexo_masc_n_gostou = 0; // Verifica se houve menos de 150 candidatos, se sim, permanece contando // até que atinge 150 candidatos ou que nao deseje continuar while ((contador_sexo_fem + contador_sexo_masc) < 150) { while (1) { // Faz leitura e verificacao sobre o sexo da pessoa e armazena na variável sexo printf("Qual o seu sexo? 1 para masculino e 2 para feminino\n"); scanf_s("%i", &sexo); if (sexo == 1 || sexo == 2) { // Verifica se a resposta foi válida break; } printf("Opcao invalida! Favor digitar novamente.

f%% pessoas do sexo masculino nao gostaram do produto. n", contador_sexo_masc_n_gostou * 100. contador_sexo_masc); } else { printf("Nenhuma pessoa do sexo masculino nao gostou do produto. n"); } return 0; } Imagem do código funcionando no seu computador: 2 EXERCÍCIO 2 ENUNCIADO: Para cada um dos consumidores de energia elétrica de uma cidade é informado o número da conta e o total de KW consumido no mês. Sabendo-se que o custo do KW é de R$ 1,75, fazer um algoritmo para: • Armazenar e listar o número da conta, o total de KW consumidos e o valor a pagar de cada consumir cadastrado; • Listar o número da conta, o total de KW consumidos e o valor a pagar do consumidor que mais gastou e o que menos gastou; • Mostrar a média de consumo da cidade; • Mostrar o número de consumidores que ultrapassaram o consumo de 170 KW; Armazene as informações em estruturas de vetores e/ou matrizes.

f) pertencente a conta %. f. n\n", mais_gastou[1], mais_gastou[1] * PRECO_KW, mais_gastou[0]); break; } case 4: { // Realiza a busca para encontrar qual a conta teve o menor consumo int contador = 1; double menos_gastou[2]; menos_gastou[0] = cadastros[0][0]; menos_gastou[1] = cadastros[0][1]; for (; contador < contador_usuarios; contador++) { if (cadastros[contador][1] < menos_gastou[1]) { menos_gastou[0] = cadastros[contador][0]; menos_gastou[1] = cadastros[contador][1]; } } printf("O menor consumo foi de %. f (R$%. f) pertencente a conta %. h> #define M 3 // Define o tamanho da matriz // Funcao para verificar se a matriz eh magica ou nao // Recebe como parametro a matriz // Retorna 0 se nao eh magica e 1 se eh magica int matriz_magica(int m[M][M]) { // Declaração das variaveis int soma_lin[M], soma_col[M]; int soma_diag_1 = 0, soma_diag_2 = 0; int contador_lin, contador_col; // Zera os vetores para realizar a soma das linhas e colunas for (contador_lin = 0; contador_lin < M; contador_lin++) { soma_lin[contador_lin] = 0; soma_col[contador_lin] = 0; } // Realiza a soma da diagonal principal for (contador_lin = 0, contador_col = 0; contador_lin < M; contador_lin++, contador_col++) { soma_diag_1 += m[contador_lin][contador_col]; } // Realiza a soma da diagonal secundaria for (contador_lin = (M - 1), contador_col = 0; contador_col < M; contador_lin--, contador_col++) { soma_diag_2 += m[contador_lin][contador_col]; } // Verifica se as somas das diagonais sao diferente if (soma_diag_1 != soma_diag_2) { return 0; } // Realiza a soma das colunas for (contador_col = 0; contador_col < M; contador_col++) { for (contador_lin = 0; contador_lin < M; contador_lin++) { soma_col[contador_col] += m[contador_lin][contador_col]; } } // Realiza a soma das linhas for (contador_lin = 0; contador_lin < M; contador_lin++) { for (contador_col = 0; contador_col < M; contador_col++) { soma_lin[contador_lin] += m[contador_lin][contador_col]; } } // Como a soma da diagonal principal é igual a diagonal secundaria, // é verificado se a soma das linhas e das colunas é diferente da diagonal principal, // indiretamente verifica se a soma das linhas é igual a soma das colunas for (contador_lin = 0; contador_lin < M; contador_lin++) { if (soma_diag_1 != soma_lin[contador_lin]) { return 0; } if (soma_diag_1 != soma_col[contador_lin]) { return 0; } } return 1; } int main() { // Declaração de variaveis int matriz[M][M]; int contador_lin, contador_col; // Leitura e armazenamento dos valores de cada posicao da matriz printf("Digite os elementos da matriz para saber se ela eh magica ou nao: \n"); for (contador_lin = 0; contador_lin < M; contador_lin++) { for (contador_col = 0; contador_col < M; contador_col++) { printf("Posicao [%i][%i] = ", contador_lin, contador_col); scanf_s("%d", &matriz[contador_lin][contador_col]); } } // Verifica se a matriz eh magica ou nao if (matriz_magica(matriz) == 1) { printf("\nA matriz eh magica!\n\n"); } else { printf("\nA matriz nao eh magica!\n\n"); } return 0; } Imagem do código funcionando no seu computador: 4 EXERCÍCIO 4 ENUNCIADO: Escrever uma função que receba como parâmetro duas strings, bem como um valor inteiro que representa uma posição.

A função deve, portanto, inserir a segunda string na posição indicada da primeira. Escreva um programa que receba estas duas strings do usuário, o valor da posição desejada, e chame a função anteriormente implementada e exiba o resultado ao usuário na tela. Para imprimir na tela e tirar o print screen, mostre o resultado utilizando o seu primeiro nome como string 1 e o seu último nome como string 2, e a posição de teste deverá ser o último digito do seu RU. Solução do aluno: #include <stdio.

66 R$ para obter acesso e baixar trabalho pronto

Apenas no StudyBank

Modelo original

Para download