Baixe o app para aproveitar ainda mais
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", ¬aAluno[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
Compartilhar