Baixe o app para aproveitar ainda mais
Prévia do material em texto
CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER ESCOLA SUPERIOR POLITÉCNICA BACHARELADO EM ENGENHARIA ELETRICA. DISCIPLINA DE LÓGICA DE PROGRAMAÇÃO E ALGORITMOS ATIVIDADE PRÁTICA ALAN CRISTIAN DE QUADROS – RU: 2479336 PROFESSOR VINICIUS BORIN PALMEIRA DAS MISSÕES – RS 2019 1 Exercício 1 Faça um algoritmo em linguagem C que recebe como entrada dois valores reais (X e Y) e um símbolo de operação matemática via teclado do usuário (+, -, / ou *). O programa deverá retornar o resultado da operação recebida sobre estes dois números. Deve ser permitido que o usuário faça cálculos com valores nega- tivos e positivos. Também, tome cuidado com a possibilidade de uma divisão por zero. Caso o usuário tente dividir por zero, seu programa deve tratar este problema de alguma maneira. Imprima na tela um teste do seu programa utilizando os dois últimos valores de seu RU da UNINTER como os dois valores de entrada, cada valor do seu RU será um dos valores de entrada X e Y. Por exemplo, se seu RU for 1234567, faça X = 6, Y = 7. #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { float x, y; // float pois agloba numeros int e decimais assim podendo fazer contas com numeros decimais, x e y sao variaveis de entrada char op; // usado para salvar uma cadeia de caracteres;;;; int c; printf("digite o valor x :\n");//escreva um valor para o calculo scanf_s("%f", &x);//leia o valor x escrito while ((c=getchar()) != '\n' && c != EOF ) {} printf("digite o valor y:\n ");//escreva outro valor para operaçao scanf_s("%f", &y);//leia o valor y escrito while ((c = getchar()) != '\n' && c != EOF) {} printf("escolha a operacao=>+,-,*,/:\n ");//escolha a operaçao que deseja fazer scanf_s("%c", &op);//leia a operaçao desejada while ((c = getchar()) != '\n' && c != EOF) {}//limpeza de bufer teclado switch (op)//escolha do operador { case '+':// se a operaçao for + entao: printf("resultado= %f ", x + y); getchar();// le o caractere e retorna a um valor return(0);// retorno case '-'://se a operaçao for - entao: printf("resutaldo= %f ", x - y);//escreva resultado:x-y getchar();// le o caractere e retorna a um valor return(0);//retorno case '*'://se a operaçao for * entao: printf("resutaldo= %f ", x * y);//escreva resultado:x*y getchar();// le o caractere e retorna a um valor return(0);//retorno case '/'://se a operaçao for / entao: printf("resutaldo= %f ", x / y);//escreva resultado:x/y getchar();// le o caractere e retorna a um valor return(0);//retorno case'x==0'://se x=o entao: printf("resultado=%f", 0);//escreva resultado:0 getchar();// le o caractere e retorna a um valor return(0);//retorno case'y==0'://se y=0 entao: printf("resultado=%f", 0);//escreva resultado:0 getchar();// le o caractere e retorna a um valor return(0);//retorno default:// caso nao seja nenhum dos casos acima entao: printf("não existe essa operacao");//escreva: nao existe essa operaçao getchar();// le o caractere e retorna a um valor return(0);//retorno } system("pause");//pause no sintema return(0);//retorno } RU:2479336 x=3 || y=6. Imagem do código funcionando no seu computador: Exercício 2: Você está organizando um bolão de futebol. Segundo suas regras, os apostadores informam o placar do jogo e ganham 10 pontos se acertarem o vencedor ou se acertarem que foi empate, e ganham mais 5 pontos para o placar de cada time que acertarem. A tabela a seguir dá um exemplo, considerando que o placar real de um jogo foi 3x2. Faça um algoritmo em linguagem C que leia como dado de entrada o placar real de um jogo e 5 apostas de jogadores para aquele jogo. Para cada aposta, deve-se ler o nome do apostador e o valor que ele apostou. Para cada aposta, calcule os pontos de cada jogador. Ao final do programa, liste na tela o nome de cada apos- tador e quantos pontos cada um obteve. Imprima na tela um teste do seu programa utilizando os dois últimos valores de seu RU da UNINTER como o placar real do jogo. Por exemplo, se seu RU for 1234567, faça com que o placar real do jogo seja 6x7. Exercício 3: Fazer um algoritmo em linguagem C no qual o usuário vai digitando sucessivamente valores positivos e sal- vando estes valores em um vetor de dados. Quando o usu- ário entrar com um valor negativo, o programa deve parar de pedir valores e calcular a média dos valores já forne- cidos (excluindo o valor negativo digitado). Para calcular a média, crie uma função que recebe como parâmetro o vetor de dados e retorna para a função principal a média. Imprima a média na tela usando a função principal. #include<stdio.h> #include<stdlib.h> int main(void)//entrada { int cont,numero,soma;//numeros inteiros. float media;//numeros decimais. cont = 0;//contador valor de entrada 0. soma = 0;//contador de soma valor de entrada 0. printf("utilize 0 para o primeiro valor,pois sera desconsiderado do cal- culo!!!!!\n\n\n");// instruçao do algoritmo. printf("digite um valor par para a soma da media digite um valor negativo para fa- zer a media:\n\n");//digite valor de entrada para soma. scanf_s("%d", &numero);//leia valor de entrada e salve em numero. while (numero >= 0)// enquanto numero maior ou igual a 0 repita as instruçoes. { if(numero >= 0)// se numero for maior ou igual a zero. printf("digite um valor par para a soma da media ou digite um valor negativo para fazer a media:\n ");//digite um numero. scanf_s("%d", &numero);//salve numero em numero. cont = cont + 1;//cont faz a contagem de loops, contador = contador + 1. if (numero >= 0)// se numero for maior ou igual a 0. soma = soma + numero;// soma e igual a soma mais numero. else(numero < 0);// senao.Quando numero for menor que 0 { soma = soma;// entao soma e igual a soma, para nao somar valor nega- tivo. } } printf("a soma e %d\n\n", soma+numero+1);//escreva a soma e soma mais numero, ex- pressao de saida. printf("total de loops e:%d\n\n", cont-1);// para saida de loops. media = float (soma+numero+1) / float (cont-1);// expressao boleana para saida de dados; media.utilizado float apenas nesta expressao. printf("a media e:%f\n\n", media);// escreva a media; system("pause");//sistema pausado return (0);//retorno a funcao int main. } Exercício 4: Faça um algoritmo em linguagem C com as seguintes funcionalidades: • Receba uma matriz como dado de entrada. A dimensão da matriz deve ser de 3x5 (3 linhas e 5 colunas); • Imprimir a matriz na tela, de uma forma legível; • Encontre a matriz transposta e imprima-a na tela, de forma legível; • Imprima na tela novamente a matriz transposta, mas agora multiplicando so- mente a diagonal principal pelos últimos dois números do seu RU da UNINTER; #include <stdio.h> #include <stdlib.h> int main() { int i, j, c,t,n,a, m[3][5];//variaveis de entrada t = 0;//variavel t valor inivial printf("Digite os valores da tabela[3]x[5]:\n\n");//captura os elementosfor (i = 0; i < 3; i++)//para i < 3 faça for (j = 0; j < 5; j++) //para j < 5 faça { printf("Elemento[%d][%d]= ", i, j);// dados de entrada scanf_s("%d", &m[i][j]);//salve dados } while ((c = getchar()) != '\n' && c != EOF) {}//limpeza de bufer teclado //Exibir Valores Tabela printf("\n::: Tabela :::\n\n"); for (i = 0; i < 3; i++)//se i=0,i<3, i +1, entao faça, laço de repetiçao { for (j = 0; j < 5; j++)//se j=0,j<5, j +1, entao faça, laço de repetiçao printf("%d ", m[i][j]);//escreva atabela com os valores digitados pelo usuario printf("\n\n");//dois espaços de linha } printf("::::matriz transposta:::::\n\n"); for (i = 0; i < 5; i++)// laço de repetiçao for com valores inversos i <-> j, com relaçao ao laço tabela { for (j = 0; j < 3; j++)//laço de repetiçao printf("%d ", m[j][i]);//imprima a tabela com valores de i e j in- vertidos printf("\n\n");//espaços } printf(":::::Adiagonal principal da matriz transposta é:::::\n"); printf("[%d] [%d] [%d]\n\n", m[0][0], m[1][2], m[2][4]);//escreva a dia- gonal principal da matriz [5][3] printf("\n\n"); t = m[0][0] * 36;// multiplicaçao da diagonal pelos dois ultimos numeros do ru n = m[1][2] * 36;// multiplicaçao da diagonal pelos dois ultimos numeros do ru a = m[2][4] * 36;// multiplicaçao da diagonal pelos dois ultimos numeros do ru printf("::::A multiplicaçao da diagonal principal pelo Ru:24793-36 É:::: %d,%d,%d\n\n", t,n,a);//resultado da multiplicaçao system("pause");//sistema pause return 0;//retorno a funçao principal int main }
Compartilhar