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 MICHAEL DOUGLAS SANTOS SILVA – RU: 2600252 PROFESSOR: SANDRO DE ARAÚJO OSASCO – SÃO PAULO 2019 1 1 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 Solução do aluno: #include <stdio.h> #include <stdlib.h> int main() { //declaração de variáveis int a = 52; // int para valores inteiros o valor inteiro referente aos dois últimos números das RU do ALUNO MICHAEL RU :2600252 número utilizado é o 52 float b = 02.52; // float para valor real com ponto, valor refere aos quatro últimos números das RU do ALUNO MICHAEL RU :2600252 número utilizado com o ponto 02.52 char c = 'M'; // char para demonstrar um caractere da primeira letra do Michael le- tra – M //declaração de ponteiros int* pA = &a; float* pB = &b; char* pC = &c // impressão das variáveis printf("Endereco a = %p - valor de a = %i\n", pA, *pA); printf("Endereco b = %p - valor de b = %f\n", pB, *pB); printf("Endereco c = %p - valor de c = %c\n", pC, *pC); system("pause"); return 0; } Imagem do código funcionando no seu computador: 2 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. 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 Solução do aluno: #include<stdio.h> #include<stdlib.h>> void maior(int* x, int* y); int main() { int ru, ru2, * p1, * p2;// declaração das variáveis //Declaração e armazenamento das variaveis printf("1-DIGITE SEU RU, E PRECIONE A TECLA ENTER:"); scanf_s("%d", &ru); printf("\n"); printf("2-DIGITE O SEGUNDO RU, E PRECIONE A TECLA ENTER:"); scanf_s("%d", &ru2); //declaração do primeiro ponteiros p1 = &ru; p2 = &ru2; // mensagem impressa na tela com indicação dos ponteiros printf("\n SEU RU: %d", *p1); printf("\n SEGUNDO RU: %d\n", *p2); maior(&ru, &ru2);//retorno da maior variável printf("\n\n\n"); system("pause"); return 0; } void maior(int* x, int* y) //para ter o retorno do ponteiro com mair valor { //if_else para determinar qual vai ser a maior Ru if (*x > * y)//comparaçãp entre os ponteiros { printf("\no mair RU r: %d\n", *x); //indicação se o valor de x é o ponteiro de maior valor } else { printf("\no maior RU e: %d\n", *y);//indicação se o valor de x é o ponteiro de maior valor } //if_else para determinar qual vai ser a maior Ru } Imagem do código funcionando no seu computador: 3 EXERCÍCIO 3 Faça um algoritmo em linguagem C com as seguintes funcionalidades: 1. RECEBA UM REGISTRO, COM DOIS CAMPOS, COMO DADOS DE ENTRADA. 2. O PRIMEIRO CAMPO É UM VETOR QUE VAI ARMAZENAR O NOME DO ALUNO. 3. O SEGUNDO CAMPO É UMA VARIÁVEL DO TIPO INTEIRO QUE VAI ARMAZE- NAR O RU DO ALUNO. 4. IMPRIME NA TELA OS DADOS ARMAZENADOS NA ESTRUTURA. Solução do aluno: #include<stdio.h> #include<stdlib.h>> int main() { //declaração de struct struct cadastroaluno { char nome[20]; int ru; }; struct cadastroaluno aluno; // declaração de variável aluno printf("Digite o nome do aluno :"); fgets(aluno.nome, 20, stdin); // ler valor de teclado digitado pelo usuario refente ao nome printf("\nDigite o RU :"); scanf_s("%d", &aluno.ru); // ler o valor da RU para cadastro // impressão dos resultados printf("\n\nOs dados cadastrados foram: \n"); printf("\nNome do aluno: %s", aluno.nome); printf("\nRU do aluno:%d\n\n", aluno.ru); system("pause"); return 0; } Imagem do código funcionando no seu computador: 4 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. Solução do aluno: #include<stdio.h> #include<stdlib.h>> int main() { //declaração de struct struct cadastroaluno { char nome[20]; int ru; }; typedef struct cadastroaluno aluno; // declaração de variável aluno aluno aux; //inicializa a variavel aluno como aux aluno* a = &aux; // ponteiro que aponta para aux printf("**********Exercicio numero 4********\n\n");//Para diferenciar do Print do exercício número 3 printf("Digite o nome do aluno :"); fgets(a->nome, 20, stdin); // ler valor de teclado digitado pelo usuario printf("\nDigite o RU :"); scanf_s("%d", &a->ru); // ler o valor da RU para cadastro // impressão dos resultados printf("\n\nOs dados cadastrados foram: \n"); printf("\nNome do aluno: %s", a->nome); printf("\nRU do aluno:%d\n\n\n", a->ru); system("pause"); return 0; } Imagem do código funcionando no seu computador:
Compartilhar