Buscar

TRABALHO DE LONGARITMO

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 
}

Continue navegando

Outros materiais