Buscar

Fluxo de Controle - Estrutura Sequencial, Entrada e Saída de Dados

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 23 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

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 6, do total de 23 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

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 9, do total de 23 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

Prévia do material em texto

Fluxo de Controle - Estrutura 
Sequencial, Entrada e Saída de Dados
APRESENTAÇÃO
Nesta Unidade de Aprendizagem, falaremos de estruturas sequenciais; para isso, temos que 
entender o que são computadores. Computadores são máquinas capazes de solucionar 
problemas, mas que só agem quando recebem intruções nos mínimos detalhes. A tarefa 
principal dos computadores é o de processar dados, ou seja, receber (entrada de dados), realizar 
operações (processamento) e gerar respostas (saídas).
Você poderá verificar como é feita a organização de um programa computacional, e também 
poderá entender como é possível resolver um problema por sua forma de visualização do tipo 
fluxograma, pseudocódigo ou o próprio código. Além disso, outros exemplos de aplicação, 
inclusive com a programação no MATLAB, serão apresentados.
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Declarar, de maneira correta, os tipos de dados e diferenciar dados de entrada e saída, 
dentro do ambiente da linguagem MATLAB (.m) e pseudocódigo.
•
Analisar algoritmos com declaração de variáveis, comandos de entrada e saída.•
Aplicar os conceitos de declaração, entrada e saída de dados em algoritmos na solução de 
problemas, por meio do MATLAB.
•
INFOGRÁFICO
De acordo como verificamos em Forbellone e Eberspacher, 2005, para o fluxo de controle, 
deve-se utilizar o conceito de estrutura sequencial de fluxo de execução, desenhando o 
algoritmo por meio de etapas lógicas. 
Além do conceito de estrutura sequencial de fluxo de execução, pode-se também adotar 
conceitos de seleção, repetição, e da combinação entre estas.
No Infográfico, a seguir, serão apresentadas as etapas da estrutura básica sequencial de um 
algoritmo. Veja, no fluxograma, como essas etapas podem ser apresentadas.
CONTEÚDO DO LIVRO
Uma das formas de analisar os algoritmos sem ter que entender o pseudocódigo central é poder 
analisar o fluxograma desse algoritmo. Muitos programadores experientes não gostam de 
utilizar fluxogramas para a análise; no entanto, sabe-se que, para a maioria dos programadores, o 
fluxograma é uma forma amigável de encontrar possíveis problemas de fluxos de estruturas.
Neste capítulo, Fluxo de Controle - Estrutura Sequencial, Entrada e Saída de Dados, que faz 
parte do livro Algoritmo e programação e é base teórica desta Unidade de Aprendizagem, você 
vai ser apresentado à estrutura de controle sequencial, e à declaração de variáveis em 
pseudocódigo e em linguagem MATLAB. Além disso, será apresentado o comando de entrada 
de dados em pseudocódigo (leia) e em linguagem MATLAB (input). Também será demonstrado 
o comando de saída de dados em pseudocódigo (escreva) e em linguagem MATLAB (disp e 
fprint). Por fim, será apresentado o conceito de blocos definidos como conjunto de ações.
Boa leitura.
ALGORITIMO E 
PROGRAMAÇÃO
Fluxo de controle: 
estrutura sequencial e 
entrada e saída de dados
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
 Declarar de maneira correta os tipos de dados e diferenciar dados 
de entrada e saída dentro do ambiente da linguagem MATLAB (.M) 
e pseudocódigo.
 Analisar algoritmos com declaração de variáveis e comandos de en-
trada e saída.
 Aplicar os conceitos de declaração, entrada e saída de dados em 
algoritmos na solução de problemas, por meio do MATLAB.
Introdução
Neste capítulo, você vai ser apresentado à estrutura de controle sequencial 
e à declaração de variáveis em pseudocódigo e em linguagem MA-
TLAB. Além disso, será apresentado o comando de entrada de dados 
em pseudocódigo (leia) e em linguagem MATLAB (input). Também será 
demonstrado o comando de saída de dados em pseudocódigo (escreva) 
e em linguagem MATLAB (disp e fprint). Por fim, será apresentado o 
conceito de blocos definidos como conjunto de ações.
Identificação interna do documento AF6YJKGMHH-NB4JLW1
Tipos de dados e diferenciação de dados 
de entrada e saída dentro do ambiente da 
linguagem MATLAB (.M) e pseudocódigo
Fluxo de controle
Como verifi camos em Forbellone e Eberspacher (2005), para o fl uxo de con-
trole, deve-se utilizar o conceito de estrutura sequencial de fl uxo de execução, 
desenhando o algoritmo por meio de etapas lógicas. Assim, para a criação de 
algoritmos, temos alguns conceitos a serem utilizados, como:
 bloco lógico;
 entrada e saída de dados;
 variáveis;
 constantes;
 atribuições;
 expressões lógicas;
 expressões relacionais;
 expressões aritméticas;
 blocos definidos como conjunto de ações.
Além do conceito de estrutura sequencial de fluxo de execução, pode-se 
também adotar conceitos de seleção, repetição e combinação entre estas. 
Definiremos a partir daqui o principal conceito que é a estrutural sequencial.
Estrutura sequencial
Forbellone e Eberspacher (2005) discutem que a estrutura sequencial de um 
algoritmo é defi nida por um conjunto de ações sempre em uma forma de 
sequência linear de cima para baixo e da esquerda para a direita.
Demonstra-se na Figura 1 um esquema básico do modelo geral de um 
algoritmo com estrutura sequencial, em que temos a identificação do bloco, 
determinando o início e o fim, e internamente se inicia a declaração das 
variáveis e o corpo do algoritmo.
Fluxo de controle: estrutura sequencial e entrada e saída de dados2
Identificação interna do documento AF6YJKGMHH-NB4JLW1
Figura 1. Modelo geral de estrutura sequencial de um algoritmo.
Fonte: Forbellone e Eberspacher (2005).
Declaração de variáveis em pseudocódigo
Para a construção de um algoritmo sequencial, temos que esboçar um bloco 
contendo todas as variáveis distintas para se executar um algoritmo. Um exem-
plo discutido por Forbellone e Eberspacher (2005) é um algoritmo que calcule 
a média aritmética entre quatro notas bimestrais de um aluno, em que temos:
 dados de entrada: quatro notas bimestrais (N1, N2, N3 e N4);
 dados de saída: média aritmética anual (MA).
Temos para esse exemplo que a média aritmética é a soma das quatro notas 
bimestrais dos dados de entrada dividida pela quantidade de notas bimestrais, 
no caso do exemplo (N1 + N2 + N3 + N4)/4. Assim, demonstra-se na Figura 
2 como esse algoritmo poderia ser descrito. Temos o bloco identificado, o 
início e o fim do algoritmo, a declaração de variáveis apresentada, que são a 
descrição das notas e da média anual, N1, N2, N3, N4 e MA, respectivamente, 
a entrada de dados em que aqui apresentamos o comando leia, o processamento 
de dados e o comando de saída escreva.
3Fluxo de controle: estrutura sequencial e entrada e saída de dados
Identificação interna do documento AF6YJKGMHH-NB4JLW1
Figura 2. Exemplo de um algoritmo com fluxo de execução sequencial para calcular a 
média de notas.
Fonte: Forbellone e Eberspacher (2005).
Declaração de variáveis em linguagem MATLAB
No MATLAB, temos que utilizar algumas funções específi cas para que o 
programa matemático identifi que o processamento da informação do algoritmo. 
Partindo do exemplo da Figura 2 da média aritmética e com base na sintaxe 
básica para chamada de qualquer função do MATLAB, assim como vemos 
em Matsumoto (2004):
 [Saída1, …, Saída N]: parâmetros de saída
 Função: nome da função
 [Entrada1, …, Entrada N]: parâmetros de entrada
Temos, portanto, que no processamento desse algoritmo precisamos escrever 
a função média como média = sum{Dados de entrada/freq}.
Assim, o algoritmo no MATLAB poderia ser descrito como:
Fluxo de controle: estrutura sequencial e entrada e saída de dados4
Identificação interna do documento AF6YJKGMHH-NB4JLW1
Assim, teremos como saída de dados:
MA = (N1 + N2 + N3 + N4)/4
Algoritmos com declaração de variáveis 
e comandos de entrada e saída
Assim como verifi camos em Chapra (2013), uma programação estruturada e 
organizada tem seus benefícios, além de tornar o algoritmo mais fácil de ser 
compartilhado e também ajudando a garantir um desenvolvimento de programa 
mais efi ciente. Por esse fatode programação estruturada e mais organizada, é 
fácil analisar, corrigir e testar esses algoritmos, resultando em programas que 
têm um tempo de desenvolvimento e atualização menor. Assim como verifi -
camos no tópico anterior e já tivemos contato com exemplos, a programação 
estruturada pode ser de três estruturas de controle fundamentais: sequência, 
seleção e repetição. Se tivermos como base a organização de cada uma dessas 
estruturas para desenvolver um algoritmo, o código computacional resultante 
será claro e fácil de seguir e de ser analisado. Posteriormente, podem ser pro-
postas melhorias com alterações para serem testadas e colocadas em práticas.
Uma das formas de analisar os algoritmos sem ter que entender o pseu-
docódigo central é poder analisar o fluxograma desse algoritmo. Conforme 
discutido em Chapra (2013), muitos programadores experientes não gostam 
de utilizar fluxogramas para a análise. No entanto, sabe-se que para a maioria 
dos programadores o fluxograma é uma forma amigável de encontrar possíveis 
problemas de fluxos de estruturas. Na Figura 3, observa-se os símbolos usados 
nos diagramas de fluxo.
5Fluxo de controle: estrutura sequencial e entrada e saída de dados
Identificação interna do documento AF6YJKGMHH-NB4JLW1
Figura 3. Símbolos usados nos diagramas de fluxo.
Fonte: Chapra (2013).
Existem, portanto, três formas de identificarmos os algoritmos. Podemos 
identificá-los por fluxogramas, por pseudocódigos ou pelo próprio código 
computacional. Nos exemplos das Figuras 1 e 2 do tópico anterior, observamos 
os blocos do algoritmo descritos na forma de pseudocódigo. O pseudocódigo é 
uma forma de visualizar o código computacional de uma forma prática sem a 
exigência do conhecimento de funções internas de programas computacionais, 
como o MATLAB. Na Figura 4, observa-se a diferença entre o fluxograma e 
o pseudocódigo para a estrutura sequencial.
Fluxo de controle: estrutura sequencial e entrada e saída de dados6
Identificação interna do documento AF6YJKGMHH-NB4JLW1
Figura 4. Tipo de diagramas de análises de algoritmo: 
(a) Fluxograma, (b) Pseudocódigo.
Fonte: Chapra (2013).
Declaração de variáveis e dados de entrada e de saída
Conforme já demonstrado nas fi guras anteriores e de acordo com a teoria para 
a criação de estruturas de blocos de algoritmos, temos as seguintes instruções:
 leia: comando de entrada de dados em pseudocódigo;
 input: comando de entrada de dados em MATLAB;
 escreva: comando de saída de dados em pseudocódigo;
 disp e fprint: comandos de saída de dados em Matlab.
Chapra (2013) desenvolve um exemplo de um algoritmo para as raízes de 
uma equação quadrática (Figura 5), em que temos o seguinte enunciado do 
problema:
7Fluxo de controle: estrutura sequencial e entrada e saída de dados
Identificação interna do documento AF6YJKGMHH-NB4JLW1
Figura 5. Enunciado de problema de descrição de variáveis e dados de entrada e de saída.
Fonte: Chapra (2013).
Por meio desse enunciado, conseguimos analisar as variáveis e os dados 
de entrada e de saída, conforme segue:
 Variáveis: a, b, c, r1, r2.
 Dados de entrada: input a, b, c.
 Dados de saída: r1, r2.
Observa-se que facilmente se consegue analisar as variáveis, os dados de 
entrada e de saída e que facilmente os conceitos de declaração e entrada e 
saída de dados podem ser aplicados em algoritmos na solução de problemas, 
por meio do MATLAB.
Conceitos de declaração e entrada e saída de 
dados em algoritmos na solução de problemas, 
por meio do MATLAB
Os conceitos de declaração e entrada e saída de dados podem ser facilmente 
aplicados na construção dos algoritmos por meio do MATLAB. Exemplos 
foram descritos ao longo deste capítulo e fi cou clara a demonstração das 
declarações de variáveis, do conjunto de dados de entrada e do que se espera 
Fluxo de controle: estrutura sequencial e entrada e saída de dados8
Identificação interna do documento AF6YJKGMHH-NB4JLW1
na saída de dados. Além disso, foram demonstrados alguns comandos, como 
o comando de soma sum utilizado para calcular a média, etc.
Como forma básica e teórica para a prática, sugere-se, portanto, três etapas 
para que o aluno descreva um problema:
1. Desenvolvimento do fluxograma.
2. Desenvolvimento do pseudocódigo.
3. Desenvolvimento do código computacional em MATLAB, etc.
Uso da ferramenta MATLAB para declaração de dados
De acordo com o aprendizado de entrada e saída de dados, tipos de estruturas 
e como visualizar os problemas, tem-se vários exemplos no MATLAB para 
códigos já implementados.
Matsumoto (2004) demonstra alguns desses exemplos de aplicações. Um 
dos exemplos é o dos carros de uma montadora, em que foram produzidos 
carros do tipo C1 e do tipo C2 e para cada carro referente aos meses de janeiro 
e de fevereiro houve custos diferenciados e que estão descritos no Quadro 1.
Fonte: adaptado de Matsumoto (2006).
Tipo de carro / mês Produção em janeiro
Produção em 
fevereiro
Carro C1 100 120
Carro C2 200 180
Custo em janeiro Custo em fevereiro
Carro C1 R$ 10,00 R$ 9,80
Carro C2 R$ 6,00 R$ 6,10
Quadro 1. Dados do problema de custo de carros.
Como questão do problema, a autora solicita que sejam criados no MATLAB 
duas matrizes representando as tabelas e que seja armazenada a variável m1, 
como multiplicação escalar das matrizes a e b.
9Fluxo de controle: estrutura sequencial e entrada e saída de dados
Identificação interna do documento AF6YJKGMHH-NB4JLW1
Assim, primeiramente e conforme estudado neste capítulo, devemos en-
tender quais são os dados de entrada, saída e as variáveis. Então teremos:
 Dados de Entrada1 (Produções/mês) : [100 120; 200 180]
 Dados de Entrada2 (Custo de carro/mês) : [10 9.8; 6 6.1]
 Dados de Saída: a*b
 Variáveis: a = matriz a; b = matriz b; m1 = variável de multiplicação 
das matrizes
Sendo assim, com esses dados de entrada, saída e variáveis conhecidas 
poderemos descrever o código computacional, que, segundo Matsumoto (2004), 
poderá ser determinado de acordo com a Figura 6.
Figura 6. Código criado para o exemplo de 
custos do carro.
Fonte: Matsumoto (2004).
Outro exemplo de aplicação demonstrado por Matsumoto (2004) é o das 
100 pessoas que trabalham em uma empresa de uma pequena ilha e tem os 
salários de acordo com o Quadro 2.
Fluxo de controle: estrutura sequencial e entrada e saída de dados10
Identificação interna do documento AF6YJKGMHH-NB4JLW1
Fonte: adaptado de Matsumoto (2006).
Salário Frequência
R$ 50,00 30
R$ 100,00 60
R$ 150,00 10
Quadro 2. Exemplo de salários de funcionários de uma empresa de uma pequena ilha.
No exemplo dado, observa-se que existe uma frequência de salários. Assim, 
o autor gostaria de saber qual é a média dos salários das pessoas e qual é a 
variância e o desvio padrão desses salários.
Portanto, para definir o código no programa MATLAB, primeiramente 
temos que identificar os dados de entrada, os dados de saída e as variáveis 
do problema. Assim, temos:
 Dados de Entrada1 (Salário): [50 100 150]
 Dados de Entrada2 (Frequência): [30 60 10]
 Dados de Saída1: média
 Dados de saída2: variância
 Dados de saída3: desvio padrão (dp)
 Variáveis: salários, frequência
Então, de acordo com Matsumoto (2004), o código pode ser facilmente 
resolvido, conforme a Figura 7.
11Fluxo de controle: estrutura sequencial e entrada e saída de dados
Identificação interna do documento AF6YJKGMHH-NB4JLW1
Figura 7. Código do exemplo de salários de funcionários de uma empresa de uma pequena 
ilha.
Fonte: Matsumoto (2004).
Sendo assim, observa-se que facilmente podemos utilizar a entrada de 
dados utilizando o MATLAB. No entanto, para a entrada de dados, assim 
como foi discutido anteriormente, existe uma função denominada input, que 
permite que o usuário forneça dados interativamente. Alguns exemplos com 
essa ferramenta input podem ser demonstrados, além disso, quando temos 
a declaração de função, teremos que declarar uma função de saída que, no 
caso do MATLAB, é chamada de fprint. Sendo assim, Becker et al.(2010) 
discutem alguns exemplos com essas funções.
Pedir que o usuário entre com os coeficientes de um polinômio do segundo grau 
ax2 + bx + c.
Fonte: Becker et al. (2010).
Fluxo de controle: estrutura sequencial e entrada e saída de dados12
Identificação interna do documento AF6YJKGMHH-NB4JLW1
Fazer com que o usuário calcule as raízes de um polinômio de segundo grau.
Fonte: Becker et al. (2010).
BECKER, A. J. et al. Noções Básicas de Programação em MATLAB. Santa Maria: Universidade 
Federal de Santa Maria, 2010. Disponível em: <http://www.inf.ufsc.br/~bosco.sobral/
ensino/ine5201/Apostila_MATLAB.pdf>. Acesso em: 15 fev. 2018.
CHAPRA, S. C. Métodos numéricos aplicados com MATLAB® para engenheiros e cientistas. 
3. ed. Porto Alegre: AMGH, 2013.
FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de programação: a construção de 
algoritmos e estruturas de dados. 3. ed. São Paulo: Pearson, 2005.
MATSUMOTO, É. Y. MATLAB 7: fundamentos. 2. ed. São Paulo: Érica, 2004.
Leituras recomendadas
BORATTI, I. C.; OLIVEIRA, A. B. Introdução à programação de algoritmos. 4. ed. Floria-
nópolis: Visual Books, 2013.
GILAT, A. MATLAB com aplicações em engenharia. 4. ed. Porto Alegre: Bookman, 2012. 
GILAT, A.; SUBRAMANIAM, V. Métodos Numéricos para Engenheiros e Cientistas: uma 
introdução com aplicações usando o MATLAB. Porto Alegre: Bookman, 2009.
MATHWORKS. 2018. Disponível em: <https://www.mathworks.com>. Acesso em: 
11 dez. 2017. 
13Fluxo de controle: estrutura sequencial e entrada e saída de dados
Identificação interna do documento AF6YJKGMHH-NB4JLW1
MATSUMOTO, É. Y. MATLAB 6.5: fundamentos de programação. São Paulo: Érica, 2002. 
PALM III, W. J. Introdução ao MATLAB para engenheiros. 3. ed. Porto Alegre: AMGH, 2013.
SILVA, N. G. Apostila de MATLAB: versão 0.91. Ouro Branco: Universidade Federal de 
São João Del Rei, 2013. Disponível em: <https://ufsj.edu.br/portal2-repositorio/File/
prof_ngoulart/apostila/Apostila_Matlab.pdf >. Acesso em: 12 dez. 2017.
SOUZA, M. A. F. et al. Algoritmos e lógica de programação. 2. ed. São Paulo: Cengage 
Learning, 2011.
VAROTO, P. S. Tutorial MATLAB: conceitos básicos. São Carlos: USP/Laboratório de Di-
nâmica, 2013. Disponível em: <http://www2.eesc.usp.br/labdin/luiz/tutorial_matlab.
pdf >. Acesso em: 12 dez. 2017.
Fluxo de controle: estrutura sequencial e entrada e saída de dados14
Identificação interna do documento AF6YJKGMHH-NB4JLW1
Identificação interna do documento AF6YJKGMHH-NB4JLW1
Identificação interna do documento AF6YJKGMHH-NB4JLW1
Nome do arquivo: 
C02_ALgoritomos_Fluxo_controle_sequencial_FINAL_202112101800
228913634.pdf
Data de vinculação ao processo: 10/12/2021 18:00
Processo: 515846
 
DICA DO PROFESSOR
O conceito de estrutura sequencial de um algoritmo é definido por meio de comandos de entrada 
e saída de dados de forma linear de cima para baixo e da esquerda para a direita.
Nesta Dica do Professor, você vai aprender a forma correta de como fazer a declaração de 
variáveis, a entrada de dados, o processamento de dados e a saída de dados utilizando linguagem 
MATLAB. Gerando, assim, de maneira correta, uma estrutura sequencial. Não deixe de assistir 
ao vídeo e procure praticar no MATLAB. 
Conteúdo interativo disponível na plataforma de ensino!
SAIBA +
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do 
professor:
Programação de Computadores - Problemas e Algoritmos
Neste link, você terá acesso a um vídeo em que é demonstrado o que vem a ser um problema, 
como solucionar, como analisar um algoritmo, as sub-rotinas, como detalhar o algoritmo e os 
laços.
Conteúdo interativo disponível na plataforma de ensino!
Programação de Computadores - Operações Aritméticas e Variáveis
Neste link, você terá acesso a um vídeo que trata sobre uma aula de operações aritméticas e 
variáveis, um ótimo vídeo para identificarmos como os dados e as variáveis atuam dentro do 
algoritmo.
Conteúdo interativo disponível na plataforma de ensino!
Estrutura de dados - Lista linear sequencial
Neste link você terá acesso a um vídeo que aborda a lista sequencial sobre estrutura de dados.
Conteúdo interativo disponível na plataforma de ensino!

Continue navegando