Buscar

Compilado Linguagem e Técnica de Programação v3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Linguagem e Técnicas de Programação. 
1 – Façamos a avaliação de dois contribuintes. Um obteve renda 
anual de R$ 20.000,00, e o 
outro de R$ 35.000. Caso utilizemos o programa descrito a seguir, 
qual o valor devido, .... 
E)- O imposto devido será R$ 2.000,00 e R$ 7.750,00 
respectivamente. 
2 – O programa a seguir cadastra 5 produtos. Em seguida, imprime 
uma lista com o código e o nome de cada item. Por última consulta o 
preço de um produto por meio de seu código. Para que o programa 
execute corretamente sua função, as linhas 14 e 17 devem ser 
preenchidas com: 
E) scanf(“%id %s %f, &produto[i].codigo, &produtos[i].nome, 
&produtos[i].preco); 
Printf(“\n%id% ////////// produto[i].preco); 
3- Analise a árvore a seguir: 
Assinale a alternativa que apresenta o percurso em pré-ordem: 
E)- 6 2 1 4 3 5 8 7 9 
4- O programa a seguir esta incompleto, pois faltam 3 linhas de 
códigos. O programa recebe 
5 números inteiros, ordena em ordem crescente e imprime o resultado 
Assinale a alternativa com os comandos que completas, 
respectivamente, as linhas 16 17 18. 
C) tmp= valores[i] 
 Valores[i] = valores[j] 
5- Considere o programa a seguir e assinale a alternativa correta: 
A)- Para a entrada 10, a saída será “Elemento do termo 10: 34” 
6 – Um programa faz as seguintes operações: 
I – Lê vários caracteres no teclado, cada caractere lido é colocado 
dentro de uma fila; 
II – Esvazia a fila e coloca cada elemento, um depois do outro, dentro 
de uma pilha. 
III – Esvazia a pilha e imprime cada elemento, um depois do outro. 
Caso sejam introduzidos os valores A B C D E F, quais serão os 
valores impressos no fim? 
A) E D C B A 
7 – Muitas vezes o uso de vetores e matrizes fica limitado pela 
necessidade de sabermos 
antecipadamente a quantidade de elementos que serão necessários... 
E)- Vimos que os vetores são limitados porque desde o começo 
precisamos saber a sua... 
8 – Na estrutura de fila, os acessos aos elementos seguem que quem 
entra é o primeiro que sai (FIFO). Considerando uma estrutura de 
dados tipo fila “f”, inicialmente vazia: 
A)- 5 6 7 8 9 
9 – Dado o seguinte programa: 
Qual alternativa apresenta a saída correta? 
C)- 45 4 9 0 
10 – Observe a árvore a seguir e assinale a alternativa que apresenta 
os nós percorridos para 
buscar o nó 7. 
A ) 6 8 7 
11- Avalie o programa a seguir considerando as entradas 0, 1 e 5. 
Qual será a saída 
apresentada para cada entrada, respectivamente? 
B) – 1 0 2 
12- Para que o programa execute corretamente sua função, as linhas 
14 e 24 devem ser 
preenchidas com: 
D: scanf(“%s”, c[i].nome); 
Printf(“/n Telefone : %s”, c[i].telefone); 
13- Com base na análise do programa, assinale a alternativa correta: 
C)- Quando o valor do ingresso for R$ 15,00, o estudante pagará R$ 
7,50 
14- Desenvolva o teste de mesa para o programa a seguir e assinale 
a alternativa que 
apresenta a saída correta: 
A) 150 
16- A linguagem C não apresenta comandos de entrada e saída. 
Esses comandos são feitos por meio de funções; Existe uma 
biblioteca – padrão, o stdio,h. Sabendo dessas informações, escolha a 
alternativa correta: 
D)- Para o scanf ler um valor e atribuí-lo a uma variável, é necessário 
passar o endereço ... 
17)- Analise o programa a seguir e assinale a alternativa que 
apresente a saída : 
A) 2 5 7 
18) Analise o programa a seguir considerando as entradas 0, 1 e 5. 
Qual sera a saída para cada entrada respectivamente? 
R: A) 1 0 – 14 
19) Analise o algoritmo “expressão” e identifique a saída nas 
alternativas: A, B, C ,D : inteiro, resultado: logico 
D) O resultado é VERDADEIRO 
20) Considere o programa a seguir e assinale a alternativa correta: 
E) Para entrada 6, a saída sera 21. 
21) Observe a árvore a seguir. E assinale a alternativa que apresenta 
o percurso em pós-ordem (pós-fixo). 
R.: A) 1 3 5 4 2 7 9 8 6 
22 - Analise o seguinte programa: 
#include <stdio.h> 
void main() 
{ 
int a=5; 
int b=3; 
b=a++; 
printf("%d %d\n", a, b); 
b=++a; 
b--; 
printf("%d %d\n", a, b); 
} 
Qual alternativa apresenta a saída correta? 
R.: E) 6 5 
 7 6 
23 - Avalie o programa a seguir e assinale a alternativa correta. 
#include <stdio.h> 
void main() 
{ 
int x, y = 1; 
printf("Digite um numero inteiro nao negativo: "); 
scanf ("%d", &x); 
while(x>1) 
{ 
y*=x; 
x--; 
} 
printf("Saida %d", y); 
return 0; 
} 
R.: C) Para a entrada 5, a saída será 120 
 
Questões Discursivas: 
1 – Considere a árvore a seguir que representa uma hierarquia de 
executivos em uma 
empresa. Liste o nome dos executivos, considerando que a árvore vai 
ser percorrida 
seguindo um percurso infixo. 
R. Antonio / João / Ricardo / Henrique / José / Maria / Vanessa / Luis 
2 – Escreva um programa que contenha uma variável do tipo “Vetor 
de caracteres”, com o 
seguinte texto: “Universidade UNIP”. Esse programa deve mostrar o 
conteúdo dessa variável 
na tela (“Universidade”)... 
R #include <stdio.h> 
void linha(char *nome) 
{ if(*nome){ 
linha(nome+1); 
putchar(*nome); 
printf("\n"); 
}} 
int main() 
{ 
linha("Universidade UNIP"); 
return 0; 
} 
3 – Conceitue uma lista ligada e explique o funcionamento da pilha 
(Last In First Out (LIFO)) e da fila (First In First Out (FIFO). 
R. Conceitualmente, uma lista ligada é um conjunto linear de nós, que 
segue 
unidirecionalmente. Cada nó é um conjunto de dados mais um 
ponteiro indicando o endereço 
do elemento seguinte. O último que entra na sequência é o primeiro a 
sair; daí ser conhecido 
como (Last In First Out – LIFO). 
4 – A estrutura de dados mais simples é a lista linear, uma cadeia de 
informações, todas com 
a mesma estrutura, mais correlacionadas. Cada uma dessas 
estruturas é chamada de nó.... 
R. Lista linear é uma estrutura de dados na qual elementos de um 
mesmo tipo de dado estão organizados de maneira sequencial. Não 
necessariamente, estes elementos estão fisicamente em sequência, 
mas a ideia é que exista uma ordem lógica entre eles. Na 
manipulação de listas, precisamos de três operações fundamentais: • 
inclusão; • busca; • remoção. 
5 - A linguagens, em especial a linguagem C, administram a memória 
RAM, o espaço disponível para nossos programas serem executados. 
Com base nessas informações, quais são as diferenças entre 
variáveis dinâmicas e variáveis estatísticas na linguagem C? 
R. Basicamente, existem três maneiras de reservarmos espaço de 
memória para o armazenamento de informações, sem o rigor técnico. 
A primeira maneira é por meio do uso de 
variáveis globais (e estáticas). Nessa categoria de variáveis, o espaço 
reservado para uma variável existirá enquanto o programa estiver 
sendo executado. A segunda maneira é usando 
variáveis locais. Nessa categoria, o espaço na memória existe apenas 
no período em que a função que declarou a variável está sendo 
executada, sendo liberado assim que a execução da 
função terminar. Como consequência, a função que chama não pode 
fazer referência ao espaço local da função chamada. As variáveis 
globais ou as locais podem ser simples ou vetores. Para os vetores, é 
necessário informar o número máximo de elementos, caso 
contrário o compilador não terá a informação sobre o tamanho do 
espaço a ser reservado. A terceira maneira de reservar a memória é 
solicitar ao programa que aloque dinamicamente um espaço na 
memória durante sua execução. Esse espaço permanece reservado 
até que seja liberado explicitamente pelo programa, por meio de 
comando específico. 
 
6 - Variáveis são declarações, portanto fazem parte do 
desenvolvimento de um algoritmo. Descreva, conforme o seu 
conhecimento, o que são variáveis, como funcionam e como são 
utilizadas. 
R.: Variáveis são espaços reservados na memória principal do 
computador em que os dados são armazenados para reutilização 
posterior. A memória do computador se organiza tal qual um armário 
com várias divisões. Sendo cada divisão identificada por um endereço 
diferente em uma linguagem que o computador entende. computador 
armazena os dados nessas divisões, sendo que em cada divisão só é 
possível armazenar um dado e todavez que o computador armazenar 
um dado em uma dessas divisões, o dado que antes estava 
armazenado é eliminado. O conteúdo pode ser alterado, mas somente 
um dado por vez pode ser armazenado naquela divisão. Uma variável 
é composta por dois elementos básicos: o conteúdo e o valor da 
variável e identificador. 
 
7 - Analise a tabela a seguir: Escreva um programa em linguagem C 
que leia uma temperatura em Fahrenheit e a apresente em Celsius e 
Reaumur: 
R.: #include <stdio.h> 
int main(){ 
float f, c, r; 
printf ("Entre com a temperatura em Fahrenheit: "); 
scanf ("%f", &f); 
c = (f-32)*5/9; 
r = (f-32)*4/9; 
printf("A temperatura convertida para Celsius e: %2.2f e para Reaumur 
e: %2.2f", c, r); 
return 0; 
} 
 
8 - Considere o fluxograma apresentado na figura a seguir. Escreva 
um programa em C que faça o que o fluxograma descreve, e 
responda: se N é igual a 5, qual é a saída do programa? 
R.: A saida do programa é 120. 
int main(){ 
int n, i, resp; 
i=1; 
resp=1; 
scanf("%d", &n); 
while(i<=n){ 
resp *= i; 
i++; 
} 
printf("%d", resp); 
return 0; 
} 
 
9 - A sequencia de Fibonacci corresponde a sequencia de números 
F(n) = F(n-1) + F(n-2), com F(0)=0 e F(1): 
0,1,1,2,3,5,8,13,21,34,55,89,144,233... Escreva um programa em C... 
R.: O primeiro número impresso será 21. 
#include <stdio.h> 
int main (void){ 
int aux, num1, num2; 
aux = 0; 
num1 = 0; 
num2 = 1; 
while(num1 < 50000){ 
aux = num1 + num2; 
num1 = num2; 
num2 = aux; 
if(aux % 3 == 0 && aux % 7 == 0) 
printf("%d\n", aux); 
} 
return 0; 
} 
 
10 - O colégio "Esperança" precisa de um programa em linguagem C 
para cadastrar um aluno. Crie esse programa utilizando estrutura de 
dados (struct) que armazene o nome , duas notas e a média do aluno. 
Apresente o cadastro (nome, notas e média) após a entrada de todos 
os dados: 
#include <stdio.h> 
struct esperanca { 
char nome[20]; 
int nota; 
float media; 
}aluno; 
int main (void){ 
int i, soma=0; 
struct esperanca aluno; 
struct esperanca notaAluno[2]; 
struct esperanca mediaAluno; 
printf("Digite o nome do aluno: "); 
scanf ("%s", aluno.nome); 
for(i=1;i<=2;++i){ 
printf("Digite a nota %d do aluno %s: ", i, aluno.nome); 
scanf("%d", &notaAluno[i].nota); 
soma += notaAluno[i].nota; 
} 
mediaAluno.media = soma/2; 
printf("Aluno: %s\n", aluno.nome); 
for(i=1;i<=2;i++){ 
printf("nota %d: %d\n", i, notaAluno[i].nota); 
} 
printf("Media: %.2f", mediaAluno.media); 
return 0; 
} 
11 - Desenvolva um programa em linguagem C para informar o 
período de renovação dos exames da carteira de habilitação. Menores 
de idade não possuem carteira. Até 65 anos, a validade do documento 
expira a cada 5 anos; depois, o exame de renovação deve ser feito a 
cada 3 anos. 
R.: #include <stdio.h> 
int main(){ 
int idade = 0; 
printf("Digite sua idade: "); 
scanf("%d", &idade); 
if (idade > 65){ 
printf("CNH expira a cada 3 anos."); 
}else{ 
if (idade < 18){ 
printf("Menor de idade nao possui CNH."); 
}else{ 
printf("CNH expira a cada 5 anos."); 
} 
} 
return 0; 
} 
 
 
#include <stdio.h> 
#include<stdlib.h> 
 
int func(int n) 
{ 
 if (n==0) 
 return (1); 
 else 
 return (func(n-1)*(n-1)); 
 
} 
 
int main (){ 
 int a, b; 
 printf ("digite um numero inteiro:"); 
 scanf ("%d", &a); 
 b = func (a); 
 printf ("%d \n", b); 
 system ("pause"); 
 return 0; 
} 
 
R: 100

Outros materiais