Prévia do material em texto
30/08/2022 16:20 Universidade Paulista - UNIP : Disciplina On-line.
https://www.unip.br/aluno/central/sistemas/acesso/138 1/1
O que signi�ca as operações push / pop em uma pilha e enqueue / dequeue numa �la, respectivamente?
A
Remove um dado na pilha / insere um dado na pilha e insere um elemento no �nal da �la / remove um elemento do
início da �la.
B
Insere um dado na pilha / remove um dado na pilha e remove um elemento no �nal da �la / insere um elemento do
início da �la.
C
Insere um dado na pilha / remove um dado na pilha e insere um elemento no �nal da �la / remove um elemento do
início da �la.
D
Insere um dado na pilha / remove um dado na pilha e insere um elemento no início da �la / remove um elemento do
�nal da �la.
E
Insere um dado na �la / remove um dado na �la e insere um elemento no �nal da pilha / remove um elemento do
início da pilha.
Você já respondeu e acertou esse exercício. A resposta correta é: C.
30/08/2022 16:21 Universidade Paulista - UNIP : Disciplina On-line.
https://www.unip.br/aluno/central/sistemas/acesso/138 1/2
Um programador, por pressa, escreveu um programa sem descrever qual a sua �nalidade. O programa está indicado a
seguir:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int x[20];
int b = 0;
void abcd(int a){
x[b] = a;
b++;
}
int xpto(){
return(x[--b]);
}
int tamanho(){
return b;
}
void main(void){
clrscr();
printf("Colocando dados\n");
abcd(5);
abcd(9);
30/08/2022 16:21 Universidade Paulista - UNIP : Disciplina On-line.
https://www.unip.br/aluno/central/sistemas/acesso/138 2/2
abcd(3);
printf("Tamanho: %d\n", tamanho());
printf("Pegando dado: %d\n", xpto());
printf("Pegando dado: %d\n", xpto());
printf("Novo tamanho: %d\n", tamanho());
getch();
}
Podemos a�rmar com certeza tratar-se de um programa que cria a estrutura de dados:
A Lista encadeada
B Fila com vetor
C Lista simples
D Fila encadeada
E Pilha
Você já respondeu e acertou esse exercício. A resposta correta é: E.
30/08/2022 16:21 Universidade Paulista - UNIP : Disciplina On-line.
https://www.unip.br/aluno/central/sistemas/acesso/138 1/4
Dado o código abaixo:
#include <stdio.h>
#include<conio.h>
#include<stdlib.h>
#de�ne N 7
typedef struct �la{
int ini, �m;
int vet[N];
}Fila;
Fila* cria(void){
Fila* f = (Fila*)malloc(sizeof(Fila));
f->ini = f->�m = 0;
return f;
}
int incr(int i){
if(i == N-1)
return 0;
else
return i+1;
}
void insere(Fila* f, int v){
if(incr(f->�m) == f->ini){
30/08/2022 16:21 Universidade Paulista - UNIP : Disciplina On-line.
https://www.unip.br/aluno/central/sistemas/acesso/138 2/4
printf("Capacidade da �la estourou.\n");
getch();
exit(1);
}
f->vet[f->�m] = v;
f->�m = incr(f->�m);
}
int vazia(Fila* f){
return(f->ini == f->�m);
}
int retira(Fila* f){
int v;
if(vazia(f)){
printf("Fila vazia.\n");
exit(1);
}
v = f->vet[f->ini];
f->ini = incr(f->ini);
return v;
}
void libera(Fila* f){
free(f);
}
void imprime(Fila* f){
int i;
30/08/2022 16:21 Universidade Paulista - UNIP : Disciplina On-line.
https://www.unip.br/aluno/central/sistemas/acesso/138 3/4
for(i = f->ini; i != f->�m; i = incr(i)){
printf("%d\n", f->vet[i]);
}
}
void main(void){
Fila* f = cria();
insere(f, 1);
insere(f, 2);
insere(f, 3);
insere(f, 4);
printf("Valor de ini: %d\n", f->ini);
printf("Valor de �m: %d\n", f->�m);
retira(f);
retira(f);
printf("Con�guracao da �la:\n");
imprime(f);
libera(f);
getch();
}
Ao �nal da execução do programa, o resultado será:
A Capacidade da �la estourou
B Con�guracao da �la: 3 4
C Fila vazia
D Con�guracao da �la: 1 2 3 4
30/08/2022 16:21 Universidade Paulista - UNIP : Disciplina On-line.
https://www.unip.br/aluno/central/sistemas/acesso/138 4/4
E Con�guracao da �la: 1 2
Você excedeu o limite de 3 tentativas para responder este exercício.
30/08/2022 16:21 Universidade Paulista - UNIP : Disciplina On-line.
https://www.unip.br/aluno/central/sistemas/acesso/138 1/4
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
typedef struct no{
char nome[100];
struct no* proximo;
} No;
typedef struct coluna{
No* primeiro;
} Coluna;
Coluna* cria(void){
Coluna* c = (Coluna*)malloc(sizeof(Coluna));
c->primeiro = NULL;
return c;
}
No* insere_inicio(No* l, char * v){
No* n = (No*)malloc(sizeof(No));
strcpy(n->nome, v);
n->proximo = l;
return n;
}
30/08/2022 16:21 Universidade Paulista - UNIP : Disciplina On-line.
https://www.unip.br/aluno/central/sistemas/acesso/138 2/4
No* repoe_inicio(No* l){
No* n = l->proximo;
free(l);
return n;
}
void poe(Coluna* c, char * v){
c->primeiro = insere_inicio(c->primeiro, v);
}
int vazia(Coluna* c){
return(c->primeiro == NULL);
}
char * tira(Coluna* c){
char v[100];
if(vazia(c)){
printf("Coluna vazia.\n");
exit(1);
}
strcpy(v,c->primeiro->nome);
c->primeiro = repoe_inicio(c->primeiro);
return v;
}
void libera(Coluna* c){
No* q = c->primeiro;
while(q != NULL){
No* t = q->proximo;
30/08/2022 16:21 Universidade Paulista - UNIP : Disciplina On-line.
https://www.unip.br/aluno/central/sistemas/acesso/138 3/4
free(q);
q = t;
}
free(c);
}
void imprime(Coluna* c){
No* q;
for(q = c->primeiro; q != NULL; q = q->proximo){
printf("%s\n", q->nome);
}
}
void main(void){
char n[100];
Coluna* c = cria();
.
.
. instruções
.
.
.
30/08/2022 16:21 Universidade Paulista - UNIP : Disciplina On-line.
https://www.unip.br/aluno/central/sistemas/acesso/138 4/4
tira(c);
tira(c);
tira(c);
tira(c);
strcpy(n,tira(c));
printf("\n%s",n);
libera(c);
}
Qual será a saída na instrução printf?
A Miguel
B Eustáquio
C Benedito
D Cícero
E Juarez
Você excedeu o limite de 3 tentativas para responder este exercício.
30/08/2022 16:21 Universidade Paulista - UNIP : Disciplina On-line.
https://www.unip.br/aluno/central/sistemas/acesso/138 1/1
Um programa faz as seguintes operações:
I. Lê vários caracteres no teclado, e cada caractere lido é colocado dentro de uma pilha.
II. Esvazia a pilha e coloca cada elemento, um depois do outro, dentro de uma �la.
III. Esvazia a �la e coloca cada elemento, um depois do outro, dentro de uma outra pilha.
IV. Esvazia a pilha e imprime cada elemento um depois do outro.
Caso sejam introduzidos os valores 12 15 11 1 , serão impressos, ao �nal, os valores:
A 1 11 15 12
B 12 12 15 15 11 11 1 1
C 1 11 11 15 15 12 12
D 12 15 11 1
E 12 11
Você já respondeu e acertou esse exercício. A resposta correta é: D.
30/08/2022 16:22 Universidade Paulista - UNIP : Disciplina On-line.
https://www.unip.br/aluno/central/sistemas/acesso/138 1/1
Com relação a �las, listas encadeadas e pilhas podemos a�rmar: :
A
Filas seguem o conceito LIFO, ou seja, o primeiro elemento que entra na estrutura é o primeiro que sai, listas
encadeadas seguem o conceito FIFO das pilhas, ou seja, o primeiro que entra é o primeiro que sai.
B
Pilhas seguem o conceito FIFO, ou seja, o último elemento que entra na estrutura é o último que sai, listas
encadeadas seguem o conceito LIFO das �las, ou seja, o último que entra é o primeiro que sai.
C
Filas seguem o conceito FIFO, ou seja, o primeiro elemento que entra na estrutura é o último que sai, listas
encadeadas não seguem o conceito LIFO das pilhas, ou seja, o último que entra é o último que sai.
D
Filas seguem o conceito LIFO, ou seja, o último elemento que entra na estruturaé o último que sai, listas encadeadas
não seguem o conceito FIFO das pilhas, ou seja, o primeiro que entra é o primeiro que sai.
E
Pilhas seguem o conceito LIFO, ou seja, o último elemento que entra na estrutura é o primeiro que sai, �las seguem o
conceito FIFO das �las, ou seja, o último que sai foi o último que entrou.
Você já respondeu e acertou esse exercício. A resposta correta é: E.
30/08/2022 16:22 Universidade Paulista - UNIP : Disciplina On-line.
https://www.unip.br/aluno/central/sistemas/acesso/138 1/1
Faça a associação:
A) �la
B) Pilha
C) Lista Ligada
1 - Spool da impressora
2 - Arquivos no HD
3 - Chamada da funções
A A-1, B-2, C-3
B A-2, B-3, C1
C A-1, B-3, C-2
D A-2, B-1, C-3
E A-1, B-3, C-3
Você excedeu o limite de 3 tentativas para responder este exercício.