Prévia do material em texto
CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER ESCOLA SUPERIOR POLITÉCNICA BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO DISCIPLINA DE LINGUAGEM DE PROGRAMAÇÃO ATIVIDADE PRÁTICA ABEL DE SOUZA MASSENA GUIMARÃES – RU: 3158727 NOME PROFESSOR: WINSTON SEN LUN FUNG CATAGUASES– MG 04/04/2020 1 EXERCÍCIO 1 (EXEMPLO) ENUNCIADO: Fazer um programa em linguagem C que receber 3 valores inteiros do usuário e mostra a sua média na tela (que pode não ser inteira). Como dado de entrada, utilize os três últimos valores do seu RU. #include <stdio.h> #include <stdlib.h> int main() { int x, y, z; float media; printf ("RU do aluno: 3158727\n"); printf ("Digite um valor:"); scanf_s ("%d", &x); printf ("Digite um valor:"); scanf_s ("%d", &y); printf ("Digite um valor:"); scanf_s ("%d", &z); media = (x + y + z) / 3; printf ("Resposta: %.2f\n", media); system("pause"); return 0; } Imagem do código funcionando: Exercício 1: Escreva um algoritmo em linguagem C com as seguintes instruções: 1. Declare três variáveis (inteiro, real e char); 2. Declare três ponteiros; 3. Associe as variáveis aos ponteiros; 4. Modifique os valores de cada variável indiretamente usando os ponteiros associados. Para armazenar os valores nas variáveis, armazene na variável char a primeira letra do seu nome, na variável inteira os dois últimos dígitos do seu RU e na variável real os 4 últimos dígitos do seu RU, sendo os 2 últimos os valores com virgula; 5. Imprima na tela os valores das variáveis antes e após a modificação. #include <stdio.h> #include <stdlib.h> int main() { char* letranome, c; int* doisultimos, x; float* quatroultimos, y; letranome = &c; doisultimos = &x; quatroultimos = &y; printf("Digite a primeira letra do seu nome: \n"); scanf_s("%c", &c); printf("Digite os 2 ultimos numeros do seu RU: \n"); scanf_s("%d", &x); printf("Digite os 4 ultimos numeros do seu RU: \n"); scanf_s("%f", &y); printf("Nas linhas abaixo sera impresso na tela sem ponteiros \n"); printf("A primeira letra do seu nome eh: %c \n", c); printf("A conteudo do ponteiro doisultimos eh: %d \n", x); printf("A primeira do ponteiro quatroultimos eh: %.2f \n\n", y); printf("Nas linhas abaixo sera impresso na tela os ponteiros \n"); printf("A conteudo do ponteiro letranome eh: %c \n", *letranome); printf("A conteudo do ponteiro doisultimos eh: %d \n", *doisultimos); printf("A primeira do ponteiro quatroultimos eh: %.2f \n", *quatroultimos); getchar(); system("pause"); return 0; } Exercício 2: Escreva um algoritmo em LINGUAGEM C que armazene na memória o seu RU e o valor 1234567, ambos digitados pelo usuário na tela. #include<stdio.h> #include<stdlib.h> void maior (int* a, int* b); int main () { int ru, ru2, * ponteiro1, * ponteiro2; printf("Digite o Numero do seu RU: "); scanf_s("%d", &ru); printf("Digite o Segundo RU: "); scanf_s("%d", &ru2); ponteiro1 = &ru; ponteiro2 = &ru2; printf("\nSeu RU: %d", *ponteiro1); printf("\nSegundo RU: %d\n", *ponteiro2); maior(&ru, &ru2); printf("\n\n"); system("pause"); return 0; } void maior(int* a, int* b) { if (*a > * b) { printf("\nO Ru de maior valor e: %d", *a); } else { printf("\nO Ru de maior valor e: %d", *b); } } Exercício 3: Faça um algoritmo em linguagem C com as seguintes funcionalidades: • Receba um registro, com dois campos, como dados de entrada. • O primeiro campo é um vetor que vai armazenar o nome do aluno. • O segundo campo é uma variável do tipo inteiro que vai armazenar o RU do aluno. • Imprime na tela os dados armazenados na estrutura. #include <stdio.h> #include <stdlib.h> int main() { printf("Estrutura de Dados\n\n"); struct tao_facil_q_me_Lasquei { char aluno[15]; int numeroRU; }; struct tao_facil_q_me_Lasquei Lasquei; printf("Lendo os dados digitados \n\n"); printf("Digite o nome do aluno: \n"); fgets(Lasquei.aluno, 15, stdin); printf("Digite o seu RU: \n"); scanf_s("%d", &Lasquei.numeroRU); printf("\nImprimindo os Dados da Estrutura \n"); printf("Seu nome eh: %s \n", Lasquei.aluno); printf("Seu nome eh: %d \n", Lasquei.numeroRU); system("pause"); return 0; } Exercício 4: Replique o exercício 3. Porém, agora, declare um ponteiro para a estrutura de dados heterogênea. No momento da leitura dos dados e da impressão na tela, use o ponteiro para buscar o conteúdo dos campos. Imprima na tela também o seu RU na tela. #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { char nome[15]; }cris; typedef struct { int numero; }registroacademico; int main() { cris variavel1; cris* ponteiroA; ponteiroA = &variavel1; printf("Digite seu nome: \n"); fgets(variavel1.nome, 15, stdin); printf("\nSeu nome eh: %s \n\n", (*ponteiroA).nome); registroacademico variavel2; registroacademico* ponteiroB; ponteiroB = &variavel2; printf("Digite o numero do seu RU: \n"); scanf_s("%d", &variavel2.numero); printf("\nseu RU eh: %d \n\n", (*ponteiroB).numero); system("pause"); return 0; } Exercício 5: Faça um algoritmo em linguagem C que contenha dois números inteiros digitados na tela pelo usuário: a. O primeiro número marca um início; b. O segundo número marca um fim; O algoritmo vai contar quantos números existem entre o início (primeira entrada) e o fim (segunda entrada). A impressão na tela do usuário deve ser realizada de duas formas: a. Iterativa; b. Recursiva; Ao colocar no seu relatório uma imagem do seu código funcionando, coloque ele rodando utilizando como valor de início os 2 últimos valores do seu RU e valor final o número 99. #include <stdio.h> #include <stdlib.h> void magicaN(int comeco, int final); int main() { int comeco, final, i; comeco = 27; final = 99; printf("FUNÇÃO ITERATIVA\n"); for (i = comeco; i <= final; i++) { printf("%d", i); } printf("\n\n"); printf("FUNÇÃO RECURSIVA\n"); magicaN(comeco, final); printf("\n\n"); system("pause"); return 0; } void magicaN(int comeco, int final) { if (comeco <= final) { printf("%d", comeco); magicaN(comeco + 1, sfinal); } }