Interpretação de algoritmo em forma de fluxograma
2 participantes
Página 1 de 1
Interpretação de algoritmo em forma de fluxograma
A figura acima apresenta o fluxograma de um algoritmo de cálculo, no qual foram destacados trechos de declaração, atribuição, saída de dados e controle, nomeados de A a H. Os trechos C e G correspondem, respectivamente, a rótulo e desvio incondicional.
Com relação a esse fluxograma, julgue os itens a seguir, acerca de conceitos de lógica e estruturas de programação:
Item 1) Os trechos C e G correspondem, respectivamente, a rótulo e desvio incondicional. (Gabarito: CERTO)
Item 2) Suponha que a atribuição no trecho B seja alterada para que N receba o valor inicial 96 e que S e recebam quaisquer valores iniciais. Nesse caso, quando o algoritmo alcançar o trecho H, o valor de T será igual a 198 mais o valor inicial de S, independentemente do valor inicial de T. (Gabarito: CERTO)
Alguém pode me ajudar com a interpretação desses itens? Em especial no Item 2, não identifiquei a parte que gera o resultado 198.
Última edição por kungfukatasandebooks em Sáb 27 maio 2023, 09:15, editado 2 vez(es)
kungfukatasandebooks- Iniciante
- Mensagens : 6
Data de inscrição : 12/05/2023
Re: Interpretação de algoritmo em forma de fluxograma
O enunciado é "A figura acima apresenta o fluxograma de um algoritmo de cálculo, no qual foram destacados trechos de declaração, atribuição, saída de dados e controle, nomeados de A a H. Os trechos C e G correspondem, respectivamente, a rótulo e desvio incondicional."?
No enunciado tá escrito "Os trechos C e G correspondem, respectivamente, a rótulo e desvio incondicional.". Não vejo motivos para duvidar do enunciado.
Portanto Item 1) Os trechos C e G correspondem, respectivamente, a rótulo e desvio incondicional. Correto.
Quanto ao item 2.
O C é uma marcação (label) e o G é um salto (goto). Quase nunca se vê esses saltos, uma vez que for e while existem na maioria das linguagens modernas.
O fluxograma em C:
Começando no bloco B com n=96, s= a e t= b (a, b valores inicias de s e t).
Vou usar := como recebe e = como igual para facilitar.
B -> n :=96, s := a, t := b;
C -> Marcação;
D -> n <100 == 96<100( sim);
E -> n := n+2 = 96+2 = 98, s := s = a, t := n+s = 98+a;
F-> s:= t = 98+a;
G -> Vai pra marcação (C);
C - > Marcação;
D-> n<100 == 98 < 100 (sim);
E -> n := n+2 = 98+2 = 100, s := s = 98+a, t := n+s = 100+(98+a) = 198+a ;
F-> s:= t = 198+a;
G -> Vai pra marcação (C);
C - > Marcação;
D -> n <100 == 100<100( não);
H -> O programa exibe t = 198+a; (creio que H seja isso)
fim.
Lembrando que (a) era o valor inicial de s, portanto o programa exibe o valor inicial de s mais 198.
Portanto item 2 correto.
Creio que seja isso
No enunciado tá escrito "Os trechos C e G correspondem, respectivamente, a rótulo e desvio incondicional.". Não vejo motivos para duvidar do enunciado.
Portanto Item 1) Os trechos C e G correspondem, respectivamente, a rótulo e desvio incondicional. Correto.
Quanto ao item 2.
O C é uma marcação (label) e o G é um salto (goto). Quase nunca se vê esses saltos, uma vez que for e while existem na maioria das linguagens modernas.
O fluxograma em C:
- Código:
#include <stdio.h>
int main(){
int n = 96,s = 10,t =0; // A
marcacao: {
if ( n<100){ // D
n = n+2; // E
t = n+s; // E
s =t; // F
goto marcacao; // G
}else{
printf("%d\n",t); // H
}
}
}
Começando no bloco B com n=96, s= a e t= b (a, b valores inicias de s e t).
Vou usar := como recebe e = como igual para facilitar.
B -> n :=96, s := a, t := b;
C -> Marcação;
D -> n <100 == 96<100( sim);
E -> n := n+2 = 96+2 = 98, s := s = a, t := n+s = 98+a;
F-> s:= t = 98+a;
G -> Vai pra marcação (C);
C - > Marcação;
D-> n<100 == 98 < 100 (sim);
E -> n := n+2 = 98+2 = 100, s := s = 98+a, t := n+s = 100+(98+a) = 198+a ;
F-> s:= t = 198+a;
G -> Vai pra marcação (C);
C - > Marcação;
D -> n <100 == 100<100( não);
H -> O programa exibe t = 198+a; (creio que H seja isso)
fim.
Lembrando que (a) era o valor inicial de s, portanto o programa exibe o valor inicial de s mais 198.
Portanto item 2 correto.
Creio que seja isso
____________________________________________
Licenciatura em Matemática (2022 - ????)
kungfukatasandebooks gosta desta mensagem
Re: Interpretação de algoritmo em forma de fluxograma
tales amaral escreveu:O enunciado é "A figura acima apresenta o fluxograma de um algoritmo de cálculo, no qual foram destacados trechos de declaração, atribuição, saída de dados e controle, nomeados de A a H. Os trechos C e G correspondem, respectivamente, a rótulo e desvio incondicional."?
No enunciado tá escrito "Os trechos C e G correspondem, respectivamente, a rótulo e desvio incondicional.". Não vejo motivos para duvidar do enunciado.
Portanto Item 1) Os trechos C e G correspondem, respectivamente, a rótulo e desvio incondicional. Correto.
Quanto ao item 2.
O C é uma marcação (label) e o G é um salto (goto). Quase nunca se vê esses saltos, uma vez que for e while existem na maioria das linguagens modernas.
O fluxograma em C:
- Código:
#include <stdio.h>
int main(){
int n = 96,s = 10,t =0; // A
marcacao: {
if ( n<100){ // D
n = n+2; // E
t = n+s; // E
s =t; // F
goto marcacao; // G
}else{
printf("%d\n",t); // H
}
}
}
Começando no bloco B com n=96, s= a e t= b (a, b valores inicias de s e t).
Vou usar := como recebe e = como igual para facilitar.
B -> n :=96, s := a, t := b;
C -> Marcação;
D -> n <100 == 96<100( sim);
E -> n := n+2 = 96+2 = 98, s := s = a, t := n+s = 98+a;
F-> s:= t = 98+a;
G -> Vai pra marcação (C);
C - > Marcação;
D-> n<100 == 98 < 100 (sim);
E -> n := n+2 = 98+2 = 100, s := s = 98+a, t := n+s = 100+(98+a) = 198+a ;
F-> s:= t = 198+a;
G -> Vai pra marcação (C);
C - > Marcação;
D -> n <100 == 100<100( não);
H -> O programa exibe t = 198+a; (creio que H seja isso)
fim.
Lembrando que (a) era o valor inicial de s, portanto o programa exibe o valor inicial de s mais 198.
Portanto item 2 correto.
Creio que seja isso
O item 1 não faz parte do enunciado, foi um equívoco. Quanto a item 2, eu realmente fiquei procurando um while ou for no fluxograma, sem identificar o goto e a marcação, mas imagino que pelo fato da questão ser de uma prova do ano 2006 a banca avaliadora utilizou um formato mais antigo de algoritmo, com goto e marcação.
Agradeço a ajuda!
kungfukatasandebooks- Iniciante
- Mensagens : 6
Data de inscrição : 12/05/2023
Tópicos semelhantes
» (FUVEST) Fluxograma
» Computador - (fluxograma)
» Acha a função na forma implícita e na forma cartesiana da função²
» Acha a função na forma implícita e na forma cartesiana da função
» Algoritmo
» Computador - (fluxograma)
» Acha a função na forma implícita e na forma cartesiana da função²
» Acha a função na forma implícita e na forma cartesiana da função
» Algoritmo
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|