Buscar

Colaborar - Av2 - Algoritmos e Programação Estruturada

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

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
Você viu 3, do total de 5 páginas

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

07/04/2024, 15:11	Colaborar - Av2 - Algoritmos e Programação Estruturada
07/04/2024, 15:11	Colaborar - Av2 - Algoritmos e Programação Estruturada
	Colaborar - Av2 - Algoritmos e Programação Estruturada
 	
(/notific  Algoritmos e Programação Estruturada (/alu…
Av2 - Algoritmos e Programação Estruturada
	Sua avaliação foi confirmada com sucesso
	×
Informações Adicionais
Período: 
26
/02/2024 00:00 à 
08/04/2024 23:59
Situação:
 
Cadastrado
Tentativas: 
1
 / 
3
Pontuação: 
1000
Protocolo: 
Avaliar Material
1)
 É comum utilizarmos ponteiros com funções. Um caso importante de ponteiros com funções é na alocação de
memória 
dinâmica. 
A 
função 
malloc 
(
 
)
 
pertencente 
a 
biblioteca 
<
stdlib.h
>
 
é 
usada 
para 
alocar 
memória
dinamicamente. Entender o tipo de retorno dessa função é muito importante, principalmente para seu avanço,
quando você começar a estudar estruturas de dados.
 
Observe atentamente o programa que demonstra o uso de funções:
 
a)
b)
c)
d)
e)
2)
#include<stdio.h>
#include<stdlib.h>
int* alocar(){
return malloc(200);
}
int main(){
int *memoria;
memoria = alocar();
if(memoria != NULL){
printf("Endereço de memória alocada = %x",memoria);
}
else{
printf("Memória não alocada");
}
return 0;
}
 
Conforme 
demonstrado 
no 
programa 
apresentado 
a 
função 
malloc 
(
 
)
 
irá 
reservar 
um 
espaço 
de 
memória
dinamicamente, a função 
malloc ( )
 pode retornar dois valores e são eles:
Alternativas:
 
null 
ou um ponteiro genérico (ponteiro genérico é do tipo 
void)
Alternativa assinalada
 
int 
ou um ponteiro genérico (ponteiro genérico é do tipo 
void)
 
float 
ou um ponteiro genérico (ponteiro genérico é do tipo 
void
)
 
char 
ou numérico (
int ou float
)
 
string 
ou 
null
Analise a figura a seguir.
 
a)
b)
c)
d)
e)
3)
Fonte: elaborada pela autora.
 
Para compreender o mecanismo apresentado na imagem anterior, organize as operações em sequência correta:
 
1
 - Chamada a função funcaoRecursiva(), que por sua vez, possui em seu corpo um comando que invoca a si
mesma.
2
 - Na terceira instância, uma determinada condição de parada é satisfeita.
3
 - Um novo espaço é alocado, com variáveis e comandos. Como a função é recursiva, novamente ela chama a si
mesma, criando então a terceira instância da função.
4
 - Cada instância da função passa a retornar seus resultados para a instância anterior.
5
 - Nesse momento é criada a segunda instância dessa função na memória de trabalho.
Assinale a alternativa que contém a sequência correta:
Alternativas:
1-3-5-2-4.
4-5-3-2-1.
1-5-3-2-4.
Alternativa assinalada
1-5-2-4-3.
2-5-1-3-4.
Leia o trecho de programa a seguir:
 
#include<stdio.h>
int x = 10;
int main(){
int x = -1; int b;
{
extern int x; b = x;
}
printf("\n Valor de x = %d",x);
printf("\n Valor de b (x global) = %d",b);
return 0;
}
 
De acordo com o trecho de programa, analise as asserções a seguir:
 
I. Na linguagem C, para acessar o valor de uma variável global dentro de uma função que possui uma variável
local com mesmo nome, deve-se usar a instrução extern.
PORQUE
II. Utilizar variáveis globais e locais com mesmo nome na linguagem C necessita criar uma nova variável
chamada “b”, com um bloco de instruções, que atribui à nova variável o valor “interno” de x.
a)
b)
c)
d)
e)
4)
a)
b)
A respeito dessas asserções, assinale a alternativa correta:
Alternativas:
As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
Alternativa assinalada
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
As asserções I e II são proposições falsas.
A declaração da estrutura inicial para criação de uma pilha pode ser implementada por:
 
struct Pilha {
int topo;
int capacidade;
float * proxElem;
}
;
struct Pilha minhaPilha;
 
Segundo Celes, Cerqueira e Rangel (2004), com a estrutura declarada é possível criar a função para criar uma pilha.
Esta função aloca dinamicamente na memória o espaço para utilização da pilha. O trecho de código para criação da
pilha pode ser implementado por:
 
void cria_pilha(struct Pilha *p, int c ){
p -> proxElem = (float*) malloc (c * sizeof(float));
p -> topo = -1;
p -> capacidade = c;
}
 
Com a função para criar a pilha realizada, ela estará vazia, ou seja, não terá nenhum elemento na pilha em sua
criação. Assim, é possível criar a função que vai permitir ser inserido um novo elemento na pilha.
 
Considerando os códigos apresentados, o correto formato para inserir um novo elemento na pilha usando o
nome 
push( ) é 
Alternativas:
void push-pilha(struct Pilha *p, float **v){
p -> topo++;
p -> proxElem [p -> topo] = v;
}
void push_pilha(struct Pilha *p, float v){
p -> topo-+;
p -> proxElem [p -> topo] = v;
c)
d)
e)
5)
a)
b)
c)
d)
e)
}
void push_pilha(struct Pilha *p, float v){
p -> topo++;
p -> proxElem [p -> topo] = v;
}
Alternativa assinalada
void push-pilha(struct Pilha /p, float v){
p -> topo+-;
p -> proxElem [p -> topo] = v;
}
void push_pilha(struct Pilha /p, float v){
p -> topo++;
p -> proxElem [p -> topo] = v;
}
Considere 
uma 
lista 
simplesmente 
ligada 
que, 
além 
das 
suas 
funções 
básicas, 
possui 
a 
função
"posicao_menor(li)", a qual retorna a posição menor elemento da lista “li”. Com base nisto, analise o código da
função "main()" a seguir:
 
int main() {
structLista* minha_lista = criar();
inserir(minha_lista,0,3);
inserir(minha_lista,0,5);
inserir(minha_lista,2,4);
inserir(minha_lista,1,1);
r
emo
ver(minha_lista,0);
printf("%d", posicao_menor(minha_lista));
r
eturn0;
}
Assinale a alternativa correta corresponde à saída impressa na tela do programa anterior.
Alternativas:
0
Alternativa assinalada
1
2
3
4
https://www.colaboraread.com.br/aluno/avaliacao/index/3838755701?atividadeDisciplinaId=16120833	1/5
https://www.colaboraread.com.br/aluno/avaliacao/index/3838755701?atividadeDisciplinaId=16120833	1/5

Continue navegando