Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
Função de cada
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.
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
2– O programa a seguir cadastra 5 produtos. Em seguida,
imprime uma lista com o código e o nome de cada item. Por
ultimo consulta o preço de um produto por meio de seu
código.
E) scanf(“%id %s %f”, &produtos[i].codigo,
&produtos[i].nome, &produto[i].preco);
Printf(“\n%id\t%s R$%1.2f’,
produtos[i].codigo,produtos[i].nome, produtos[i].preco);
Para que o programa execute corretamente sua função, as
linhas 14 e 17 devem ser preenchidas com:
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
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 está incompleto, pois faltam 3 linhas
de código. O programa recebe 5 números inteiros, ordena
em ordem crescente e imprime o resultado.
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
Assinale a alternativa com os comandos que completas,
respectivamente, as linhas 16,17 e 18.
C)
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”
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
6- Analise o algoritmo “expressão” e identifique a saída nas
alternativas...
D) O resultado é verdadeiro
7- Considere o programa a seguir e assinale a alternativa
correta
E) Para a entrada 6, a saída será 21
8– 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.
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
Caso sejam introduzidos os valores A B C D E , quais serão
os valores impressos no fim?
A) E D C B A
5- Cada procedimento que fazemos em qualquer
momento...
E) Algoritmoé a descrição de uma sequência de passos que
deve ser seguida para a realização de uma tarefa. Algoritmo
é a descrição de um conjunto de comandos que,
obedecidos, resultam numa sucessão finita de ações
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
7- O programa a seguir executa o cadastro de 5 pessoas,
destacando nome, endereço e telefone. Em seguida,
apresenta-se todo o cadastro.
R: scanf("%s", &c[i].nome); printf("\nTelefone: %s",
c[i].telefone);
9– Muitas vezes o uso de vetores e matrizes fica limitado
pela necessidade de sabermos antecipadamente a
quantidade de elementos que serão necessários. Segundo
as informações descritas, escolha a alternativa correta:
E) Vimos que os vetores são limitados porque desde o
começo precisamos saber a sua dimensão, e tivemos como
solução o uso da alocação dinâmica da memória, para casos
em que, a cada execução do programa, as suas dimensões
possam mudar.
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
10– Na estrutura de fila, os acessos aos elementos seguem
uma regra fixa. Na fila, o primeiro que entra é o primeiro que
sai (FIFO...). A ideia fundamental da fila é que só podemos
inserir um novo elemento no fim da fila e só podemos retirar
aquele que está no início da fila. São definidos os comandos:
● Entra (p): insere um elemento no fim da fila
● Sai (p, n): retira um elemento do início da fila
● E) 4 5 6 7 8 9
Sequencia de Fibonacci
#include <stdio.h>
#include <stdlib.h>
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
int main(void)
int num, f0 = 0, f1=1, f2;
while(f1 < 50000){
f2 = f1 + f0;
f0 = f1;
f1 = f2;
if(f2%3==0 && f2%7==0)
printf("%d \n", f2);
getchar();
//system("cls");
main();
11- A linguagem C pertence a uma família de linguagens
cujas características são: portabilidade, modularidade,
compilação separada... Com base nessas informações,
escolha a afirmativa correta:
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
D) Funções são os subprogramas em C, que, por sua vez,
são chamados por outras funções executando tarefas
específicas. Há funções básicas que estão definidas nas
bibliotecas-padrão da linguagem, e outras que são
desenvolvidas por terceiros, com rotinas mais específicas.
2- Estrutura de dados podem manipular tipos básicos de
dados. Conforme a descrição, escolha a alternativa correta:
B) Um registro é uma estrutura de dados que agrupa
dados....
4- Analise o programa a seguir e assinale a alternativa
correta:
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
R: E) Para a entrada 9, o valor de p será 21 e o de i será 26
#include <stdio.h>
#include <time.h>
int main ()
{
int n, count, p =1, i= 1;
printf("Digite um numero inteiro positivo: ");
scanf("%d", &n);
for(count = 1; count <= n; count++){
if(count % 2 == 0)
p += count;
else
i += count;
}
printf("\nValor p: %d\n", p);
printf("\nValor R: %d\n", i);
main();
}
2- Para a entrada...
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
R: E) Para a entrada 9, o valor de p será 21 e o de i será 26
Para entrada de 0,1 e 5 sai: B) 1 0 2
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char func(int n){
if(n == 0)
return (1);
else{
return (n - func(n - 1));
}
}
int main()
{
int a, b;
printf("Digite um valor inteiro: ");
scanf("%d", &a);
b = func(a);
printf("%d \n", b);
main();
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
12– Dado o seguinte programa:
Qual alternativa apresenta a saída correta?
C) 45 4 9 0
13– Observe a árvore a seguir e assinale a alternativa que
apresenta os nós percorridos para buscar o nó 7.
A) 6 8 7
14- Analise 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
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
15- 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);
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
16- 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
17- Desenvolva o teste de mesa para o programa a seguir e
assinale a alternativa que apresenta a saída correta:
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
A) 150
18- Analise o programa a seguir considerando as entradas
0, 1 e 5. Qual será a saída apresentada para cada entrada,
respectivamente:
A) 1 0 -14
19- A linguagem C não apresenta comandos de entrada e
saída. Esses comandos são feitos por meio de funções;
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
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 ...
20- Analise o programa a seguir e assinale a alternativa que
apresente a saída:
A) 2 5 7
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
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
22- Analise o seguinte programa:
#include <stdio.h>
void main()
{ rc
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?
E) 6 5
76
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
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
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
8- Uma
locadora
de
carros
tem uma
regra
para
aluguel, a qual está apresentada no programa a seguir:
A) O preço de QUARTA para LANÇAMENTO e de R$72,00
24- A Pilha segue a regra de inclusão: o último que entra na
sequência é o primeiro a sair, e por isso ele é conhecido
como (Last In First Out – LIFO) São definidos os comandos:
● POP (p): retira o elemento no topo da pilha;
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
● PUSH (p, n): insere um número “n” em uma estrutura
de dados do tipo pilha “p”.
Considerando uma estrutura de dados tipo pilha "p",
inicialmente vazia, executa-se:
Depois da execução dos comandos, é preciso saber: qual
será o elemento do TOPO da pilha e qual é o valor da soma
de todos os elementos restantes nesta pilha,
respectivamente?
D) 6 e 12
25- Segundo os fundamentos relacionados a pseudocódigo,
e a construção de algorítimo, escolha a alternativa correta:
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
B) Podemos classificar os tipos de informações a serem
processadas pelo computador, de modo geral em dados e
instruções. Os dados são as informações a serem
processadas, e as instruções são os comandos que
orientam o processamento feito por um computador.
26- Considerando o algoritmo “salário” assinale a
alternativa correta:
D) Quando o salário bruto for R$ 1.920,00 o salário líquido
será R$ 1.660,80
27- Avalie o seguinte programa:
#incude <stdio.h> void
main()
int
a=9;
int
b=3;
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
intc;
c=b; 3
b=2; 2
printf(“%d %d\n”,a,b); 9, 12
a=b++;
printf(“%d %d\n”,a,b);
}
Assinale a alternativa que apresenta a saída correta:
E) 9 2
23
28- Avalie o programa a seguir considerando as entradas O,
1 e 5. Qual será a saída apresentada para cada entrada,
respectivamente?
B) 1 0 2
29- Avalie a árvore a seguir:
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
Assinale a alternativa que apresenta o percurso em
ordem.
B) 1 2 3 4 5 6 7 8 9
4- A empresa “Fantasia” desenvolveu o algoritmo
apresentado a seguir para calcular alguns valores da
folha de pagamento.
30- Com base no programa a seguir, considere as
entradas 0, 1 e 5. Qual será a saída apresentada para
cada entrada respectivamente?
C) 1 0 0
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
31- Uma vez implementada uma função de inserção, outra
função importante é a remoção de um nó. Pilha pode ser
conceituada como: o último que entra na sequência é o
primeiro a sair. Com base nas informações citadas, escolha
a alternativa correta:
D) Na pilha, devemos implementar duas operações básicas
a operação para empilhar um novo elemento inserindo-o no
topo, e a operação para desempilhar um elemento,
removendo-o do topo
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
Resp.: C
33- São muito comuns, durante um processo de um
programa situações em que possam existir a necessidade
de repetir um determinado conjunto de comandos por um
certo número de vezes. Com base nessas informações,
escolha a alternativa correta:
R: B) Laços contados: quando se conhece previamente
quantas vezes o comando composto no interior da
construção será executado.
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
Questões Discursivas:
1- A construção de listas ligadas em C requer a utilização de
estruturas. Escreva um trecho de um programa em C que
contenha uma struct para armazenar o nó... O trecho de
código deve conter também uma definição de um tipo
chamado “No” baseado nessa struct.
struct no
{
char identificador[64];
int num;
float var;
struct no *prox;
}
typedef struct no No;
7- O programa a seguir executa o cadastro de 5 pessoas,
destacando nome, endereço e telefone. Em seguida,
apresenta-se todo o cadastro.
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
R: scanf("%s", &c[i].nome); printf("\nTelefone: %s",
c[i].telefone);
1- Crie um algoritmo em pseudocódigo que leia dois valores
inteiros para as variáveis A e B. Então, efetue a troca dos
valores de forma que a variável A passa a ter o valor da
variável B e que a variável B passe a ter o valor da variável
A. Por fim, apresente os valores trocados.
algoritmo “Troca”
var
A, B, Temp: Inteiro
Inicio
escreva(“Entre com um número inteiro: ”)
leia (A)
escreva(“Entre com um número inteiro: ”)
leia (B)
Temp = A
A=B
B = Temp
escreva(“O valor de A é ”, A)
escreva(“O valor de B é ”, B)
fimalgoritmo
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
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
R.: #include <stdio.h>
int main(){
float f, c, r;
printf ("\nEntre com a temperatura em Fahrenheit: ");
scanf ("%f", &f);
c = (f-32)*5/9;
r = (f-32)*4/9;
printf("\nFahrenheit para Celsius eh: %2.2f \ne \nFahrenheit
para Reaumur eh: %2.2f \n\n", c, r);
main();
}
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 UNIP”), mas deve
mostrar apenas com um caractere em cada linha. Além disso, o programa deve
utilizar uma função recursiva para percorrer o vetor de caracteres não podendo
utilizar nenhum tipo de loop. O texto é fixo, o usuário não deve digitar nenhuma
entrada.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char linha(char nome[25], int i){
if(i == strlen(nome))
return 0;
else{
printf("%c\n", nome[i]);
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
i++;
return (i + (linha(nome, i)));
}
}
int main()
{
char nome[25];
int i;
strcpy(nome, "Unip Interativa");
linha(nome, i);
system("pause");
}char linha(char nome[25], int i){
if(i == strlen(nome))
return 0;
else{
printf("%c\n", nome[i]);
i++;
return (i + (linha(nome, i)));
}
}
int main()
{
char nome[25];
int i;
strcpy(nome, "Unip Interativa");
linha(nome, i);
system("pause");
}
2-Faça um programa em linguagem C que receba um
número inteiro e apresente o seu fatorial (5! = 1 * 2 * 3 * 4 *
5 = 120). Crie uma função recursiva para resolver o
problema.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char fat(int n){
if(n == 0)
return (1);
else{
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
return (n * (fat(n - 1)));
}
}
int main()
{
int a, b;
printf("\nDigite um valor inteiro: ");
scanf("%d", &a);
b = fat(a);
printf("\n%d \n", b);
main();
}
31- Escreva um fragmento de programa em C que contenha:
- Uma estrutura de uma árvore binária que armazene um número
inteiro e um número flutuante em cada n´, bem como ponteiros para
duas sub-árvores;
struct arv {
int info;
float a;
struct arv* sae;
struct arv* sad;
};
typedef struct arv Avr;
- Uma função que crie esses nós
Arv* cria(int c, float d, Arv* sae, Arv* sad){
Arv* p=(Arv*)malloc(sizeof(Arv));
p->info = c;
p->a = d;
p->sae = sae;
p->sad = sad;
return p;
}
30- Desenvolva um programa em linguagem C que calcule
o produto de dois números inteiros fornecidos pelo usuário.
Utilize apenas a operação adição.
#include <stdio.h>
int main(){
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
int num1, num2, resultado = 0;
printf("Digite o primeiro numero inteiro: ");
scanf("%d", &num1);
printf("Digite o segundo numero inteiro: ");
scanf("%d", &num2);
while(num1 > 0){
resultado = resultado + num2;
num1--;
}
printf("O produto dos numeros = %d", resultado);
return 0;
}
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 UNIP”), mas deve mostrar
apenas com um caractere em cada linha. Além disso, o
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
programa deve utilizar uma função recursiva para percorrer
o vetor de caracteres não podendo utilizar nenhum tipo de
loop. O texto é fixo, o usuário não deve digitar nenhuma
entrada.
#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). O primeiro que entra é o primeiro que sai (daí a sigla
FIFO – First In First Out).
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
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
nó e, em alguns casos particulares, registro. O que é e como
se implementa uma lista ligada na linguagem C?
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. As variáveis estáticas são alocadas antes que o programa
entre em execução. O programa solicita ao Sistema
Operacional que aloque espaço da memória disponível para
as variáveis estáticas. Então, o Sistema Operacional retira
da memória disponível o espaço necessário para as
variáveis e coloca na memória ocupada. O Sistema
Operacional garante que o espaço de memória utilizado por
uma Var estática jamais poderá ser utilizado por uma outra.
Esta garantia não é dada às variáveis dinâmicas.
A declaração de variáveis dinâmicas, por sí só, NÃO ALOCA
ESPAÇO DE MEMÓRIA para os dados que eles apontam
Resp.: 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
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
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 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, o valor da variável e
identificador.
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
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.
#include <stdio.h>
void main (){
float celsius, fahrenheit, reaumur;
printf("digite temperatura em fahrenheit: ");
scanf("%f",&fahrenheit);
celsius=(fahrenheit-32)/9/5;
reaumur=(fahrenheit-32)/9/4;
printf("A temperatura em celsius eh: %2.2f e em reaumur eh:
%2.2f",celsius,reaumur);
system("pause");
return 0;
}
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?
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
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 sequência de Fibonacci corresponde a sequência 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 que imprima na tela apenas os números que
pertençam a sequência de Fibonacci, que também sejam
divisíveis por 3 e por 7, e que sejam inferiores a 50000(todas
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
essas condições devem ocorrer simultaneamente). Os
demais números não devem ser impressos. Qual será o
primeiro número impresso pelo programa?
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>
#include <stdlib.h>
struct notasAluno{
float nota1, nota2, media;
char nome[25];
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
};
struct notasAluno Notas;
int main(){
printf("Digite o nome do aluno: ");
gets([Link]);
printf("Digite nota 1: ");
scanf("%f", &Notas.nota1);
printf("Digite nota 2: ");
scanf("%f", &Notas.nota2);
[Link] = (Notas.nota1 + Notas.nota2)/ 2;
printf("\nNome: %s, nota1 %3.2f, nota2 %3.2f e media
%3.2f\n ", [Link], Notas.nota1, Notas.nota2,
[Link]);
system("pause");
main();
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: ");
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
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;
}
12– Escreva um programa que contenha uma variável do
tipo “Vetor de caracteres” com o seguinte texto:
“Universidade UNIP”.......
Lembre-se: o texto é fixo, o usuário não deve digitar
nenhuma entrada.
R. #include <stdio.h>
void linha(char *nome)
{ if(*nome){
Linha(nome+1);
Putchar(*nome);
printf("\n");
}}
int main()
{
linha("Unip Interativa");
return 0;
}
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
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). O primeiro que entra é o primeiro que sai (daí a sigla
FIFO – First In First Out).
30- A construção de listas ligadas em C requer a utilização
de estruturas. Escreva um trecho de um programa em C que
contenha uma struct para armazenar o nó. Esse trecho deve
conter uma struct chamada “no”, que, por sua vez, deve
conter uma variável que é um vetor de caracteres com 64
elementos, chamado de “identificador”, uma variável inteira
chamada “num”, outra variável chamada “var”, que será
utilizada para armazenar um número de ponto flutuante com
precisa simples e um ponteiro para outro nó, chamado
“prox”. O trecho de código deve conter também uma
definição de um tipo chamado “No” baseado nessa struct.
Resp.:
Exemplo:
#include <conio.h>
int main(void)
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
{
/*Criando a struct */
struct ficha_de_aluno
char nome[50];
char disciplina[30];
float nota_prova1;
float nota_prova2;
};
/*Criando a variável aluno que será do
tipo struct ficha_de_aluno */
struct ficha_de_aluno aluno;
printf("\n---------- Cadastro de aluno -----------\n\n\n");
printf("Nome do aluno ......: ");
fflush(stdin);
/*usaremos o comando fgets() para ler strings, no caso o nome
do aluno e a disciplina
fgets(variavel, tamanho da string, entrada)
como estamos lendo do teclado a entrada é stdin (entrada padrão),
porém em outro caso, a entrada tambem poderia ser um arquivo */
fgets([Link], 40, stdin);
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
printf("Disciplina ......: ");
fflush(stdin);
fgets([Link], 40, stdin);
printf("Informe a 1a. nota ..: ");
scanf("%f", &aluno.nota_prova1);
printf("Informe a 2a. nota ..: ");
scanf("%f", &aluno.nota_prova2);
printf("\n\n --------- Lendo os dados da struct ---------\n\n");
printf("Nome ...........: %s", [Link]);
printf("Disciplina .....: %s", [Link]);
printf("Nota da Prova 1 ...: %.2f\n" , aluno.nota_prova1);
printf("Nota da Prova 2 ...: %.2f\n" , aluno.nota_prova2);
getch();
return(0);
31- Escreva um fragmento de programa em C que
contenha:
- Uma estrutura de uma árvore binária que armazene um
número inteiro e um número flutuante em cada n´, bem
como ponteiros para duas sub-árvores;
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
- Uma função que crie esses nós
Resp.: Pode seguir o modelo simplificado, é um fragmento
32- Crie um algoritmo em pseudocódigo que leia dois valores
inteiros para a variável A e b. Então efetue a troca dos
valores de forma que a variável A passa a ter o valor da
variável B e que a variável B passe a ter o valor da variável
a. Por fim, apresente os valores trocados.
Resp.:
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.
12) Para programar em C, partindo do zero, ou seja,.....
Resp.: Int Main() significa que a função principal (main)
deve, no final, retornar algum valor inteiro. Geralmente
colocamos ao final um return(0); ou algo assim...
Já o void main() significa que a função principal não
necessitará retornar qualquer valor.
1- Faça um programa em linguagem C que receba um
número inteiro e apresente o seu fatorial (5! =
1*2*3*4*5=120). Crie uma função recursiva para resolver o
problema.
Compilado de Linguagem e Técnica de Programação – UNIP 2018 / Elaborado por Bortolotti
com informações encontradas no Passei Direto e Provas.