Buscar

ATIVIDADE PRÁTICA

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 14 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 14 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 14 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 
 
 
 
 
 
 
 
 
JÚNIOR D. DALLACOSTA A. SANTOS – RU: 3074188 
VINICIUS POZZOBON BORIN 
 
 
 
 
 
 
 
 
 
 
HORIZONTINA – RIO GRANDE DO SUL 
2020 
 
 
 
1 
 
Exercício 1: 
Uma certa empresa fez uma pesquisa de mercado para saber se as pessoas gostaram ou não do 
seu último produto lançado. 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). 
#include <stdio.h> //Biblioteca de entrada e saída; 
#include <stdlib.h> //Biblioteca para alocação de memória; 
#include <locale.h> //Biblioteca que específica constantes; 
 
int main() 
{ //Inicio da Função; 
 
 setlocale(LC_ALL, "Portuguese"); // Serve para incluir acentuação no programa; 
 
 int Sim_Nao, Masculino_Feminino;// Variável do tipo inteiro, Sim(1) Não(2), Mas-
culino(3) Feminino(4); 
 
 float H = 0, M = 0, Psim = 0, pnao = 0, msim = 0, hnao = 0, hsim = 0, mnao = 0; 
// Variáveis que receberam os dados para a contagem; 
 
 int cont;// Variável do laço de repetição For, para que sejam apenas 150 pes-
soas que respondam a pesquisa; 
 float perchn = 0, percms = 0; // Variável de percentual homens não e mulheres 
sim; 
 
 for (cont = 0; cont <= 150; cont++) 
 { // Inicio do laço de repetição; 
 
 printf("------------Pesquisa de mercado--------------"); // Começo da 
pesquisa; 
 
 printf("\n\nOlá, gostaríamos de saber se você gostou do último produto 
lançado pela nossa empresa? Responda 1 para sim ou 2 para não\n\n"); // Esta mensagem 
aparecera na tela do usuário; 
 scanf_s("%d", &Sim_Nao); // O programa guardara a informação digitada na 
variável Sim_Nao; 
 printf("\n\nQual o seu sexo? Responda 3 para Masculino ou 4 para Femi-
nino\n\n"); // Esta mensagem aparecera na tela do usuário; 
 scanf_s("%d", &Masculino_Feminino); // O programa guardara a informação 
digitada na variável Masculino_Feminino; 
 
 if ((Sim_Nao == 1) && (Masculino_Feminino == 3)) { // Caso as escolhas 
forem sim e Masculino; 
 
 Psim = Psim++; // Quantas pessoas sim; 
 H = H++; // Quantos Homens; 
 
 
 
 
 hsim = hsim++; // Quantos homens sim; 
 
 
 } 
 else { 
 if ((Sim_Nao == 1) && (Masculino_Feminino == 4)) { // Caso as es-
colhas forem sim e Feminino; 
 
 Psim = Psim++; // Quantas pessoas sim; 
 M = M++; // Quantas mulheres; 
 msim = msim++; // Quantas mulheres sim; 
 } 
 else { 
 if ((Sim_Nao == 2) && (Masculino_Feminino == 3)) { // Caso 
as escolhas forem não e masculino; 
 
 pnao = pnao++; // Quantas pessoas não; 
 H = H++; // Quantos homens; 
 hnao = hnao++; // Quantos homens não; 
 } 
 else { 
 if ((Sim_Nao) && (Masculino_Feminino == 4)) { // 
caso sejam não e feminino; 
 
 pnao = pnao++; // Quantas pessoas não; 
 M = M; // Quantas mulheres; 
 mnao = mnao; // Quantas mulheres não; 
 } 
 else { 
 printf("Resposta invalida\n\n"); 
 } // Mensagem para dados digitados incorretos; 
 } 
 
 
 } 
 
 
 
 } 
 
 printf("\n\n************---------------************\n\n"); // Serve para 
dar uma melhor aparência ao programa; 
 
 perchn = (hnao * 100) * (1 / H); // Conta de percentual para Homens não; 
 percms = (msim * 100) * (1 / M); // Conta de percentual para Mulheres 
sim; 
 
 printf("Número de pessoas que responderam à pesquisa: %.1f\n\n", Psim + 
pnao); // Informação que aparecera para o usuário como quebra de linha; 
 printf("Número de pessoas que responderam Sim: %.1f\n\n", Psim); // Que-
bra de linha; 
 printf("Número de pessoas que responderam Não: %.1f\n\n", pnao); // Que-
bra de linha; 
 printf("Porcentagem de homens que responderam Não: %.2f\n\n", perchn); // 
Quebra de linha; 
 printf("Porcentagem de mulheres que responderam Sim: %.2f\n\n", percms); 
// Quebra de linha; 
 
 } 
 system("pause"); // Informa o programa que ele deve parar; 
 return 0; // Retorna a função principal; 
} 
 
 
 
 
 
 
 
 
 
 
Exercício 2: 
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. Na tela, deve existir um 
MENU que pergunta ao usuário se ele deseja cadastrar um novo consumidor ou listar alguma 
informação (maior, menor, média, etc.). 
#include <stdlib.h> // Biblioteca para alocação de memória; 
#include <stdio.h> // Biblioteca de entrada e saída; 
#include <conio.h> // Biblioteca para desenhar tela; 
#include <locale.h> // Biblioteca que específica constantes; 
 
float custokw = 1.75, clientes[100][3], maior, menor, media; // Declaração de variá-
veis; 
 
int opção, total, coluna, linha, aux, tam = 0; // Variável do tipo inteiro; 
 
int main() { // Início do programa; 
 
 setlocale(LC_ALL, "Portuguese"); // Para as palavras sairem com acentuação; 
 
inicio: 
 
 system("cls"); 
 
 printf("\nEscolha uma opção\n\n"); 
 
 printf("\n1 - Cadastrar novo cliente:\n"); 
 printf("\n2 - Verificar qual cliente teve o MAIOR consumo:\n"); 
 printf("\n3 - Verificar qual cliente teve o MENOR consumo:\n"); 
 printf("\n4 - Media de consumo dos clientes:\n"); // Printf 
serve para aparecer na tela oque foi digitado; 
 printf("\n5 - Exibir quais clientes ultrapassaram 170 kw:\n"); 
 printf("\n6 - Relatorio de todas as contas:\n"); 
 printf("\n7 - sair:"); 
 
 printf("\n\n\nQual é a sua opção:"); 
 
 scanf_s("%d", &opção); // guarda na memória oque foi digitado; 
 
 switch (opção) { 
 
 case 1: // Opção usada para cadastrar novos clientes; 
 opção = 0; 
 system("cls"); 
 if (total < 100) { // O total de clientes precisa ser menor 
que 100; 
 printf("Digite o número da nova conta:"); 
 
 
 
 
 scanf_s("%f", &clientes[total][0]); // Lê o numero do cliente 
e armazena na matriz clientes; 
 printf("\nDigite a quantidade de kw consumido por esse cliente:"); 
 scanf_s("%f", &clientes[total][1]); // Lê o total de kw consu-
mido e armazena na matriz clientes; 
 clientes[total][2] = clientes[total][1] * custokw; // Multi-
plica o consumo pelo custo e armazena na matriz; 
 
 total = total + 1; 
 } 
 else { 
 printf("\nNão é possível cadastrar novos clientes, maximo 
100.\n"); 
 } 
 system("pause"); // Usado para pausar a operação; 
 goto inicio; // Fim do loop opção 1; 
 
 
 case 6: // Opção usada para imprimir um relatório de todas as contas; 
 opção = 0; 
 if (total != 0) { // Verifica se o total de clientes é diferente de Zero; 
 printf("CONTA CONSUMO VALOR EM R$ \n"); 
 for (linha = 0; linha < total; ++linha) { // Usado para ler a ma-
triz ate o total de clientes; 
 printf("\n"); 
 for (coluna = 0; coluna < 3; ++coluna) { 
 printf("%.2f ", clientes[linha][coluna]); 
 } 
 } 
 } 
 else { 
 printf("\nNão há clientes cadastrados"); 
 } 
 system("pause"); // Usado para pausar a operação; 
 goto inicio; // Fim do loop opção 6;case 4: // Média de consumo de todos os clientes; 
 opção = 0; 
 media = 0; 
 if (total != 0) { // Verifica se o total de clientes é diferente de Zero; 
 for (linha = 0; linha < total; ++linha) { // Passara por toda a 
matriz clientes; 
 
 media = media + clientes[linha][1]; // A variável auxi-
liar média ira receber a somatória de consumo de clientes; 
 
 }//fim do for 
 media = media / total; // Dividi-se a variável pela quantidade to-
tal de clientes para obter a média; 
 printf("\nA média consumida de todos os clientes foi de %.0f 
kw\n\n", media); 
 } 
 else { 
 printf("\nNão há clientes cadastrados"); 
 } 
 system("pause"); // Usado para pausar a operação; 
 goto inicio; 
 
 
 case 5: 
 // Opção usada para verificar qual cliente ultrapassou 170kw de consumo; 
 
 
 
 
 opção = 0; 
 media = 0; 
 if (total != 0) { // Verifica se o total de clientes é diferente de Zero; 
 printf("CLIENTES QUE ULTRAPASSARAM O CONSUMO DE 170 KW\n\n"); 
 printf("CONTA CONSUMO VALOR EM R$ \n"); 
 for (linha = 0; linha < total; ++linha) { // Passara por toda 
a matriz clientes; 
 if (clientes[linha][1] > 170) { // Testa se o consumo for 
maior que 170kw; 
 printf("\n"); 
 for (coluna = 0;coluna < 3; ++coluna) // Se o 
consumo for maior, usa para imprimir toda a linha; 
 printf("%.2f", clientes[linha][coluna]); 
 
 }// Fim do if; 
 }// Fim do for; 
 } 
 else { 
 printf("\nNão há clientes cadastrados"); 
 } 
 system("pause"); // Usado para pausar a operação; 
 goto inicio; 
 
 
 case 2: // Utilizado para verificar qual cliente teve o maior consumo; 
 opção = 0; 
 maior = 0; 
 aux = 0; 
 if (total != 0) { // Verifica se o total de clientes é diferente de Zero; 
 for (linha = 0; linha < total; ++linha) { // Passara por toda a 
matriz clientes; 
 if (maior <clientes[linha][1]) { // Testa se o consumo é 
maior que a variável maior; 
 maior = clientes[linha][1]; // Variável maior re-
cebe o valor para testar com outros consumos; 
 aux = linha; // Ira armazenar a linha da ma-
triz em que encontrar o maior consumo; 
 }// Fim do if; 
 }// Fim do for; 
 
 printf("O maior consumo registrado Foi do cliente %.0f que consu-
miu %.0f kW, tendo um gasto de R$ %.2f\n\n", 
 clientes[aux][0], clientes[aux][1], clientes[aux][2]); 
// Imprime na tela a linha armazenadA por aux onde foi encontrado o maior consumo; 
 
 } 
 
 else { 
 printf("\nNão há clientes cadastrados"); 
 } 
 system("pause"); // Usado para pausar a operação; 
 goto inicio; // Fim da opção 2; 
 
 case 3: // Utilizado para verificar qual cliente teve o MENOR consumo; 
 opção = 0; 
 menor = clientes[0][1]; 
 aux = 0; 
 if (total != 0) { // verifica se o total de clientes é diferente de 
Zero; 
 for (linha = 0; linha < total; ++linha) { // Passara por toda a 
matriz clientes; 
 
 
 
 
 if (menor > clientes[linha][1]) { // Testa se o consumo é 
menor que a variável menor; 
 aux = linha; // Ira armazenar a linha da matriz em 
que encontrar o menor consumo; 
 }// Fim do if; 
 }// Fim do for; 
 printf("O menor consumo registrado foi do cliente %.0f que consu-
miu %.0f kW, tendo um gasto de R$ %.2f\n\n", 
 clientes[aux][0], clientes[aux][1], clientes[aux][2]); // 
Imprime na tela a linha armazenada por aux onde foi encontrado o menor consumo; 
 
 } 
 else { 
 printf("\nNão há clientes cadastrados\n"); 
 } 
 system("pause"); // Usado para pausar a operação; 
 goto inicio; 
 
 
 case 7: // Opção usada para sair; 
 system("cls"); 
 printf("voce pediu para sair, fechando programa...\n"); 
 //Sleep(3000); // Aqui ele pausa por 3 segundos depois continua o có-
digo; 
 exit(0); 
 
 
 default: // Verifica se a opção digitada é válida; 
 printf("você deve escolher uma opção válida\n"); 
 printf("Precione qualquer tecla para voltar ao menu\n"); 
 system("pause"); // Usado para pausar a operação; 
 goto inicio; 
}// fim switch; 
} // final do int main; 
 
 
 
 
 
 
 
 
 
 
Exercício 3: 
Dizemos que uma matriz quadrada inteira é um quadrado mágico se a soma dos elementos de cada linha, a 
soma dos elementos de cada coluna e a soma dos elementos das diagonais principal e secundária são todas 
iguais. Dada uma matriz quadrada dimensão MxM, verifique se ela é um quadrado mágico através de um 
algoritmo. 
Exemplo de matriz quadrado mágico: 
 8 0 7 
 4 5 6 
 3 10 2 
#include<stdio.h> // Biblioteca de entrada e saida; 
#include<stdlib.h> // Biblioteca para alocação da memória; 
#include<locale.h> // Biblioteca que específica as contantes; 
 
int main() { // Inicio do programa; 
 
 setlocale(LC_ALL, "Portuguese"); 
 
 int linha, coluna, matriz[3][3]; // Variáveis do tipo inteiro que serão usadas 
para o laço de repetição e para a matriz; 
 int l1, l2, l3, c1, c2, c3, dp, ds; // Variáveis do tipo inteiro que serão cada 
linha e coluna da matriz; 
 
 for (linha = 0; linha < 3; linha++) // laço de repetição para limitar o número de 
linhas; 
 for (coluna = 0; coluna < 3; coluna++) { // laço de repetição para limitar o 
numero de colunas; 
 
 
 
 
 printf("\nInforme a seguir os números da matriz [%d][%d]:\n\n", linha, co-
luna); // mensagem que aparecerá para o usuário; 
 
scanf_s("%d", &matriz[linha][coluna]); // O programa guardará a informação digitada; 
 
 } 
 printf("\n\nOs números digitados são:\n\n", linha, coluna); // mensagem que apare-
cerá mostrando os números digitados; 
 
 
 for (linha = 0; linha < 3; linha++) { // laço de repetição para limitar o número 
de linhas; 
 for (coluna = 0; coluna < 3; coluna++) // laço de repetição para limitar o nú-
mero de colunas; 
 printf("%d ", matriz[linha][coluna]); // mensagem que aparecerá mostrando 
a matriz digitados; 
 printf("\n\n"); 
 } 
 
 l1 = matriz[0][0] + matriz[0][1] + matriz[0][2]; // soma dos números da primeira 
linha; 
 l2 = matriz[1][0] + matriz[1][1] + matriz[1][2]; // soma dos números da segunda 
linha; 
 l3 = matriz[2][0] + matriz[2][1] + matriz[2][2]; // soma dos números da terceira 
linha; 
 c1 = matriz[0][0] + matriz[1][0] + matriz[2][0]; // soma dos números da coluna 1; 
 c2 = matriz[0][1] + matriz[1][1] + matriz[2][1]; // soma dos números da coluna 2; 
 c3 = matriz[0][2] + matriz[1][2] + matriz[2][2]; // soma dos números da coluna 3; 
 dp = matriz[0][0] + matriz[1][1] + matriz[2][2]; // soma dos números da diagonal 
principal; 
 ds = matriz[0][2] + matriz[1][1] + matriz[2][0]; // soma dos números da diagonal 
secundária; 
 
 
 printf("linha 1 = %d\n", l1); // resultado das somas; 
 printf("linha 2 = %d\n", l2); // resultado das somas; 
 printf("linha 3 = %d\n", l3); // resultado das somas; 
 printf("coluna 1 = %d\n", c1);// resultado das somas; 
 printf("coluna 2 = %d\n", c2);// resultado das somas; 
 printf("coluna 3 = %d\n\n\n", c3);// resultado das somas; 
 
 if ((l1 == l2) && (l1 == l3) && (l1 == c1) && (l1 == c2) && (l1 == c3) && (l1 == 
dp) && (l1 == ds)) { // teste do quadrado mágico; 
 
 printf("A matriz digitada é um quadrado mágico!!!!!!"); // mensagem final ao 
usuário; 
 } 
 else { // caso não seja um quadrado mágico; 
 
 printf("A matriz digitada não é um quadrado magico!!!!!!"); // mensagem final 
ao usuário; 
 } 
 
 system("pause"); // informa ao programa que ele deve parar; 
 return 0; // retorno da função principal; 
} 
 
 
 
 
 
 
 
 
 
 
Exercício 4: 
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 no 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 printscreen, 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. 
#include<stdio.h> // Biblioteca de entrada e saida; 
#include<stdlib.h> // Biblioteca de alocação da memória; 
#include<string.h> // Biblioteca para utilização do comando de comparação strlen; 
#include<locale.h> // Biblioteca que específica constantes; 
 
int main(char) { // declaração do tipo da função, e início da função principal; 
 
 setlocale(LC_ALL, "Portuguese"); 
 
 char ultnome[]= "Santos", prinome[]= "Junior", resposta[]= "Junior Santos"; // va-
riáveil do tipo caracter com espaços para as letras, entre chaves; 
 int posicao; // variável tipo inteiro; 
 
 printf("\n\nQual o seu primeiro nome?\n\n"); // mensagem que aparecerá para o 
usuário digitar o primeiro nome; 
 gets_s(prinome); // o programa guardará a informação digitada na variável; 
 
 printf("\n\nQual o seu último nome?\n\n"); // mensagem que aparecerá para o usuá-
rio digitar o ultimo nome; 
 gets_s(ultnome); // o programa guardará a informação digitada na variável; 
 
 printf("\n\nQual o último número do seu RU?\n\n"); // mensagem que aparecerá para 
o usuário digitar o número do RU; 
 scanf_s("%d", &posicao); // o programa guardará a informação digitada na variável; 
 
 printf("\n\n"); // serve para melhorar a aparência; 
 
 
 for (int i = 0; i < posicao; i++) // laço de repetição para que a posição digitada 
seja maior ou igual a zero; 
 { 
 resposta[i] = prinome[i]; // se a posição digitada for 0, a resposta será mos-
trada a partir da posição 0 (=i), atribuição do resultado ao primeiro; 
 } 
 for (int i = 0; i < strlen(ultnome); i++) // laço de repetição para que a quanti-
dade de caracteres do último nome seja maior que zero; 
 { 
 resposta[posicao + i] = ultnome[i]; // a resposta será armazenada a partir de 
posicao digitada + i e vai ser o sobrenome; 
 } 
 for (int i = 0; i < strlen(prinome); i++) // se a quantidade de caracteres do pri-
meiro nome for maior que zero; 
 { 
 resposta[posicao + i] = ultnome[i]; // a resposta será armazenada a partir de 
posicao digitada + i e vai ser o mesmo que o sobrenome; 
 } 
 
 
 printf("%s\n\n", resposta); // informação que aparecerá para o usuário; 
 
 
 
 
 
 system("\npause"); // informa que o programa deve parar; 
 return 0; // retorno da função principal;

Continue navegando