Você está na página 1de 47

Desenvolvedor de

APLICATIVOS
PARA MÍDIAS DIGITAIS
Curso de Formação Inicial e Continuada
Modalidade Ead
A Fundação de Educação para o trabalho de Minas Gerais -
UTRAMIG é um órgão mantido pelo Governo do Estado de Minas
Gerais, referência no ensino profissionalizante, pautado pela
ética, competência, inovação e responsabilidade social.

Dentre os seus diferenciaus, estão um currículo atualizado e


sintonizado com as novas demandas do mercado da Indústria,
corpo docente qualificado, infraestrutura acadêmica e
laboratorial completa, além de vivências profissionais, por meio
de programas de estágio e de parcerias institucionais, que
encurtam o caminho entre a escola e a vida profissional.

Essa apostila faa parte de um curso gratuito na modalidade EaD


que pode ser acessado pelo portal da UTRAMIG mediante
inscrição prévia em:www.virtual.utramig.mg.gov.br

O conteúdo desta apostila pode ser distribuido e replicado desde


seja citado a fonte e os autores.
Apostila do Curso Desenvolvedor de Aplicativos para Mídias Digitais

Presidente: Paulo Henrique Azevedo Nascimento

Diretor de Qualificação e Extensão: Rogério Luis Massensini

Gerente de Ensino Técnico: Walkíria Strauss Berthault

Gerente de Ensino à Distância: Rodrigo Antônio Queiroz Costa

Professor autor: Luciana Aparecida Cunha Soares

Orientador técnico: Clara Andrade Pimentel

Supervisora Pedagógica -  Luciene Kênia Silva

Projeto Gráfico: Euber Silva, Juliana Hollerbach de Aguilar, Liliana Kelly


dos Santos, Rodrigo Antônio Queiroz Costa, Samuel Pimenta

Diagramação: Liliana Kelly dos Santos

Revisão Técnica: Clara Andrade Pimentel

Revisão: Shirley Borja

Material produzido com recursos do Pronatec. Copyright © 2022,


Utramig, Belo Horizonte/MG. Todos os direitos reservados.
Sumário

1 LÓGICA DE PROGRAMAÇÃO 

a­ Introdução  a Lógica de Programação 
b­ Conceitos básicos  
c­ Construção de algoritmos   

2 CONCEITOS BÁSICOS PARA A 
CONSTRUÇÃO DE ALGORÍTIMOS 
PARA COMPUTADORES 
a­ Formalizando a escrita de algoritmos 
b­ Variáveis
c­ Constantes  
d­ Comandos de atribuição, entrada e saída 
     de dados 
e­ Operadores aritméticos e expressões 
     aritméticas 
Sumário

3 EXPRESSÕES LÓGICAS E ESTRUTURA 
DE DECISÃO 
a­ Operadores relacionais, operadores 
     lógicos e expressões lógicas 
c­ Estrutura de decisão  

4 ESTRUTURA DE REPETIÇÃO 

a­ Estrutura de repetição Para...Faca 
b­ Estrutura de repetição Enquanto ....Faca
Apresentação

Seja bem-vindo (a)


ao curso de Desenvolvedor (a)
de Aplicativos para Mídias
Digitais.
Lógica de
PROGRAMAÇÃO

UNIDADE 01
1
Introdução a
LÓGICA DE PROGRAMAÇÃO
OBJETIVOS
• Compreender os conceitos de lógica de programação e algoritmos.

• Conhecer os primeiros exemplos de algoritmos.

•Entender os conceitos de estruturas no contexto de algoritmos.

1.1 Conceitos básicos

Iniciaremos nosso curso com os estudos sobre Lógica de Programação.


Entretanto, antes de começarmos, é útil uma reflexão sobre o significado da
palavra Lógica. Assim, o que é Lógica?

“Lógica é o estudo do raciocínio correto, especialmente no que envolve


a elaboração de inferências.”
Jakko Hintikka, professor de Filosofia da Universidade de Boston.

OU AINDA
Lógica pode ser vista como a arte de pensar corretamente.
A lógica visa colocar ordem no pensamento (FARRIER, 1999).
Introdução a
1
LÓGICA DE PROGRAMAÇÃO

Fonte: ANTERO, 2018, p. 12

Segundo Zanin (2016, p. 54) “a lógica proporciona um


pensamento mais organizado e uma melhor ordenação e
utilização de argumentos para a construção de uma conclusão
válida”.

Utilizamos a lógica de forma natural em nosso cotidiano. Por


exemplo, o(a) professor(a) deste curso, pode solicitar que os
alunos descrevam o passo a passo de seu dia de hoje. Cada
aluno irá descrever de uma maneira. Vejamos outros exemplos:
1 Conceitos básicos para
a construção de algoritmos
para COMPUTADORES

2.2- Variáveis
O primeiro passo para que um programa seja
executado em um computador é fazer o carregamento
desse programa para a memória. A memória é utilizada
para armazenar tanto as instruções dos programas
quanto os dados utilizados pelos mesmos. Qualquer
programa, para ser executado, tem de estar na
memória (FARRER, 1999).

Memória: Meio físico para armazenar dados temporariamente ou


permanente (TANENBAUM, 1997, p. 212).

Ao desenvolvermos nossos algoritmos, frequentemente


precisamos armazenar dados referentes ao problema,
como um nome, um número ou mesmo o resultado de
uma operação. Mas, para armazenar esses dados,
precisamos solicitar ao computador que ele reserve
uma área da memória para nosso uso. A forma de
solicitar ao computador que reserve memória é
chamada de declaração de variáveis. A seguir exibe-se
como declarar variáveis em Portugol:
Introdução a
1 LÓGICA DE PROGRAMAÇÃO
a) Sei que o celular está no carro
Sei que o carro está fechado.
Logo, concluo que tenho que abrir o carro para pegar o celular.

b) Sei que sou mais velha que Bruno.


Sei que Bruno é mais velho que Natália.
Então, concluo que sou mais velha que Natália.

Para saber mais: Resolva o desafio dos missionários e canibais no link:


https://rachacuca.com.br/jogos/missionarios-e-canibais/

1.2 Construção de algoritmos


A lógica de programação é essencial para todos que desejam
desenvolver aplicativos para mídias digitais. Assim, temos:

A lógica de programação é essencial para todos que desejam desenvolver


aplicativos para mídias digitais. Assim, temos:

Um clássico exemplo de algoritmo é uma receita culinária. Veja o


exemplo a seguir:

Bolo de Fubá
Ingredientes Modo de Preparo
1 xícara (chá) de fubá Numa vasilha, misture as 5 xícaras (chá) de
1 xícara (chá) de farinha de trigo óleo, leite, açúcar, farinha de trigo e fubá.
1 xícara (chá) de açúcar Em seguida, acrescente o fermento, a canela
1 xícara (chá) de leite e por fim os ovos.
1 xícara (chá) de óleo
1 colher de fermento Unte uma forma redonda com margarina,
3 ovos Borrife a farinha de trigo e despeje a massa.
1 pitada de canela
Margarina para untar.
Asse em temperatura média por 30 minutos.
Farinha de trigo para borrifar.
Introdução a
LÓGICA DE PROGRAMAÇÃO 1

Segundo Batista (2013, p. 22) “a receita tem todas as


características de um algoritmo. Ela tem uma sequência
detalhada de passos, descrita no modo de preparo. Apresenta a
tarefa a ser realizada, que no caso é o bolo de fubá. Além disso,
podemos identificar na receita entradas (no caso, os
ingredientes) e uma saída, que é o próprio bolo”.

O programa de computador “funciona” da seguinte maneira. A


figura a seguir apresenta:

Esquema dos elementos de um programa de computador (elaborada pela autora)

O algoritmo não é a solução do problema, mas uma forma de


solucioná-lo. Assim, para um mesmo problema, podemos criar
diferentes algoritmos usando diferentes abordagens. Em outras
palavras, podemos usar diferentes sequências de instruções
para resolver o mesmo problema. Em alguns casos, até mesmo
diferentes instruções.

O principal objetivo da programação é construir algoritmos. Mas,


afinal o que é um algoritmo?

Algoritmo: Formalmente é uma sequência finita de passos que levam à execução de uma tarefa.
Podemos pensar em algoritmo como uma receita, uma sequência de instruções que
dão cabo de uma meta específica (FORBELLONE et al., 2005).

Batista (2013, p. 20) diz que, a construção de um algoritmo deve


observar todos os passos necessários à execução da atividade
e evitar que passos desnecessários sejam executados ou que
passos interdependentes sejam executados fora de ordem.
1
Introdução a
LÓGICA DE PROGRAMAÇÃO
Durante a construção de um algoritmo são realizadas constantes
revisões a fim de identificar novas situações ou exceções a serem
tratadas. Quando temos um problema e precisamos construir um
algoritmo para resolvê-lo, devemos passar pelas seguintes etapas:

a) Definir o problema;

b) Realizar um estudo da situação atual e verificar qual(is) a(s) forma(s) de resolver o


problema;

c) Terminada a fase de estudo, descrever o algoritmo que deverá, a princípio, resolver o


problema;

d) Analisar junto aos usuários se o problema será resolvido. Se a solução não foi
encontrada, ou surgirem exceções a serem tratadas, deverá ser retomado para a fase de
estudo para descobrir onde está a falha.

A fim de explicar melhor como um algoritmo é construído,


vamos apresentar o clássico problema de como trocar uma lâmpada.

Sequência de passos para solução:


1.Pegue uma escada;
2.Posicione a escada embaixo da lâmpada;
3.Pegue uma lâmpada nova;
4.Suba na escada;
5.Retire a lâmpada velha;
6.Coloque a lâmpada nova.

A solução anterior é apenas uma das muitas possíveis soluções para o


problema apresentado. Deste modo apresentaremos uma outra possível solução:

1.Pegue uma lâmpada nova;


2.Pegue uma escada;
3.Posicione a escada embaixo da lâmpada;
4.Suba na escada;
5. Retire a lâmpada velha;
6. Coloque a lâmpada nova.
Introdução a
LÓGICA DE PROGRAMAÇÃO 1

Para encerrarmos esse capítulo, Batista (2013, p. 24) diz que “o


computador, a princípio não executa nada. Para que ele faça
uma determinada tarefa, calcular uma folha de pagamento, por
exemplo, é necessário que ele execute um programa. Um
programa é um conjunto de milhares de instruções que indicam
ao computador, passo a passo, o que ele tem que fazer. Logo,
um programa nada mais é do que um algoritmo computacional
descrito na linguagem de programação. Uma linguagem de

1- Fase de resolução de problema


ENTRADA

SOLUÇÃO NA
FORMA DE
ALGORÍTIMO

SOLUÇÃO
COMO UM
PROGRAMA DE
COMPUTADOR 2- Fase de implementação do algorítimo

Fases de programação.
Fonte: Elaborada pela autora

Todo programa fundamentalmente opera sobre um conjunto de


entradas que representa os dados iniciais necessários à
resolução do problema. Essas entradas são então processadas
a partir de um conjunto de regras já definidas e, ao final, o
programa gera um conjunto de saídas que representa o
resultado do processamento.
Conceitos básicos
para a construção
de algoritmos
PARA COMPUTADORES

UNIDADE 02
Conceitos básicos para
a construção de algoritmos
2 para COMPUTADORES
OBJETIVOS
• Compreender a necessidade de utilizar uma linguagem
de programação para construir algoritmos;
• Entender os conceitos de variáveis, constantes e tipos de
dados;
• Aprender os conceitos de comandos de atribuição,
entrada e saída de dados;
• Aprender os conceitos aritméticos e a ordem de
procedência;
• Fazer os nossos primeiros algoritmos em Portugol.

2.1 Formalizando a escrita de


algoritmos
Para que os computadores sejam capazes de “entender”
os algoritmos que iremos desenvolver, necessitamos
transformar a sequência de passos que escrevemos em
linguagem natural para uma linguagem a ser
“compreendida” pelo computador. Essas linguagens são
chamadas de linguagem de programação. Existem várias
linguagens de programação no mundo do trabalho. Em
nosso curso veremos algumas delas.

Nuvem de palavras com algumas linguagens de programação.

Fonte: http://www.cadcobol.com.br/linguagem_de_programacao_projetotifacil.htm
Conceitos básicos para
a construção de algoritmos
2
para COMPUTADORES

Linguagem de Programação: É um método padronizado para expressar


instruções para um computador. É um conjunto de regras sintáticas e semânticas
utilizadas para especificar precisamente sobre quais dados um computador vai atuar,
como estes dados serão armazenados ou transmitidos e quais
ações devem ser realizadas sob várias circunstâncias (SILVA, 2007, p. 251).

Outra definição para linguagem de programação.

Fonte: https://www.dicio.com.br/linguagem-de-programacao/
Conceitos básicos para
a construção de algoritmos
2 para COMPUTADORES
Para introduzirmos os principais conceitos de programação, a primeira
linguagem de programação que veremos em nosso curso será o Portugol. O
Portugol é uma linguagem de programação simples e de fácil compreensão.

Portugol:
É uma pseudolinguagem que utilizamos para desenvolver a lógica de programação
simulando uma linguagem de computador (SILVA, 2007, p. 252).

Utilizaremos o software/aplicativo VisuAlg. O software


VisuAlg foi desenvolvido pelo professor Antônio C.
Nicolodi após vivenciar a dificuldade para encontrar um
software disponível no mercado nos anos de 1980.

Desenvolvedor do software VisuAlg.

Fonte: https://visualg3.com.br/o-professor-antonio/

O download do software para computador está disponível em:


https://visualg3.com.br/baixe-o-visualg-3-0-7/.

Caso o aluno esteja estudando pelo smartphone, o caminho é ir


a loja de aplicativos e digitar: Visualg. Recomendamos o
aplicativo Portugol Mobile ou Pseucocode.
2 Conceitos básicos para
a construção de algoritmos
para COMPUTADORES

2.2- Variáveis
O primeiro passo para que um programa seja
executado em um computador é fazer o carregamento
desse programa para a memória. A memória é utilizada
para armazenar tanto as instruções dos programas
quanto os dados utilizados pelos mesmos. Qualquer
programa, para ser executado, tem de estar na
memória (FARRER, 1999).

Memória: Meio físico para armazenar dados temporariamente ou


permanente (TANENBAUM, 1997, p. 212).

Ao desenvolvermos nossos algoritmos, frequentemente


precisamos armazenar dados referentes ao problema,
como um nome, um número ou mesmo o resultado de
uma operação. Mas, para armazenar esses dados,
precisamos solicitar ao computador que ele reserve
uma área da memória para nosso uso. A forma de
solicitar ao computador que reserve memória é
chamada de declaração de variáveis. A seguir exibe-se
como declarar variáveis em Portugol:
Conceitos básicos para
a construção de algoritmos 2
para COMPUTADORES

Variável: É uma posição nomeada de memória, que é usada para guardar


um valor que pode ser modificado pelo programa (LAUREANO, 2005, p.12).
2 Conceitos básicos para
a construção de algoritmos
para COMPUTADORES
Segundo Carvalho (2010, p.25) “quando declaramos uma
variável, devemos ter em mente quais valores serão
armazenados naquele espaço de memória. É essa observação
que definirá o tipo da variável a ser declarada. Uma variável pode
ser de um dos seguintes tipos:

• Tipo inteiro: Declararemos variáveis do tipo numérico inteiro


quando precisarmos armazenar valores inteiros, positivos ou
negativos (0, 1, 5, 7, -10, -5...). Por exemplo, se precisarmos de uma
variável para armazenar o número de filhos de um funcionário, o tipo
ideal para essa variável seria inteiro.

• Tipo real: Declararemos variáveis do tipo numérico real para


armazenar valores reais; em outras palavras, valores com ponto
decimal (5.7, 3.2, -8.5). Esse seria o tipo ideal para armazenar, por
exemplo, o salário de funcionários.

• Tipo caractere: Declararemos variáveis do tipo literal caractere para


armazenar um único caractere, que pode ser uma letra ou um
símbolo. Por exemplo, para identificar o sexo do indivíduo,
armazenaremos apenas o caractere ‘F’ ou ‘M’.

• Tipo cadeia: Declararemos variáveis do tipo literal cadeia para


armazenar uma sequência de caracteres, ou seja, uma palavra, uma
mensagem, um nome. Assim, se precisarmos de uma variável para
armazenar o nome de uma pessoa, esse seria o tipo ideal.

• Tipo lógico: Declararemos variáveis do tipo lógico para armazenar


valores lógicos. O valor de variáveis desse tipo será sempre
VERDADEIRO ou FALSO.
Introdução a
LÓGICA DE PROGRAMAÇÃO 2

2.2- Constantes
Vimos anteriormente que o valor de uma variável pode ser
alterado ao longo de seu algoritmo. Entretanto, às vezes,
precisamos armazenar valores que não mudam. Para isso
existem as constantes.

Constantes são criadas obedecendo às mesmas regras de nomenclatura


já vistas em variáveis. Diferem apenas no fato de armazenarem um
valor constante, ou seja, que não se modifica durante a execução
de um programa.

A sintaxe para a declaração de constantes em Portugol:

Constante: É uma variável com valor pré-definido que não pode ser
modificado por nenhuma função de um programa (LAUREANO, 2005, p.16).
2 Conceitos básicos para
a construção de algoritmos
para COMPUTADORES

2.2- Comandos de atribuição, entrada


e saída de dados

Comandos de atribuição:
Quando construímos algoritmos, após declararmos nossas
variáveis e/ou constantes, precisamos indicar que elas
armazenarão um determinado valor durante a execução do
programa. Portanto, utilizamos o comando de atribuição em
Portugol, representado por uma seta ( ), conforme
representado a seguir:

Fonte: CARVALHO, 2010, p. 29.

Exemplo de Carvalho (2010, p 29), “os sinais /* e */ indicam o


início e o fim de um comentário, que pode ocupar mais de uma
linha. Os sinais // indicam um comentário que vai até o fim da
linha. Em programação utilizamos comentários para explicar a
lógica utilizada em nossos algoritmos.”
Introdução a
LÓGICA DE PROGRAMAÇÃO 2

Fonte: CARVALHO, 2010, p. 29 e 30.

2.5 Operadores aritméticos e expressões


aritméticas
Os operadores aritméticos são os símbolos que representam
operações aritméticas, ou seja, os símbolos matemáticos básicos,
aqueles que conhecemos da escola.

Operador Operação matemática

Adição

Subtração
Multiplicação

Divisão
Resto da divisão inteira
Operadores aritméticos

Para que possamos resolver expressões aritméticas compostas por


mais de um operador, devemos utilizar a ordem de precedência entre
os mesmo, conforme a seguir:

Prioridade Operador Operação


Multiplicação 
1ª +   - Divisão 
Resto da divisão

2ª Adição 
*  /  %
Subtração

Ordem de precedência entre operadores aritméticos


2 Conceitos básicos para
a construção de algoritmos
para COMPUTADORES
Além da ordem de prioridades definida acima, podemos utilizar
parênteses. Assim, resolvemos primeiro as expressões contidas
nos parênteses mais internos, seguindo a ordem de precedência
entre operadores, passando depois para os parênteses mais
externos. Por exemplo, na expressão:

nota1 + (nota2 + nota3) / 2


Primeiro somamos nota2 a nota3. O resultado é dividido por 2 e
só depois somamos com nota1.
A seguir apresentaremos dois exemplos de programas. Caso
tenha instalado o VisuAlg, chegou a hora de treinarmos. Para
rodar o programa, aperte F9 ou Run (executar).

Algoritmo "Exemplo1"
// Descrição : Desenvolver um algoritmo solicitando que o usuário digite
seu nome e depois imprimimos na tela uma saudação ao mesmo.
// Autor(a) : Luciana Soares
// Data atual : 28/08/2022

Var
// Seção de Declarações das variáveis
nome : caractere //criamos uma variável do tipo cadeia.

Início

// Seção de Comandos, procedimento, funções, operadores, etc...

escreva ("Digite seu nome:") // solicitamos que o usuário digite seu nome
leia (nome) // lemos para a variável nome o valor digitado
pelo usuário escreva ("Bom dia, ", nome) // imprimimos na tela a mensagem
Bom dia acompanhada pelo nome digitado pelo usuário

Fimalgoritmo

1º exemplo de algoritmo
Introdução a
LÓGICA DE PROGRAMAÇÃO 2

1º exemplo da tela do VisuAlg

No 1º exemplo, apresentamos o código e em seguida a execução do


mesmo no software VisuAlg. Agora é a vez de vocês treinarem. Faça
o algoritmo soma no VisuAlg.

Algoritmo "Soma"
//
//
// Disciplina : [Lógica de Programação]
// Professora : Luciana Soares
// Descrição : No programa abaixo, dois valores inteiros são lidos e somados
e //o resultado dessa soma é mostrado no final da execução. Analise as linhas
do // programa e assinale as afirmações corretas.
// Autor(a) : Nome do(a) aluno(a)
// Data atual : 28/08/2022

Var
Num1, Num2, Soma: inteiro

Início

Escreva ("Digite o primeiro número:")


leia (Num1)
escreva ("Digite o segundo número:")
leia (Num2)
soma <- Num1+Num2
escreva ("A soma dos números digitados é:", Soma)
Fimalgoritmo
2º exemplo de algoritmo
Expressões
lógicas
e estruturas
DE DECISÃO

UNIDADE 03
Expressões lógicas
3 e estruturas DE DECISÃO

OBJETIVOS
• Apresentar os operadores relacionais e lógicos;
• Conhecer a ordem de procedência entre os operadores em
expressões lógicas;
• Entender a formalização de uma estrutura de decisão no contexto
de um algoritmo em Portugol;
• Desenvolver algoritmos em Portugol com estruturas de decisão.

3.1 Operadores relacionais, operadores


lógicos e expressões lógicas
Para compreendermos o conceito e como utilizar as expressões
lógicas, primeiro precisamos entender os operadores lógicos e os
operadores relacionais, pois as expressões lógicas são formadas
utilizando esses operadores.

Utilizaremos os operadores relacionais para realizarmos


comparações entre dois ou mais valores de um mesmo tipo. Estes
valores podem ser variáveis e/ou constantes, conforme
mostraremos na tabela a seguir:

Descrição Símbolo

Igual a

Maior que
Menor que

Maior ou igual a
Menor ou igual a

Diferente de

Operadores relacionais
Expressões lógicas
3
e estruturas DE DECISÃO
Carvalho (2010, p. 38) faz uma comparação realizando e utilizando
um operador relacional dando-se o nome da relação. O resultado
obtido de uma relação é sempre um valor lógico, ou seja, verdadeiro
ou falso.
A seguir, temos exemplos de relações e seus resultados. Para tais
exemplos, considere duas variáveis inteiras, A e B, onde A = 5 e B = 8.

Relação Resultado

Falso

Verdadeiro
Falso

Verdadeiro
Verdadeiro

Exemplos de relações e seus resultados (para A=5 e B =8)

Os operadores lógicos retornam valores verdadeiro (V) ou falso (F) de


acordo com seus operandos. Os operadores lógicos mais comuns
são E, OU e NÃO. .

Os operadores lógicos também são conhecidos como conectivos,


pois são utilizados para formar novas proposições a partir da junção
de duas outras. Para entender o funcionamento de operadores
lógicos, vamos recorrer ao nosso exemplo das variáveis inteiras, A e
B onde A = 5 e B = 8. A seguir veremos exemplos de expressões que
usam operadores lógicos.

Relação Resultado

Verdadeiro: o valor de A é menor


que 6 e o valor de B é maior que 7

Falso: apesar de o valor de A ser igual


a 5, o valor de B não é menor que 5

Verdadeiro: usando o operador Ou,


se ao menos uma das condições for
verdadeira (A=5), o resultado
da expressão é verdadeira

Expressões utilizando operadores lógicos e seus resultados (para A=5 e B=8)


Expressões lógicas
3 e estruturas DE DECISÃO
Devem ter notado que nos exemplos
da tabela anterior que:
•quando utilizamos o operador lógico E, o resultado só será
verdadeiro se as duas condições relacionadas forem verdadeiras;
•para o operador OU, basta que uma das condições seja verdadeira
para que o resultado seja verdadeiro;
•em consequência: com o operador OU, para que o resultado seja
falso as duas condições devem ser falsas.

Para visualizar todas as opções possíveis ao combinar operadores


lógicos, estudaremos as Tabelas-verdade.

Tabela-verdade do operador OU

Tabela-verdade do operador E

Não P

Tabela-verdade do operador NÃO


Expressões lógicas
3
e estruturas DE DECISÃO
Carvalho (2010, p. 38) faz uma comparação realizando e utilizando
um operador relacional dando-se o nome da relação. O resultado
obtido de uma relação é sempre um valor lógico, ou seja, verdadeiro
ou falso.
A seguir, temos exemplos de relações e seus resultados. Para tais
exemplos, considere duas variáveis inteiras, A e B, onde A = 5 e B = 8.

Prioridade Operador
Operadores aritméticos seguindo a ordem de
1ª precedência, conforme visto anteriormente

2ª Operadores relacionais

3ª Operador lógico NÃO

4ª Operador lógico E

5ª Operador lógico OU

Ordem de precedência entre operadores em expressões lógicas

Fonte: CARVALHO, 2010, p. 40-41.


Expressões lógicas
3 e estruturas DE DECISÃO
Bem...
Isto pode ficar confuso.
• Uma forma de você evitar confusão é definir as precedências
usando parênteses. As expressões dentro dos parênteses mais
internos são resolvidas primeiro;
• Depois você pode testar o uso de parênteses também usando uma
planilha de cálculo como o Excel, por exemplo.Vamos treinar um
pouco.
Observe as seguintes declarações de variáveis e suas respectivas
atribuições e responda às questões abaixo:

var

início

3.2 Estruturas de decisão


Como vimos no início da apostila, no exemplo de como trocar a
lâmpada, nós precisamos tomar decisões que podem interferir no
desenvolvimento do algoritmo. Representamos essas decisões em
nossos programas com o uso de Estruturas de Seleção, ou
Estrutura de Decisão

Estrutura de Decisão: Determinam se um bloco de ações será ou não


executado de acordo com as decisões tomadas por condições lógicas
ou relacionais. As principais estruturas de decisão são:
Se.... Então; Se... Então... Senão e Caso. SILVA, 2007, p. 67.
Expressões lógicas
3
e estruturas DE DECISÃO

Estrutura de Seleção: Os comandos de seleção ou de decisão são


técnicas de programação que conduzem as estruturas de programas
que não são totalmente sequenciais. Uma estrutura de seleção permite
a escolha de um grupo de ações a ser executado quando determinadas
condições, representadas por expressões lógicas, são ou não satisfeitas.
CARVALHO, 2010, p.43

Fonte: CARVALHO, 2010, p. 43.


Expressões lógicas
3
e estruturas DE DECISÃO

No exemplo a seguir, faremos um programa que solicita que o


usuário preencha suas duas notas, tire a média das duas e, caso a
média seja maior ou igual a 60, apresente uma mensagem
parabenizando-o pela aprovação:

Fonte: CARVALHO, 2010, p. 44.


Expressões lógicas 3
e estruturas DE DECISÃO

No exemplo a seguir, faremos um programa que solicita que o


usuário preencha suas duas notas, tire a média das duas e, caso a
média seja maior ou igual a 60, apresente uma mensagem
parabenizando-o pela aprovação:

Fonte: CARVALHO, 2010, p. 44.

Veja que, nessa nova versão do algoritmo, caso a média seja maior
ou igual a 60 pontos, continua sendo exibida uma mensagem
informando que o aluno foi aprovado e caso o aluno não atinja a nota
de 60 pontos, aparece a mensagem informando a reprovação.
Estrutura de
REPETIÇÃO

UNIDADE 04
Estrutura de
4
REPETIÇÃO

OBJETIVOS
• Aprender a utilização de estruturas de repetição em algoritmos;
• Aprender dois tipos de estruturas de repetição em Portugol e
verifiar quando devemos utilizar cada uma;
• Desenvolver algoritmos em Portugol utilizando as estruturas de
repetição

Durante o desenvolvimento de um programa, muitas vezes,


encontramos situações em que é necessário repetir um trecho de
código várias vezes, como, por exemplo, quando temos que
calcular a média aritmética das notas dos alunos de uma escola.
Se fossemos utilizar a estrutura SE ENTÃO teríamos que escrever
um trecho de cálculo para cada aluno da escola. Para resolver
situações como esta, utilizamos os comandos de repetição, que
possibilitam que o trecho de código seja repetido por quantas
vezes forem necessárias.
Os comandos de repetição também são conhecidos por loops ou
looping, que significa voltas, laçadas. São utilizados quando
desejamos que um determinado conjunto de instruções ou
comandos sejam executados um número definido ou indefinido
de vezes, ou enquanto um determinado estado de coisas
prevalecer ou até que seja alcançado. (SILVA, 2007, p.79)

Estruturas de repetição ou laços são técnicas de programação


que permitem que um bloco de instruções seja executado várias
vezes até que uma determinada condição seja satisfeita. Assim,
essas estruturas são compostas por uma condição e um conjunto
de instruções a serem executadas enquanto a condição não for
satisfeita (CARVALHO, 2018, p. 47).
Estrutura de
4
REPETIÇÃO
4.1 Estrutura de repetição
Para.... Faca
A estrutura de repetição Para...Faca é utilizada quando um
determinado bloco de instruções deve ser repetido um número fixo
conhecido de vezes.

Fonte: CARVALHO, 2010, p. 49.


Estrutura de
4 REPETIÇÃO
Como estamos seguindo as definições do autor Carvalho,
apresentaremos a seguir o exemplo apresentado por este na
apostila base da disciplina. Vamos supor que queiramos apenas
imprimir na tela do computador todos os números inteiros de 1 até
10. Vamos fazer isso utilizando a estrutura Para...Faca.

Fonte: CARVALHO, 2010, p. 49.

Agora vamos entender nosso algoritmo. Nas 4 primeiras linhas


não temos novidades: apenas nomeamos o algoritmo, definimos
uma variável e iniciamos o programa.
Na linha 5 estamos definindo um laço utilizando a variável
contador como controle. Note que iniciamos nosso laço atribuindo
o valor 1 à variável contador e indicamos que o laço irá até 10 com
passo 1, ou seja, a primeira vez que o laço for executado a variável
contador será igual a 1. Então, o comando escreva presente na
linha 6 imprimirá 1 na tela.
Após a execução da escrita, chegamos ao final do laço (linha 7 ...
fim para). Nesse ponto, a variável de controle é incrementada pelo
valor de passo (no nosso exemplo o valor de passo é 1). Assim, a
variável contador passa a ter o valor 2. Como 2 é menor ou igual a
10 (valor final do laço), o laço é repetido. Assim, o comando
escreva que aparece na linha 6 será executado novamente e
imprimirá 2 na tela.
Novamente a variável contador é incrementada em 1, passando a
valer 3. Como 3 ainda é menor ou igual a 10 (valor final do laço), o
laço é repetido, imprimindo 3 na tela. E assim a execução segue
até que a variável de controle atinja um valor maior que 10.
Estrutura de
REPETIÇÃO 4
Dessa maneira, ao executar esse algoritmo, seria impresso na tela o
seguinte: 12345678910
Agora que entendemos como utilizar uma estrutura para...faça,
vamos voltar ao nosso exemplo do cálculo da média de alunos.
Suponha que queiramos fazer um algoritmo para calcular as médias
das notas de 20 alunos. Nesse exemplo, sabemos que o bloco
responsável pelo cálculo das médias terá de se repetir por 20 vezes.
Assim, vamos fazer um laço utilizando a estrutura para...faça tendo
como valor inicial 1, valor final 20 e incremento 1. Assim, a variável
de controle começará com 1 e, a cada vez que o laço for executado,
ela será incrementada em 1, até chegar ao valor 20. Ou seja, o laço
será executado 20 vezes. Esse algoritmo está implementado no
Exemplo 2.

Fonte: CARVALHO, 2010, p. 50-51.


Estrutura de
4 REPETIÇÃO
Na linha 6 deste exemplo da página anterior, estamos iniciando um
laço que termina na linha 18. O trecho que vai da linha 7 até a linha
17 está dentro do laço, ou seja, se repetirá 20 vezes, pois, pela
definição da linha 6, nosso laço vai de 1 a 20 com passo 1.
Veja que o trecho que está dentro do laço é idêntico ao algoritmo
para cálculo de média que vimos na seção anterior. Assim, por 20
vezes, nosso programa repetirá o procedimento de solicitar duas
notas, calcular a média e indicar se o aluno foi aprovado ou
reprovado. Na primeira vez que o laço for executado a variável
contador terá o valor 1. Na segunda vez, 2, e assim
sucessivamente, até exceder o valor 20.

4.2 Estrutura de repetição


Enquanto ... Faca
A estrutura de repetição Enquanto...Faca é utilizada quando um
determinado bloco de instruções deve ser repetido enquanto uma
determinada condição for verdadeira.

Fonte: CARVALHO, 2010, p. 52.


Estrutura de
REPETIÇÃO 4
Como primeiro exemplo, vamos fazer uma nova implementação do
algoritmo que imprime os números de 1 a 10; agora, porém,
utilizaremos a estrutura enquanto...faca no lugar da estrutura
para...faca utilizada anteriormente.

Fonte: CARVALHO, 2010, p. 53.

Vamos analisar nosso exemplo.


Da linha 1 até a linha 4 apenas nomeamos o algoritmo, declaramos
as variáveis e indicamos o início do bloco de instruções.
Na linha 5 iniciamos a variável contador com o valor 1. Quando
fizemos este exemplo, utilizando a estrutura para...faça, essa linha
não era necessária, pois, como vimos, a própria estrutura coloca na
variável um valor inicial.
Na linha 6 iniciamos a estrutura do laço enquanto...faça com a
condição de repetição definindo que o laço será executado enquanto
a variável contador for menor ou igual a 10.
Na linha 7 o valor da variável contador é impresso na tela e na linha 8
o valor dessa mesma variável é incrementado em 1. Assim, na
primeira vez que o laço for executado, será impresso na tela o valor 1
e a variável terá seu valor incrementado para 2. Como 2 é menor que
10, a condição de repetição continuará verdadeira, fazendo com que
o laço seja executado novamente, e assim sucessivamente, até que
o valor da variável contador atinja 11 e a condição de repetição seja
quebrada, encerrando o laço.
Note que, nesse caso, o algoritmo utilizando a estrutura para...faca
ficou menor que o algoritmo utilizando a estrutura enquanto...faca.
Estrutura de
4 REPETIÇÃO
Mas, vamos voltar ao exemplo do cálculo de média de alunos.
Quando falamos da estrutura para...faca desenvolvemos um
algoritmo que calcula as
médias de 20 alunos indicando se cada um foi aprovado ou não.
Agora vamos supor uma situação na qual não se saiba a
quantidade de alunos da turma e se queira calcular a média de
todos os alunos. Nesse caso, a saída seria calcular a média de um
aluno e depois perguntar ao usuário se ele deseja digitar as notas
de mais um aluno. Caso a resposta seja positiva, todo o processo
de digitar notas, calcular a média e perguntar se deseja digitar para
mais um aluno será repetido. E assim esse processo ocorrerá até
que o usuário informe que não deseja calcular a média de outro
aluno. Nesse caso, utilizaremos a estrutura enquanto...faça.
Veja o exemplo a seguir:

Fonte: CARVALHO, 2010, p. 54.


Estrutura de 4
REPETIÇÃO
Como sempre fazemos, vamos analisar nosso exemplo:
Na linha 4 declaramos uma variável do tipo caractere com o nome
resposta que será utilizada para informar se o usuário deseja ou não
digitar as notas de mais um aluno. Na linha 6 armazenamos um “S”
nesta variável. Fazemos isso para que a condição de repetição da
linha 7 seja verdadeira na primeira vez que for executada.
A linha 7 define o início da nossa estrutura de repetição que termina
na linha 21. Note que a condição de repetição é que o valor da
variável resposta seja igual a “S”. Assim, o trecho que vai da linha 8 à
linha 20 se repetirá enquanto o valor da variável resposta for “S”.4
O trecho que vai da linha 8 à linha 18 nós já conhecemos, pois o
utilizamos em vários outros algoritmos. É nesse trecho que
solicitamos a digitação das duas notas do aluno, calculamos a
média e imprimimos se ele foi aprovado ou não.
Na linha 19 perguntamos ao usuário se ele deseja digitar as notas de
outro aluno ou não. Esperamos que, caso deseje digitar as notas de
outro aluno, o usuário digite um “S” e, caso contrário, digite um “N”.
Na linha 20 a resposta digitada pelo usuário é armazenada na
variável resposta.
Esperamos que o usuário digite “S” ou “N”. Porém, no nosso
algoritmo, a resposta para continuar tem que ser “S” – maiúsculo.
Qualquer outro caractere
encerrará o laço.
Na linha 21 é encerrado o bloco de repetição. Assim, o fluxo volta à
linha 7 onde é testada a resposta dada pelo usuário. Se a resposta
for “S”, a condição de repetição será verdadeira e todo o bloco de
repetição é executado novamente. Caso contrário, o laço é finalizado
e a execução continua na linha 22, que determina o fim do programa.
REFERÊNCIAS

Antero, Marcio Aparecido. Algoritmos e lógica de programação / Marcio Aparecido


Artero, Vanessa Cadan Scheffer. – Londrina: Editora e Distribuidora Educacional S. A.,
2018. 216 p.

Batista, Rogério da Silva. Lógica de Programação / Rogério da Silva Batista. –


Teresina: Instituto Federal de Educação, Ciências e Tecnologia do Piauí, 2013. 158 p.

Carvalho, Victorio Albani de. Lógica de Programação: Curso Técnico em Informática /


Victorio Albani de Carvalho. – Colatina: CEAD / Ifes, 2010.

Silva, Camila Ceccatto da. Lógica de Programação: aprendendo a programar / Camila


Ceccatto da Silva, Evaristo Antônio de Antônio de Paula. – 1. ed. – Santa Cruz do Rio
Pardo. SP: Editora Viena, 2007.

Zanin, Vagner Luiz. Raciocínio lógico e matemático / Vagner Luiz Zanin. – Londrina:
Editora e Distribuidora Educacional S. A., 2016. 184 p.
PARA SABER:

Apostila extra Lógica de Programação. Disponível em:

LINK AVA (MATERIAL DIDÁTICO)

SE QUER SE APROFUNDAR NO ASSUNTO:

Silva, Camila Ceccatto da. Lógica de Programação: aprendendo a


programar / Camila Ceccatto da Silva, Evaristo Antônio de Antônio
de Paula. – 1. ed. – Santa Cruz do Rio Pardo. SP: Editora Viena,
2007.

Você também pode gostar