Buscar

Compilado Linguagem e Técnicas de Programação

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

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 toda vez que o computador armazenar um dado em uma dessas divisões, o dado queantes 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; 
}

Outros materiais