Buscar

Linguagem de programação 202 Discursiva

Prévia do material em texto

Questão - Linguagem de Programação 
Na disciplina de linguagem de programação você aprendeu sobre ponteiros e endereços de 
memórias. 
Explique com as suas palavras os seguintes conceitos: 
a) Para que serve os endereços de memória de um programa? 
b) O que é uma variâvel ponteiro em programação? Que tipo de informação ela armazena? 
c) Como acessar, em linguagem C, o conteúdo para qual um ponteiro aponta? 
d) Como acessar, em linguagem C, o endereço de uma variâvel do tipo ponteiro? 
a) Endereços de memôria servem para Klent1ficar a localização de uma variável na memôria do programa 
b) Uma variável ponteiro é uma variável que armazena, em seu conteúdo, um endereço. Este endereço serve 
corresponde ao endereço de outra variável na memôna. Assim, dizemos que um ponteiro aponta para outra variável na 
memória 
c) Para acessar o conteúdo, usamos o operador indireto asterisco C) 
d) Para acessar o endereço usamos o operador de endereços & 
Questão - Linguagem de Programação 
Observe o código abaixo em linguagem C. 
O código abaixo calcula o n-ésimo termo de uma série de Fibonacci empregando uma função 
iterativa. 
#incfude <stdio.h> 
#incfude <stdfib.h> 
int fib(intn); 
int main() { 
intn; 
int result; 
printf(Digite um valor inteiro para calcular a sequencia de Fibonacci. \n·J; 
scanf_sC-%d•, &n); 
resuff = fib(n); 
printWO ultimo valor eh: %cf\n•, resuff); 
systemC-pause•J; 
retum O; 
} 
int nb(int n) 
{ 
int i, fíb1 = 1, fíb2 = 1, soma; 
for (i = 3; i <= n; i = i + 1) 
{ 
soma= fíb1 + fíb2; 
fíb1 = fíb2; 
fíb2 = soma; 
} 
retum fib2; 
} 
Refaça o algoritmo acima para que ele encontre o n-ésimo termo utilizando uma função recursiva ao 
invés de utilizar uma função iterativa. 
Resposta: 
#include <stdio.h> 
#include <stdlib.h> 
int fib(int n) 
{ 
if(n == 1) return 1; 
else 
if(n == 2) return 1; 
else return fib(n - 1) + fib(n - 2) 
} 
int main(void) 
{ 
int n; 
scanf_sro/od", &n); 
printWo/od\n", fib(n)); 
systemrpause") 
return O; 
} 
Questão - Linguagem de Programação 
Considere um algoritmo com as seguintes etapas: 
1. Receba uma variável inteira na tela (variável x); 
2. Imprime na tela o valor de x utilizando um ponteiro (variável px); 
3. Imprima o endereço da variável px na tela; 
Observe o algoritmo abaixo e preencha as instruções faltantes nas linhas 8, 9 e 10. 
1. #incfude <stdio.h> 
2. #inctude <stdfib.h> 
3. intmain() 
4. { 
5
. 
int x, "px; 
6. printf("Digite o valor de um numero: \n"); 
7 . scanf_s("%d", &x); 
8. ___________ __ 
9. ____________ _ 
10. ____________ _ 
11. return O; 
12.) 
Gabarito
8 px=&x
; 
9 printf(Valor digtado: %d \n", *px); 
10 printtrEndereço da variavel x: %p \n", &px);

Continue navegando