PiR2
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Interpretação de algoritmo em forma de fluxograma

2 participantes

Ir para baixo

Resolvido Interpretação de algoritmo em forma de fluxograma

Mensagem por kungfukatasandebooks Qua 24 maio 2023, 10:03

Interpretação de algoritmo em forma de fluxograma Algori10


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

Ir para o topo Ir para baixo

Resolvido Re: Interpretação de algoritmo em forma de fluxograma

Mensagem por tales amaral Qua 24 maio 2023, 18:39

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 lol!

____________________________________________
Licenciatura em Matemática (2022 - ????)
tales amaral
tales amaral
Monitor
Monitor

Mensagens : 521
Data de inscrição : 02/05/2020
Idade : 20
Localização : Serra, ES

https://talesamaral.github.io/

kungfukatasandebooks gosta desta mensagem

Ir para o topo Ir para baixo

Resolvido Re: Interpretação de algoritmo em forma de fluxograma

Mensagem por kungfukatasandebooks Qua 24 maio 2023, 19:08

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 lol!

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

Ir para o topo Ir para baixo

Resolvido Re: Interpretação de algoritmo em forma de fluxograma

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos