Prévia do material em texto
CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER ESCOLA SUPERIOR POLITÉCNICA ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA DE LINGUAGEM DE PROGRAMAÇÃO ATIVIDADE PRÁTICA NOEL DE SOUZA PINTO JUNIOR – RU: 3173803 SANDRO DE ARAUJO COLOMBO – PARANÁ 2020 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 ponteirosassociados. Para armazenar os valores nas variáveis, armazene na 5. 6. ú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> #include <locale.h> int main(){ // declaração das variaveis e ponteiros int x = 03,*pont; float y = 38.03, *pont2; char c = 'N',*pont3; setlocale(LC_ALL, "Portuguese");// faz a acentuação para a lingua portuguesa BR //associando as variaveis aos ponteiros pont = &x; pont2 = &y; pont3 = &c; printf ("\n********************************************\n"); printf ("CHAMADA PELO PONTEIRO ANTES DA MODIFICAÇÃO"); printf("\n*********************************************\n"); printf ("\nO resultado de x chamando do ponteiro é : %d \n",*pont); printf ("\nO resultado de y chamando do ponteiro é : %.2f\n ",*pont2); printf ("\nO resultado de c chamando do ponteiro é : %c \n\n",*pont3); //valores modificados *pont = 14; *pont2 = 39.04; *pont3 = 'J'; printf ("\n********************************************\n"); printf ("CHAMADA PELO PONTEIRO DEPOIS DA MODIFICAÇÃO"); printf("\n*********************************************\n"); printf ("\nO resultado de x chamando do ponteiro é : %d \n",*pont); printf ("\nO resultado de y chamando do ponteiro é : %.2f \n",*pont2); printf ("\nO resultado de c chamando do ponteiro é : %c \n\n\n",*pont3); system ("pause"); return 0; } Imagem do Código compilado no meu computador: Exercício 2 Escreva um algoritmoem LINGUAGEM Cque armazene na memória o seuRUe o valor 1234567, ambos digitados pelo usuáriona tela. Em seguida, imprimana tela ambosRU usando ponteiros. O algoritmo também vai ter que comparar os dois RUusando ponteiros e imprimir na tela qual é o maior. Solução do aluno: #include <stdlib.h> #include <stdio.h> int main (){ int RU; int numero; printf ("Digite seu RU : "); scanf ("%i",&RU); printf ("Digite o Numero Aleatorio 1234567 : "); scanf ("%i",&numero); if (RU >= numero){ printf ("\n\nSeu RU e maior que o numero digitado \n\n"); }else{ printf ("\n\nO numero Aleatorio é maior que seu RU \n\n"); } system ("pause"); return 0; } Imagem do Código compilado no meu computador: Exercício 3 Faça um algoritmo em linguagem C com as seguintes funcionalidades: a. Recebaum registro, com dois campos, como dados de entrada. b. O primeiro campoé um vetor que vai armazenar o nome do aluno. c. O segundo campoé uma variável do tipo inteiro que vai armazenar o RU do aluno. Imprime na tela os dados armazenados na estrutura. Solução do aluno: #include <stdio.h> #include <stdlib.h> #include <locale.h> /* Exercício 3: Faça um algoritmo em linguagem C com as seguintes funcionalidades: Recebaum 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*/ int main (){ // delcarando as variaveis e vetores necessarios char aluno [50]; int ru_aluno; setlocale(LC_ALL, "Portuguese"); // Utilizando para acentuação lingua portuguesa // requisitando entradas ao usuario printf ("\nDigite seu nome : "); scanf ("%s",&aluno); printf ("\nAgora digite a RU que pertencé a você : "); scanf ("%i",&ru_aluno); // printando o resultado na tela para o usuario printf ("\n********************************************\n"); printf (" O Resultado e "); printf ("\n********************************************\n"); printf (" \nSeu nome e ---> %s \n", aluno); printf (" \nSeu RU é ---> %i \n" ,ru_aluno); printf ("\n********************************************\n"); system ("pause"); return 0; } Imagem do Código compilado no meu computador: Exercício 4 Replique oexercício 3.Porém, agora, declare um ponteiro para aestruturade 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> #include <locale.h> int main (){ // delcarando as variaveis e vetores necessarios char aluno [50]; int ru_aluno; setlocale(LC_ALL, "Portuguese"); // Utilizando para acentuação lingua portuguesa //estrutura declarando as variaveis necessarias struct ficha_alunos { char aluno [50]; int ru_aluno; }; struct ficha_alunos alun, *pt; pt = &alun; // requisitando entradas ao usuario printf ("\nDigite seu nome : "); scanf ("%s",&(*pt).aluno); printf ("\nAgora digite a RU que pertencé a você : "); scanf ("%i",&(*pt).ru_aluno); // printando o resultado na tela para o usuario printf ("\n********************************************\n"); printf (" O Resultado e "); printf ("\n********************************************\n"); printf (" \nSeu nome e ---> %s \n", (*pt).aluno); printf (" \nSeu RU é ---> %i \n" ,(*pt).ru_aluno); printf ("\n********************************************\n"); system ("pause"); return 0; } Imagem do Código compilado no meu computador: Exercício 5 Faça um algoritmo emlinguagem Cque contenha dois números inteirosdigitados na tela pelo usuário: a.O primeiro número marca uminício;b.O segundo número marca umfim; O algoritmo vai contar quantosnú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. Solução do aluno: #include<stdio.h> #include<stdlib.h> int impressao (int inicio, int fim); int main() { int inicio, fim, i; printf("Digite o primeiro numero:"); scanf("%d", &inicio); fflush(stdin); printf("Digite o segundo numero:"); scanf("%d", &fim); fflush(stdin); printf("FUNCAO ITERATIVA\n"); for (i = inicio; i <= fim; i++) { printf("%d ", i); } printf("\n\n"); printf("FUNCAO RECURSIVA\n"); impressao(inicio, fim); printf("\n\n"); system("PAUSE"); return 0; } int impressao(int inicio, int fim) { if(inicio <= fim) { printf("%d ", inicio); impressao(inicio+1 , fim); } } Imagem do Código compilado no meu computador: