Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

P) A empresa “Fantasia” desenvolveu o algoritimo apresentado a seguir para calcular alguns 
valores da folha de pagamento. 
Algoritimo “Salario” 
var 
 nome: caráter 
 horas, salariol, salariob, descontol, descontor: real 
inicio 
 escreva (“Digite o nome do funcionário”) 
 leia(nome) 
 escreva(“Digite a quantidade de horas trabalhadas no mês:”) 
 leia(horas) 
 salariob <- (12*horas) 
 descontol <- salariob * 0.085 
 descontor <- salariob * 0.05 
 salariol <- salariob – (descontol + descontor) 
 escreva(nome, salariob, descontol, descontor, salariol) 
fimAlgoritimo 
 D) Quando o salário bruto for R$ 1.920,00, o salário líquido será R$ 1.660,80 
P) A linguagem C não apresenta comandos de entrada e saída. Esses comandos são feitos 
por meios 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 atribui-lo a uma variável, é necessário passar o endereço da 
variável que recebera o valor digitado. O operador & retorna o endereço de uma variável. 
P) A linguagem C pertence a uma família de linguagens cujas características são: 
portabilidade, modularidade, compilação separada, recursos de baixo nível, geração de 
código eficiente, confiabilidade, regularidade, simplicidade e facilidade de uso. Com base 
nessas informações escolha a alternativa correta: 
 D) Funções são os subprogramas em C, por sua vez, são chamados por outras funções 
executando tarefas especificas. Há funções básicas que são definidas nas bibliotecas-padrão 
da linguagem e outras que são desenvolvidas por terceiros, com rotinas mais especificas. 
P) 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 
P) Analise o algoritimo “expressão” e identifica a saída nas alternativas a seguir: 
Algoritimo “expressão” 
var 
 a, b, c, d: inteiro 
 resultado: logico 
inicio 
 a<-4 
 b<-3 
 c<-2 
 d<-1 
 resultado<-(a>b)e(b>c)ou((c+d*a)<(d-c*2)) 
 escreva(“O resultado é: “, resultado) 
fimalgoritimo 
 D) O resultado é VERDADEIRO 
P) Analise o programa a seguir e assinale a alternativa correta: 
#include <stdio.h> 
Void main() 
{ 
Int n, count, p=1, i=1; 
Printf(“Digite um numero inteiro positivo: “); 
Scanf(“%d”, &n); 
 
For(count=1, count <= n, count++) 
{ 
If(cont % 2 == 0) 
p += count; 
else 
i += count; 
} 
Printf(“\nValor p: %d\n”, p); 
Printf(“\nValor i: %d\n”, i); 
} 
 E) Para a entrada 9 o valor de p sera 21 e o de i sera 26 
P) Analise o programa a seguir e assinale a alternativa que apresenta a saída. 
A) #include <stdio.h> 
B) int main () { 
 int lin,col, tab; 
C) int mat[3][3]={2,3,6,4,5,6,9,8,7}; 
D) for (lin=0; lin<3; lin++) { 
E) for (col=0;col<3;col++) { 
F) if(lin == col) { 
G) printf("%d ", mat[lin][col]); 
H) } 
I) } 
J) } 
K) printf("\n\n"); 
L) return 0; 
M) } 
N) 2 5 7 
P) Analise o seguinte programa: 
int a=5; 
int b=3; 
b=a++; 
printf("%d %d\n", a, b); 
Qual alternativa apresenta a saída correta? 
 6 5 
 7 6 
P) A pilha segue regra de inclusão: o ultimo que entra na seguencia é 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; 
PUSH (p, n): insere um número "n" em uma estrutura de dados do tipo de pilha "p". 
Considerando uma estrutura de dados tipo pilha "p", inicialmente vazia, executa-se: 
PUSH (p, 1) 
PUSH (p, 2) 
PUSH (p, 3) 
POP (p) 
PUSH (p, 4) 
POP (p) 
POP (p) 
PUSH (p, 5) 
PUSH (p, 6) 
PUSH (p, 7) 
POP (p) 
 D) 6 e 12. 
P) Avalie a arvore a seguir. 
 
 
 
 
 
 
 
Assinale a alternativa que apresenta o percurso em ordem. 
 B) 1 2 3 4 5 6 7 8 9 
P) Avalie o programa a seguir e assinale a alternativa correta: 
#include <stdio.h> 
int 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; 
2 
1 4 
3 5 
7 
9 
8 
6 
} 
 C) Para a entrada 5, a saída será 120 
P) Avalie o seguinte programa: 
#include <stdio.h> 
void main() 
{ 
 int a=9; 
 int b=3; 
 int c; 
 b+=a; 
 c=-b; 
 printf(“%d %d\n”, a, b); 
 a=b++; 
 printf(“%d %d\n”, a, b); 
} 
Assinale a alternativa que apresenta a saída correta: 
E) 9 12 
 12 13 
P) Cada procedimento que fazemos em qualquer momento da vida obedece a uma 
sequência de ações. As ações obedecem a uma sequência lógica, procurando chegar a certo 
objetivo. O computador não tem conhecimento próprio. Assim, se precisarmos de sua ajuda 
para atingir um objetivo, devemos instrui-lo com um algoritmo escrito conforme uma lógica 
correta, a fim de ele cumprir a tarefa que queremos. Com base nessas informações, escolha 
a alternativa correta: 
 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. 
P) Com base no programa a seguir, considere as entradas 0, 1 e 5. Qual será a saída 
apresentada para cada entrada, respectivamente? 
#include <stdio.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 valor inteiro:"); 
scanf("%d", &a); 
b = func(a); 
printf("%d \n", b); 
return 0; 
} 
 C) 1 0 0 
P) Com base no programa a seguir, considere as entradas 0, 1 e 5. Qual será a saída 
apresentada para cada entrada, respectivamente? 
#include <stdio.h> 
int 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); 
return 0; 
} 
 B) 1 0 2 
P) Considere o programa a seguir e assinale a alternativa correta: 
#include <stdio.h> 
void main() 
{ 
Int x, y = 1; 
Printf(“Digite um numero inteiro não negativo:”); 
Scanf(“%d” &x) 
 
For (y=1 , x>1, x--) 
Y += x; 
Printf(“Saida %d”, y); 
Return 0; 
} 
 E) Para a entrada 6, a saída será 21 
P) Dado o seguinte programa: 
#include <stdio.h> 
void main() 
{ 
 int a=45; 
 int b=5; 
 int c, d; 
 c = a/b; 
 d = a % b--; 
 printf(“%d %d %d %d\n”, a, b, c, d); 
 system(“pause”); 
} 
Assinale a alternativa que apresenta a saída correta: 
 C) 45 4 9 0 
P) Desenvolva o teste de mesa para o programa a seguir e assinale a alternativa que 
apresenta a saída correta: 
 150 
P) Dois amigos decidiram fazer uma viagem de ferias e desenvolveram um algoritmo para 
determinar o gasto medio com o combustivel... 
 B) Quando o valor do litro de combustivel for R$ 2,00, o gasto medio com combustivel 
será de R$18,00. 
P) Façamos a avaliação de dois contribuintes. Um obteve renda 
anual de R$ 20.000,00, e o outro de R$ 35.000,00. Caso utilizamos o programa descrito a 
seguir, qual o valor devido, respectivamente, na declaração anual de imposto de renda por 
esses dois contribuintes? 
 E) O imposto devido será R$ 2.000,00 e R$ 7.750,00, respectivamente. 
P) Muitas vezes o uso de vetores e matrizes fica limitado pela necessidade desabermos 
antecipadamente a quantidade de elementos que serão necessários... 
 B) A função malloc reserva a quantidade de bytes que é passada como parametro e 
retorna o endereço em que esse espaço de memoria foi reservado. 
P) Observe a árvore a seguir e assinale a alternativa que apresenta os nós percorridos para 
buscar o nó 7. 
 
 
 
 
 
 
 
 
 A) 6 8 7 
6 
2 8 
9 7 1 4 
3 5 
P) Observe a árvore a seguir. E assinale a alternativa que apresenta o percurso em pós-
ordem (pós-fixo). 
 1 3 5 4 2 7 9 8 6 
P) O cinema “CINEUP”, apresentado a seguir, desenvolveu um programa que determina o 
preço com desconto para as entradas de cinema. 
#include <stdio.h> 
void main () { 
float preco; 
int categoria; 
float preco_final; 
 
printf("Digite o preco do ingresso: "); 
scanf("%f", &preco); 
 
printf("Selecione \n"); 
printf("1 - estudante \n2- Aposentado \n3 - normal\n"); 
printf("Digite a categoria do cliente (1/2/3)"); 
scanf("%d", &categoria); 
 
switch(categoria) { 
case 1; 
preco_final = preco * 0.50f; 
prinf("Com o desconto estudante %f\n", preco_final); 
break; 
case 2; 
preco_final = preco * 0.70f; 
prinf("Com o desconto aposentado: %f\n", preco_final); 
break; 
case 3; 
printf("Preço sem desconto: %f\n", preco); 
break 
defaul; 
printf("Categoria invalida!\n"); 
break; 
} 
return 0; 
} 
 C) Quando o valor do ingresso for R$ 15,00 o estudante pagara R$7,50 
P) O programa a seguir cadastra 5 produtos. Em seguida, imprime uma lista com o código e 
o nome de cada item. Por último, consulta o preço de um produto por meio de seu código. 
#include <stdio.h> 
typedef struct ( 
 long codigo; 
 char nome[100]; 
 float preco; 
) Produto; 
#define QUANTIDADE_DE_PROTUDOS 5 
int main () { 
 int i; 
 Protudo protudos[QUANTIDADE_DE_PRODUTOS]; 
 printf("Campos: codigo-do-produto nome preco\n"); 
 for(i=0; (i < QUANTIDADE_DE_PRODUTOS); i++) { 
 printf("\nInforme os dados do produto(%i): ",i+1); 
 __________________________________ 
} 
 for(i=0; (i < QUANTIDADE_DE_PROTUDOS); i++) { 
 ______________________________ 
 } 
 long codigo_digitado; 
 printf("\nInforme o codigo do produto: "); 
 scanf("%1d", &codigo_digitado); 
 for(i=1; (i < QUANTIDADE_DE_PRODUTOS); i++){ 
if(produtos[i].codigo == codigo_digitado) { 
printf("\nPreco: R$ %1.2f\n", produtos[i].preco); 
} 
} 
 getchar(); 
 return 0; 
} 
 
 E) scanf(“%id, $s $f, &produtos[i].codigo, &produtos[i].nome, &produtos[i].preco); 
printf(“\n%id\t%s R$ %1.2f”, protudos[i].codigo, produtos[i].nome, produtos[i].preco); 
P) 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] 
P) O programa a seguir executa o cadastro de 5 pessoas, destacando nome, endereço e 
telefone. 
Em seguida, apresenta-se todo o cadastro. 
#include <stdio.h> 
struct cadastro { 
char nome[20]; 
char end[50]; 
char telefone[11]; 
}; 
void main () { 
int i; 
struct cadastro c[$]; 
for (i=0; i<5; i++) { 
printf("\n Digite seu Nome: "); 
_______________________________ 
printf("\n Digite seu Endereço: "); 
scanf("%s", &c[i].end); 
printf("\n Digite seu Telefone: "); 
scanf("%s", &c[i].telefone); 
} 
for (i=0; i<5; i++) { 
printf("\n Nome : $s", c[i].nome); 
printf("\n Endereço : $s", c[i].end); 
_________________________________ 
printf("\n\n"); 
} 
system ("pause"); 
getch(); 
} 
 D) scanf(“%s”, &c[i].nome); 
printf(“\n Telefone: %s”, c[i].telefone); 
P) 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); 
P) Para que o programa execute corretamente sua função, as linhas 14 e 24 devem ser 
preenchidas com: 
 scanf(“%s”, c[i].nome); 
 Printf(“/n Telefone : %s”, c[i].telefone); 
P) 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: 
 5 6 7 8 9 
P) São muito comuns, durante o processamento de um programa, situações em que pode 
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: 
 B) Laços contados: quando se conhece previamente quantas vezes o comando composto 
no interior da construção será executado. 
P) Uma locadora de carros tem uma regra para aluguel, a qual será apresentada no 
programa a seguir: 
#include <stdio.h> 
#include <string.h> 
int main() 
{ 
float preconormal, descontopromo, precototal; 
char dia[15], categoria[15]; 
printf("Digite um preço normal: "); 
scanf("%f", &preconormal); 
printf("Digite o dia da semana: "); 
scanf("%s", dia); 
printf("Digite a categoria (LANCAMENTO ou COMUM):"); 
scanf("%s", categoria); 
if(strcmp(dia, "SEGUNDA")==0 || strcmp(dia, "TERCA")==0 || strcmp(dia, "QUINTA")==0) 
{ 
descontopromo = preconormal - (0.90 * preconormal); 
} 
else if (strcmp(dia, "QUARTA")==0 || strcmp(dia, "SEXTA")==0 || strcmp(dia, 
"SABADO")==0 || strcmp(dia, "DOMINGO")==0) { 
descontopromo = 0; 
} 
if(strcmp(categoria, "LANCAMENTO")==0) { 
preconormal = (preconormal * 0.90); 
} 
else if(strcmp(categoria, "COMUM")==0) { 
preconormal = preconormal; 
} 
precototal = descontopromo + preconormal; 
printf("PREÇO FINAL = %2f\n", precototal); 
 
return 0; 
} 
Considerando o preço de R$ 80,00 para a locação, assinale a alternativa correta: 
 A) O preço de QUARTA para LANÇAMENTO é de R$ 72,00 
P) Uma vez implementada uma função de inserção, outra função importa... 
 A) A remoção deve ser feita sem que a lista perca a sua integridade 
P) Um programa faz as seguintes operações: 
Le vários caracteres no teclado, e cada caractere lido é colocado dentro de uma fila 
Esvazia a fila e coloca cada elemento, um depois do outro, dentro de uma pilha 
Esvazia a pilha e imprime cada elemento, um depois do outro 
Caso sejam introduzidos os valores A B C D E, quais serão os valores impressos no fim? 
 A) E D C B A 
P) 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ó.... 
 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. 
P) 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? 
 Basicamente existem três maneiras de reservarmosespaço de memória para o 
armazenamento de informações. 
A primeira maneira é por meio do uso de variáveis globais (e estáticas). 
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. 
A terceira maneira de reservar a memória é solicitar ao programa que aloque 
dinamicamente um espaço na memória durante sua execução. 
P) 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> 
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; 
} 
P) A sequência de Fibonacci corresponde a sequência de números F(n) = f(n-1)+f(n-2), com 
o f(0)=0 e f(1): 0, 1, 1, 2, 3, 5, 8, 13 ,21, 34, 55, 89, 144, 233.... 
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; 
} 
P) Conceitue uma árvore e o tipo particular, o qual é chamado arvore binária. Explique as 
três formas de percorrer uma árvore (pré-ordem, ordem e pós-ordem). 
Arvores são estruturas de dados que permitem a representação de dados em vários 
níveis, sendo a binária quando um pai tem no máximo dois filhos. 
Pré-ordem lê o nó, vai para SAE, vai para SAD. 
Ordem: vai para SAE, lê o nó, vai para SAD. 
Pós-ordem: vai para SAE, vai para SAD, lê o nó. 
P) Conceitue uma lista ligada e explique o funcionamento da pilha (Last In Firt Out LIFO) e da 
fila (First In First Out – FIFO). 
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. 
LIFO = Último a entrar primeiro a sair. 
FIFO = Primeiro a entrar primeiro a sair. 
P) Considere a arvore a seguir, que representa uma hierarquia de executivos em uma 
empresa. Liste os nome dos executivos, considerando que a arvore vai ser percorrida 
seguindo o percurso infixo (ordem). 
Antônio, João, Ricardo, Jose, Henrique, Maria, Vanessa, Luiz. 
Se a questão solicitar Posfixo a resposta é: 
Antonio, Ricardo, João, Henrique, Maria, Luiz, Vanessa, Jose. 
P) 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? 
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; 
} 
P) Construa um programa em linguagem C que calcule o quociente e o resto de uma divisão 
entre dois números inteiros usando somente a adição e a subtração. 
#include <stdio.h> 
int main () { 
int a, b, q; 
printf("Dividendo: "); 
scanf("%d", &a); 
printf("Divisor: "); 
scanf("%d", &b); 
while(a>=b) 
{ 
a=a+(-b); 
q++; 
} 
printf("Resto %d\n quociente %d", a, q); 
} 
P) Crie um algoritimo em pseudocódigo que leia dois valores inteiros para as variaveis A e B, 
efetue a troca dos valores de forma que a variavel A passe a ter o valor da variavel B e que a 
variavel B passe a ter o valor da variavel A. Por fim, apresente os valores trocados. 
programa pseudocodigo; 
variaveis 
 A, B, vAux : Integer; 
inicio 
 escreva('Informe o valor de A.'); 
 leia(A); 
 escreva('Informe o valor de B.'); 
 leia(B); 
 vAux := A; 
 A := B; 
 B := vAux; 
 escreva('O valor de X é: ', (A)); 
 escreva('O valor de Y é: ', (B)); 
fim. 
P) 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. 
#include <stdio.h> 
int main () 
{ 
int idade; 
printf("Idade: "); 
scanf("%d", &idade); 
if(idade < 18) { 
printf("Menor de idade"); 
} 
else 
{ 
if(idade >= 65) { 
printf("Renovar de 3 em 3 anos"); 
} 
else { 
printf("Renovar de 5 em 5 anos"); 
} 
} 
} 
 
P) Desenvolva um programa em linguagem C que calcule o produto de dois números 
inteiros fornecidos pelo usuário. Utilize apenas a operação de adição. 
#include <stdio.h> 
int main () { 
int i, n1, n2; 
int x = 0; 
printf("Num1: "); 
scanf("%d", &n1); 
printf("Num2: "); 
scanf("%d", &n2); 
 
for(i=1; i<=n2; i++) 
{ 
x+=n1; 
} 
printf("Produto = %d", x); 
} 
P) 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”)... 
#include <stdio.h> 
void linha(char *nome) 
{ if(*nome){ 
linha(nome+1); 
putchar(*nome); 
printf("\n"); 
}} 
int main() 
{ 
linha("Universidade UNIP"); 
return 0; 
} 
 
P) Escreva um fragmento de programa em C que contenha: 
Uma estrutura de arvore binária que armazene um número inteiro e um número flutuante em 
cada nó, bem como ponteiros para as duas subárvores; 
Uma função que crie esses nós. 
struct arv { 
int info; 
struct arv* sae; 
struct arv* sad; }; 
typedef struct arv; 
Arv* cria(int c, Arv* sae, Arv* sad){ 
 Arv* p=(Arv*)malloc(sizeof(Arv)); 
 p->info = c; 
 p->sae = sae; 
 p->sad = sad; 
 return p; 
} 
 
P) 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> 
int main() 
{ 
int fat, n; 
printf("Insira um valor: "); 
scanf("%d", &n); 
 
for(fat = 1; n > 1; n = n - 1) 
fat = fat * n; 
 
printf("\nFatorial: %d", fat); 
return 0; 
} 
P) O conceito de fila é bem mais intuitivo no dia a dia. Na estrutura de fila, como na pilha, os 
acessos aos elementos também seguem uma regra fixa. Quais são os principais fundamentos 
sobre a "'strutura fila? 
O primeiro que entra é o primeiro que sai (FIFO). Só podemos inserir um novo elemento no 
final da fila e só podemos retirar o elemento que está no inicio da fila. 
 P) 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; 
} 
P) Simule a execução do programa a seguir indicando qual vai ser sua saida de tela.Se corrigir a expressção "type struct_tipo" para "typedef struct" o programa funciona, e o 
resultado será "Number: 20" 
P) Variáveis são declarações, portanto fazem parte do desenvolvimento de um algoritmo. 
Descreva, conforme seu conhecimento, o que são variáveis, como funcionam e como são 
utilizadas. 
Variável é espaço na memória que reservamos e damos um nome, o computador 
armazena um valor nesse espaço e podemos chamar esse valor pelo nome da variável ou 
alterar conforme necessário.

Mais conteúdos dessa disciplina