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 DA COMPUTAÇÃO DISCIPLINA DE LINGUAGEM DE PROGRAMAÇÃO ATIVIDADE PRÁTICA NOME ALUNO ADAM´S THIERRY SANTOS BRANDÃO– RU: 2377902 NOME PROFESSOR: WINSTON SEN LUN FUNG POÇOS DE CALDAS – MINAS GERAIS 2019 EXERCICIO 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> #include<math.h> void Pont_zero(int* num1, double* num2, char* num3) { printf("antes da aplicacao do Algoritimo\n");// mostrando dados a serem analisados antes da aplicação printf("valor x = 0\n", *num1); printf("valor y = 0\n", *num2); printf("valor z = %c\n\n", *num3); // dados a serem mostrados após a aplicação *num1 = 02; *num2 = 79.02; *num3 = 'A'; } //relacionando ponteiros int main() { int x; double y; char z = '0'; int* pX = &x; double* pY = &y; char* pZ = &z; // resultado final após a aplicação Pont_zero(pX, pY, pZ); printf("Apos da aplicação do Algoritimo\n"); printf("valor x = %d\n", x); printf("valor y = %.2f\n", y); printf("valor z = %c\n\n\n", z); printf("aluno\n"); printf("RU 2377902\n"); getchar(); return 0; } EXERCICIO 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. Em seguida, imprima na tela ambos RU usando ponteiros. O algoritmo também vai ter que comparar os dois RU usando ponteiros e imprimir na tela qual é o maior. #include<stdio.h> #include<stdlib.h> #include<math.h> void maior(int* a, int* b); int main() { int ru, va, * ponteiro1, * ponteiro2; printf("Digite o numero do seu RU:"); scanf_s("%d", &ru); printf("Digite o valor de referencia:"); scanf_s("%d", &va); ponteiro1 = &ru; ponteiro2 = &va; printf("\nSeu RU: %d", *ponteiro1); printf("\nValor de Referencia: %d\n", *ponteiro2); maior(&ru, &va); printf("\n\n"); system("pause"); return 0; } void maior(int* a, int* b) { if (*a > * b) { printf("\nO RU possui valor maior: %d", *a); } else if (*a < *b) { printf("\nO Valor de Referencia possuir maior valor: %d", *b); } else { printf("\nOs Valores sao iguais"); } } Exercicio 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> #include<math.h> int main() { struct dados_do_aluno { char nome[30]; int ru; }; struct dados_do_aluno aluno; printf("digite o nome do aluno :"); fflush(stdin); fgets(aluno.nome, 30, stdin); printf("\nDigite o RU :"); scanf_s("%d", &aluno.ru); printf("\n\nApresentacao de Dados\n"); printf("\nNome do aluno : %s", aluno.nome); printf("\nRU do aluno:%d", aluno.ru); printf("\n\n"); 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<math.h> int main(void) { struct dados_do_aluno { char* nome; int ru; }; typedef struct dados_do_aluno aluno; aluno a1; aluno* a = &a1; a->nome = (char*)malloc(sizeof(char) * 60); printf("Digite o nome do Aluno: "); fgets(a->nome, 60, stdin); printf("Digite o RU do aluno: "); scanf_s("%d", &a->ru); printf("\nApresentacao de Dados\n"); printf("Nome do aluno: %sRU do aluno: %d\n", a->nome, a->ru); printf("\n\n"); 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 inicio os 2 últimos valores do seu RU e valor final o número 99. #include<stdio.h> #include<stdlib.h> #include<math.h> int impressao(int inicio, int fim); int main() { int inicio, fim, i; printf("digite o primeiro valor:"); scanf_s("%d", &inicio); printf("digite o segundo valor"); scanf_s("%d", &fim); printf("\nForma Interativa\n"); for (i = inicio; i <= fim; i++) { printf("%d", i); } printf("\n"); printf("Forma Recursiva"); impressao(inicio, fim); if (inicio < fim) { printf("%d", inicio); impressao(inicio + 1, fim); } printf("\n\n"); system("pause"); return 0; } int impressao(int inicio, int fim) { if (inicio <= fim) { printf("%d", inicio); impressao(inicio + 1, fim); } return 0; }
Compartilhar