ALG
Linguagem de
Programação
Algorítmica
Linguagem de Programação
Algorítmica
• Apresentação e explanação do Plano de
Curso.
– Duração - 120 h/a
– Dias de aula - Segundas, Quartas e Sextas
– Turno - Manhã
– Horário - 8:00 às 10:00(Seg, sexta) e 10:15 às
12:15 ( quarta-feira)
Linguagem de Programação
Algorítmica
• Contextualização da disciplina no curso.
– É uma disciplina pertencente à coluna vertebral
do curso” (desenvolvimento de software)
– Conteúdo cumulativo
– Essencialmente prática (baseada em teoria)
• Exercícios variados por tópico
– Pré-requisito de 3 disciplinas do segundo semestre
Linguagem de Programação
Algorítmica
• Discussão do programa e das atividades a
serem desenvolvidas ao longo do curso.
– Aulas expositivas , com teoria e exercícios
– Exercícios : fundamentais
– 3 provas ( 1 por módulo), mais um projeto
interdisciplinar(opcional)
Linguagem de Programação
Algorítmica
• Instrumentos de aprendizagem e avaliação .
– Exercícios (listas)
– Provas de módulo
– Projetos interdisciplinares
– Desempenho em sala(participação)
– Desempenho extra-classe (dúvidas por e-mail)
– Sistema de avaliação: por competências
Linguagem de Programação
Algorítmica
Módulo 1
Princípios básicos de
algoritmos
Linguagem de Programação
Algorítmica
• O que é um Computador:
– Um “Burro” que trabalha rápido;
– É programável por nós;
– Executa instruções (ordens) que recebe;
– Pode executar repetidamente as instruções;
Linguagem de Programação
Algorítmica
• O que é um Computador:
– As instruções podem ser mudadas
– Conjunto de instruções: Programa
– Computador: trabalha com programas.
Linguagem de Programação
Algorítmica
• O que são algoritmos?
– Historicamente:
• São esquemas feitos com elementos
matemáticos para resolver problemas.
–Ex.: Método do máximo divisor comum.
Linguagem de Programação
Algorítmica
• O que são algoritmos?
– No sentido mais amplo:
• Algoritmo é:
–uma receita;
–um conjunto de ações;
–um processo;
Linguagem de Programação
Algorítmica
• O que são algoritmos?
• Algoritmo também é:
– um método;
– um procedimento;
– uma rotina;
Linguagem de Programação
Algorítmica
• O que são algoritmos?
– Pode ser:
• Computacional
–Ex.: Folha de Pagamento
• Não-Computacional
–Ex.: Trocar uma lâmpada
Linguagem de Programação
Algorítmica
Ação
É um acontecimento que, a partir de um
estado inicial, após um período de tempo
finito, produz um estado final previsível e
bem definido.
Linguagem de Programação
Algorítmica
Algoritmo
É a descrição de um conjunto de comandos
que , obedecidos, resultam em uma sucessão
finita de ações.
Linguagem de Programação
Algorítmica
Instruções
Operação elementar de uma linguagem de programação.
Classes de Instruções:
-aritméticas;
-de desvios;
- de repetições
-lógicas;
-de entrada/saída.
Linguagem de Programação
Algorítmica
Programas
Conjunto de Instruções, dentro de uma
seqüência, com o intuito de produzir um
determinado resultado.
Linguagem de Programação
Algorítmica
Programa X Algoritmo
Todo programa é um algoritmo, porém nem
todo Algoritmo é um programa.
Algoritmos
Programas
Linguagem de Programação
Algorítmica
Algoritmos:
Feitos em linguagem genérica, nem sempre
computacional.
Programas:
Algoritmos computacionais numa dada
linguagem.
Linguagem de Programação
Algorítmica
Como elaborar um
Algoritmo?
Linguagem de Programação
Algorítmica
Etapas:
– Compreensão dos Requisitos do problema;
– Concepção do Algoritmo;
– Refinamento e codificação;
– Verificação / teste do Algoritmo.
Linguagem de Programação
Algorítmica
Compreensão dos Requisitos do problema:
Entender:
-Quais informações são recebidas
(entrada);
-Quais resultados devem ser produzidos
(saída):
Linguagem de Programação
Algorítmica
Concepção do Algoritmo:
–Definir os objetos de dados;
–Definir as operações sobre os objetos (sem
detalhar);
–Escrever o algoritmo utilizando estas operações,
usando uma notação fácil de entender.
Linguagem de Programação
Algorítmica
Refinamento e Codificação:
- Escolher a representação dos seus dados;
- Escreveralgoritmos para cada uma das
operações a serem feitas sobre os dados.
Linguagem de Programação
Algorítmica
Verificação do algoritmo:
-Comprovação do programa;
-Testes;
-Aplicação.
Linguagem de Programação
Algorítmica
Quais as Dificuldades em Programar?
- Definir os passos para alcançar um
Objetivo.
- Definir a seqüência desses passos.
Linguagem de Programação
Algorítmica
Exemplos de programas do dia-a-dia:
- Trocar um pneu.
- Fazer um sanduíche.
- Pintar uma parede.
Linguagem de Programação
Algorítmica
Faça um algoritmo
para trocar um
pneu
Linguagem de Programação
Algorítmica
• Paro o carro
• Desço do carro
• Identifico o pneu furado
• Abro o porta-malas
• Retiro o macaco e a chave de rodas
Linguagem de Programação
Algorítmica
• Suspendo o carro com o macaco
• Retiro os quatro parafusos do referido pneu
• Retiro a roda (pneu + jante)
• etc.
Linguagem de Programação
Algorítmica
Exercício em sala:
- Elabore uma seqüência de operações para a
atividade de ir para a faculdade pela manhã.
- Elabore uma seqüência de comandos para a
atividade de organizar os cds por gênero
musical
Linguagem de Programação
Algorítmica
Estrutura Básica de Algoritmos:
- Todo algoritmo tem o formato :
ALGORITMO Nome_do_algoritmo
Comandos
FIM_ALGORITMO
Linguagem de Programação
Algorítmica
- Comandos : é a parte onde são processadas
as informações.
- Normalmente, Comandos tem um formato
do tipo:
- Receber dados
- Processar dados
- Exibir resultados
Linguagem de Programação
Algorítmica
- Algoritmos, portanto, tem o formato:
ALGORITMO Nome_do_algoritmo
Receber dados
Processar dados
Exibir resultados(DADOS PROCESSADOS)
FIM_ALGORITMO
Pelo formato acima, verificamos que, em essência, o
computador trabalha com DADOS
Linguagem de Programação
Algorítmica
DADO X INFORMAÇÃO
Linguagem de Programação
Algorítmica
O QUE É UM DADO ?
- Um número, letra, símbolo ou uma
combinação destes
- É manipulável
- Pode ser obtido através de outros dados
- Tem vários tipos.
- Exemplos : 53, Brasil, ou, a+b
Linguagem de Programação
Algorítmica
O QUE É UMA INFORMAÇÃO ?
- É um significado atribuído a um dado(ou
vários)
- É contextualizada
- Um dado só tem significado de acordo
com o contexto
- É armazenável
Linguagem de Programação
Algorítmica
INFORMAÇÃO : um dado contextualizado
- Exemplo : o número 53 , sozinho, não
possui significado
- Contextualizando:
- 53 dias
- 53 anos
- 53 dólares
Linguagem de Programação
Algorítmica
Tipos básicos de Dados
- Numéricos : São valores inteiros ou reais
Ex: 1, 3.5 , 100.48 , 200 .
- Literais ou alfanuméricos :
São seqüências de literais
Ex: “abc” , “josé”, “123.31”.
Linguagem de Programação
Algorítmica
Tipos básicos de Dados
- Lógicos
São valores que assumem apenas dois
estados: verdadeiro ou falso.
Linguagem de Programação
Algorítmica
Exemplos de valores e seus tipos associados
Valor Tipo
123 Numérico(inteiro)
“123” Literal
325,28 Numérico(real)
.F. Valor lógico FALSO
“F” Literal “F”
Linguagem de Programação
Algorítmica
Manipulando dados no computador
- Ao processar informações, o computador
lida com dados que podem não variar
(Constantes) e dados que podem variar
(Variáveis)
Linguagem de Programação
Algorítmica
Constantes
- São valores fixos, que não se modificam ao
longo do tempo durante a execução de um
programa.
Linguagem de Programação
Algorítmica
Constantes - Exemplo:
ALGORITMO PI Nome da Constante
Declare
Constante PI=3,1415
Constante Logico=.F. { valor lóg.FALSO }
Constante NOME=“José”
FIM_ALGORITMO
Linguagem de Programação
Algorítmica
Variáveis
- Correspondem a uma posição de memória
cujo conteúdo pode variar com o tempo
durante a execução de um programa.
- Só armazenam UM valor a cada instante.
Linguagem de Programação
Algorítmica
Variáveis
- Têm um nome (chamado
IDENTIFICADOR)
- Normalmente o nome é representativo do
conteúdo da variável.
- A construção do nome obedece regras
dependendo da linguagem utilizada.
Linguagem de Programação
Algorítmica
Variáveis
Regras básicas para nomes de variáveis:
- 1 : não deve iniciar por números
- 2 : não deve ter caracteres especiais
- 3 : não deve ter espaços em branco
Linguagem de Programação
Algorítmica
Variáveis
- Devem ter seu TIPO declarado.
- A declaração tem as seguintes vantagens:
- Melhora performance do processamento
- Aumenta a facilidade de compreensão
do algoritmo.
Linguagem de Programação
Algorítmica
Variáveis
- Exemplo:
ALGORITMO Exemplo_de_variáveis
Declare
Salario: Numérico
Nome : Literal
FIM_ALGORITMO
Linguagem de Programação
Algorítmica
Comentários
- Todo algoritmo deve ser fácil de entender
- Motivo : outros podem ter de manter o
programa
- Algoritmos confusos : profissional de
carreira curta
Linguagem de Programação
Algorítmica
Comentários - Exemplo:
ALGORITMO Exemplo_de_variáveis
Declare
Salario: Numérico { salário do
funcionário}
Nome : Literal
FIM_ALGORITMO Comentário
Linguagem de Programação
Algorítmica
Operadores Aritméticos
• + adição
• - subtração
• * multiplicação
• / divisão
Linguagem de Programação
Algorítmica
Operadores Aritméticos
• DIV : divisão inteira (só pode ser aplicada a
operandos inteiros)
• MOD: fornece o resto da divisão inteira (só
pode ser aplicada a operandos inteiros))
Linguagem de Programação
Algorítmica
Uso de DIV e MOD - Exemplos:
•13 DIV 2 = 6
•13 MOD 2 = 1
Linguagem de Programação
Algorítmica
Expressões Aritméticas - Exemplos
• 2 + 4 + 4 x 5 - 22
• 2 + 3 / 10 * 4 - 33 + 21 / 6 + 4
• a + b/c - (d+e)/f * g
Linguagem de Programação
Algorítmica
Linearização de Expressões Aritméticas
• Para a construção de Algoritmos todas as expressões
aritméticas devem ser linearizadas, ou seja, colocadas
em linhas.
• Para fazê-lo, devemos obedecer à ordem de
precedência de operadores.
Linguagem de Programação
Algorítmica
Ordem de Precedência dos Operadores
Aritméticos
– De Acordo com a matemática elementar, a ordem de
precedência nas operações aritméticas é :
– Parênteses: ( )
– Potenciação: **
– Multiplicação e Divisão: * /
– Soma e Subtração: + -
Linguagem de Programação
Algorítmica
Ordem de Precedência dos Operadores
Aritméticos
• Caso existam numa mesma sentença operadores de
mesma ordem de prioridade, a execução será feita da
esquerda para direita.
• Numa expressão longa, sem parênteses, pode-se
colocá-los para facilitar o entendimento
• Parentetização
Linguagem de Programação
Algorítmica
Exercício de Parentetização:
• Coloque parênteses nas expressões abaixo, segundo
as regras de precedência e dê o resultado:
• 1) 2 + 3*5 - 4 / 2**2 + 6 - 25
• 2) a + b / c - d**e + a**2 - 3*2*5/15
Linguagem de Programação
Algorítmica
• Operações Lógicas ou Relacionais:
• Usam dois tipos de operadores:
–Operadores Lógicos relacionais
–Operadores Lógicos Conectores
Linguagem de Programação
Algorítmica
• Operadores Lógicos Relacionais
• > - maior que
• < - menor que
• >= - maior ou igual
• <= - menor ou igual
• # - diferente
• = - igual
Linguagem de Programação
Algorítmica
• Ordem de execução
•() Parênteses
• .NÃO. Negação
• .E. Simultaneidade
• .OU. Opcionalidade
Linguagem de Programação
Algorítmica
• Operações com variáveis de dados numéricas.
+ , - , *, /, ^ Ordem : ( ) , ^, * e /, + e -
Linguagem de Programação
Algorítmica
• Operação com variáveis de dados caracter.
– + concatenação
• nome: = “José”
• nome2:=“ da Silva ”
• nome3:= nome + nome2 => “José da Silva”
Linguagem de Programação
Algorítmica
• Tabela verdade OU
A B A OU B
V V V
V F V
F V V
F F F
Linguagem de Programação
Algorítmica
• Tabela verdade E
A B A E B
V V V
V F F
F V F
F F F
Linguagem de Programação
Algorítmica
• Tabela verdade NÃO
A NÃO A
V F
F V
Linguagem de Programação
Algorítmica
•Exercícios
– A E Não B
–Não(A E Não B)
–A OU B E Não A
–A E ( B OU A)
Linguagem de Programação
Algorítmica
Exercícios:
(A .E. B ) .OU. (B .E. C)
(A .E. B) .E. (A .OU. B)
NÃO(A .OU. B) .E. NÃO(B .E. C)
(A .OU. C) .OU. (B .OU. A) .E. (B OU C)
(B .E. A) .OU. (C .E. B) .OU. (A .E. B)
Linguagem de Programação
Algorítmica
Exercícios:
X = VERDADEIRO, Y = FALSO,
Z = VERDADEIRO, W = FALSO
a) X e Y ou não X e (Z ou W ou não X) = ?
b) Não(W ou Z e X) ou ( Y e não X) e (Z ou X
e Y) = ?
Lógica de Programação Algorítmica
Módulo 1 - Parte 2
Lógica Linear e Estruturada
Linguagem de Programação
Algorítmica
• Estrutura Geral dos Algoritmos
– Os algoritmos tem o formato :
ALGORITMO Nome_do_algoritmo
Declare {Local para declaração das variáveis}
Receber dados { inicialização das variáveis / mensagens montando a tela}
Processar dados
Exibir resultados(DADOS PROCESSADOS)
FIM_ALGORITMO
Linguagem de Programação
Algorítmica
• Conhecendo a linguagem de programação.
–As representações dos comandos.
• < > Delimita o espaço reservado para os parâmetros
do comando.
• [ ] Delimita o espaço reservado para parâmetro
opcional do comando
•O que vier entre colchetes nem sempre precisará ser
especificado no comando.
Linguagem de Programação
Algorítmica
• Declarando Variáveis : o Comando DECLARE
DECLARE <identificador> <tipo>, <tamanho>, [decimais]
• Exemplos:
– DECLARE telefone numérico, 10
– DECLARE salário numérico, 15, 2
– DECLARE data2 caracter, 8
– DECLARE nome caracter, 30
– DECLARE dependente lógico,1
Linguagem de Programação
Algorítmica
• Usando apenas um Comando DECLARE
• No exemplo anterior, bastaria utilizar um comando DECLARE
para obter o mesmo efeito.
• Exemplo:
DECLARE telefone: numérico, 10
salário : numérico, 15, 2
nome : caracter, 30
dependente :lógico
Linguagem de Programação
Algorítmica
• O comando Declare, no padrão da linguagem.
Parâmetro
Obrigatório
• DECLARE <ExpC1> <ExpC2>, [<ExpN1>], [ExpN1>]]
Nome do Parâmetro
Comando Opcional
Linguagem de Programação
Algorítmica
• Comandos de Entrada/ Saída de dados
• Comando para RECEBER dados
– Comando para EXIBIR dados
• No Vídeo
• Na Impressora
Linguagem de Programação
Algorítmica
• Recebendo dados
– Para receber dados , um algoritmo precisa do
comando :
RECEBA Nome_da_variavel.
– Modo mais comum : pelo teclado
Linguagem de Programação
Algorítmica
• Recebendo dados
Comando RECEBA
RECEBA <variável_1>, <variável_2>, ..., <variável_n>
<variável1...n> - Lista de variáveis a receberem os
dados digitados pelo usuário.
• É possível receber mais de uma variável por vez
Linguagem de Programação
Algorítmica
• Exemplo(recebendo dados):
ALGORITMO Idade
DECLARE Idade : numérico
RECEBA Idade
FIM_ALGORITMO
Linguagem de Programação
Algorítmica
• Comandos de Saída
• ESCREVA <string>, <variável>, <operação>
• IMPRIMA <string>, <variável>, <operação>
Linguagem de Programação
Algorítmica
• Exibindo dados no Vídeo
– Para exibir dados no vídeo , um algoritmo precisa
do comando :
• ESCREVA <string>, <variável>, <operação> .
Linguagem de Programação
Algorítmica
• Exemplo(recebendo e exibindo dados):
ALGORITMO Idade
DECLARE Idade : numérico
RECEBA Idade
ESCREVA “a idade é “ , Idade
FIM_ALGORITMO
Linguagem de Programação
Algorítmica
• Exemplo(recebendo e exibindo dados):
ALGORITMO Idade
DECLARE Idade : numérico
ESCREVA “ Digite a Idade:”
RECEBA Idade
ESCREVA “a idade é “ , Idade
FIM_ALGORITMO
Linguagem de Programação
Algorítmica
• Exemplo do comando IMPRIMA:
ALGORITMO Idade
DECLARE Idade : numérico
ESCREVA “ Digite a Idade:”
RECEBA Idade
IMPRIMA “a idade é “ , Idade
FIM_ALGORITMO
Linguagem de Programação
Algorítmica
• Recebendo e exibindo mais de uma variável
ALGORITMO Idade
DECLARE wIdade : numérico
wNome : Caracter (50)
ESCREVA “ Digite o nome e a Idade:”
RECEBA wNome, wIdade
ESCREVA “a idade de “ wNome ,“é “ , wIdade
FIM_ALGORITMO
Linguagem de Programação
Algorítmica
• O Comando de atribuição de valores.
Identificador : = <ExpC2>
• Exemplos:
nome := “Maria José Silva”
idade:= 33
altura:= 1.75
dependente := .V.
Linguagem de Programação
Algorítmica
• Funções de Conversão de Tipos / Manipulação
de valores
– CADEIA
– VALOR
– PARTE
Linguagem de Programação
Algorítmica
• Função CADEIA
Converte números em Strings(cadeia de caracteres)
• Formato : CADEIA(<vn>,<tv>,<qcd>)
• Vn - Variável numérica
• Tv - Tamanho da variável
• Qcd – Quantidade de casas decimais
Linguagem de Programação
Algorítmica
• Uso da Função CADEIA - Exemplo:
DECLARE
Salario: Numérico 7,2 Tamanho total: 9
Saltexto : Caracter (9)
Salário := 4500,00
Saltexto := CADEIA(salario,9,2)
No exemplo acima : Saltexto tem tamanho total 9, com
duas casas decimais( incluídas nesse tamanho)
Linguagem de Programação
Algorítmica
• Função VALOR
• Converte Strings em números
Formato : VALOR( <ExpC> ), onde ExpC é
uma Expressão Caractere
Linguagem de Programação
Algorítmica
• Uso da Função VALOR - Exemplo:
Declare
Salario: Numérico 7,2
SalChar : Caracter (9)
SalChar := “3000,00”
Salário := VALOR (salchar)
Linguagem de Programação
Algorítmica
• Função PARTE
Retorna uma parte de uma variável caracter
• Formato : PARTE( <vc>,<pi>,<qds> ) , onde:
• Vc - Variável caracter da qual se quer extrair uma parte
• Pi – posição inicial, a partir da qual se fará a cópia
• Qds – Quantidade de dígitos a copiar
Linguagem de Programação
Algorítmica
• Uso da Função PARTE - Exemplo:
DECLARE
Nome: Caracter (30)
PrimNome: Caracter (9)
Nome= “Maria José da Silva”
PrimNome := PARTE (Nome, 1,5)
{ primnome será igual a Maria }
Linguagem de Programação
Algorítmica
Estruturas
Condicionais
Linguagem de Programação
Algorítmica
• Estruturas Condicionais (Simples)
• Usadas para permitir decisões dentro de um programa
• Caso a condição seja satisfeita, o programa executa uma instrução;
caso não seja, o programa segue em frente
• Permite variar o comportamento do programa de acordo com os dados
recebidos
• O computador “pensa” através das estruturas condicionais
Linguagem de Programação
Algorítmica
Estruturas Condicionais (Simples)
• Formato da Instrução :
Se <condição> então
<seqüência de comandos>
Fim-Se
Linguagem de Programação
Algorítmica
Estruturas Condicionais (Simples) : Exemplo
ALGORITMO Testa_Condição
DECLARE Nome : Caracter(50)
Sexo : Caracter (1)
ESCREVA “ Digite o nome e o Sexo:”
RECEBA Nome, Sexo
Se Sexo= “M” então
Escreva Nome ,“ é do Sexo Masculino”
Fim-se
Escreva “término do programa”
FIM_ALGORITMO
Linguagem de Programação
Algorítmica
• Estruturas Condicionais (Compostas)
• Usadas para permitir decisões dentro de um programa
• Caso a condição seja satisfeita, o programa executa uma
instrução; caso não seja, o programa executa outra
instrução.
• Permite variar o comportamento do programa de acordo
com os dados recebidos
• Difere das estruturas simples.
Linguagem de Programação
Algorítmica
Estruturas Condicionais (Compostas)
• Formato da Instrução:
Se <condição> então
<seqüência de comandos 1>
senão
<seqüência de comandos 2>
Fim-Se
Linguagem de Programação
Algorítmica
Estruturas Condicionais (Compostas) : Exemplo
ALGORITMO Testa_Condição2
DECLARE Nome : Caracter(50) , Sexo : Caracter (1)
ESCREVA “ Digite o nome e o Sexo:”
RECEBA Nome, Sexo
Se Sexo= “M” então
Escreva Nome ,“ é do Sexo Masculino”
Senão
Escreva Nome ,“ é do Sexo Feminino”
Fim-se
Escreva “término do programa”
FIM_ALGORITMO
Linguagem de Programação
Algorítmica
EXERCÍCIOS DE ESTRUTURAS CONDICIONAIS
(NÃO ENCADEADAS)
(arquivo exerccond.doc)
Linguagem de Programação
Algorítmica
Estruturas Condicionais (Encadeadas)
• Usadas para permitir decisões dentro de outras decisões,
dentro de um programa
• Caso a condição seja satisfeita, o programa executa uma
instrução que testa outra condição.
• Esta condição dentro de outra condição é dita “aninhada”.
• Condições “aninhadas” são ditas “encadeadas”
Linguagem de Programação
Algorítmica
Estruturas Condicionais Encadeadas : Formato
Se <condição 1> então
Se <condição 2> então
<seqüência de comandos 2>
Fim-Se
senão
Se <condição 3> então
<seqüência de comandos 3>
Fim-Se
Fim-Se
Estruturas condicionais Encadeadas - Exemplo
Se Sexo= “F” então
Se Nota >= 7,0 então
Escreva “aluna Aprovada”
senão
Escreva “aluna reprovada”
Fim-Se
senão { sexo masculino}
Se Nota >=7,0 então
Escreva “aluno aprovado”
senão
Escreva “aluno reprovado”
Fim-Se
Fim-Se
Linguagem de Programação
Algorítmica
EXERCÍCIOS DE ESTRUTURAS CONDICIONAIS
(ENCADEADAS)
(arquivo EXERcENCAD)
Linguagem de Programação
Algorítmica
Estruturas
de
Repetição
Linguagem de Programação
Algorítmica
Estruturas de Repetição
• Usadas quando uma seqüência de comandos deve ser
executada repetidas vezes
• A seqüência de comandos pode ser repetida :
– Um número determinado de vezes
ou
– Um número indeterminado de vezes , dependendo da
condição
Linguagem de Programação
Algorítmica
Estruturas de Repetição
• Podem ser de dois tipos :
– Determinada
– Indeterminada
Linguagem de Programação
Algorítmica
• Estruturas de Repetição
– PARA - estrutura de repetição determinada
– REPITA
indeterminadas SAIA
SAIA
– ENQUANTO
VOLTE
VOLTE
Linguagem de Programação
Algorítmica
Estruturas de Repetição
• Na Determinada sabe-se previamente quantas vezes os comandos serão
executados repetidamente. (Para.... Até ...Faça)
• Na Indeterminada não se sabe previamente esse número
– Sempre avalia uma condição
– Essa condição pode ser avaliada :
• No início da repetição (enquanto condição Faça)
• No final da repetição (repita .... Até condição )
Linguagem de Programação
Algorítmica
Estrutura de Repetição Determinada
• Usada quando se sabe o número de vezes que os comandos devem ser
executados.
• Têm um “passo de execução”, ou “passo de contagem”
• Úteis em contagens predeterminadas
• Comando utilizado : PARA
Linguagem de Programação
Algorítmica
• Estrutura de Repetição Determinada - Formato
Para <var> := <vi> até <vf> incr[+/- <val>] Faça
< comandos >
Fim-Para
Vi = Valor Inicial
Vf = Valor Final
Val = Valor a ser incrementado.
Linguagem de Programação
Algorítmica
Estrutura de Repetição Determinada - Exemplo
• Algoritmo que imprime números de 1 a 10
Algoritmo Repetição_Determinada
Declare
I : Inteiro
Para I :=1 Até 10 Faça { passo padrão : de 1 em 1 }
Escreva I
Fim_Para
Fim_algoritmo
Linguagem de Programação
Algorítmica
Estrutura de Repetição Indeterminada
• Usada quando não se sabe o número de vezes que os
comandos devem ser executados.
• Tem um teste de condição, que pode ocorrer no início ou no
final
• Útil quando não se sabe o número exato de repetições
Linguagem de Programação
Algorítmica
Estruturas de Repetição Indeterminada
Essa condição pode ser avaliada :
• No início da repetição (enquanto condição Faça)
• No final da repetição (repita .... Até condição )
Linguagem de Programação
Algorítmica
Repetição Indeterminada com avaliação no início
• A condição é avaliada no início da repetição
• Comando usado : ENQUANTO
• Formato do comando :
Enquanto <condição> Faça
< comandos >
Fim-Enquanto
• <Comandos> só são executados se <condição> for satisfeita
Linguagem de Programação
Algorítmica
Repetição Indeterminada com avaliação no início - Exemplo
Algoritmo Avalia_no_Inicio
Declare
Sexo : String(1)
Escreva “informe o sexo do funcionário”
Receba Sexo
Enquanto Sexo < > “M” .E. Sexo < > “F” Faça
Escreva “sexo só pode ser M ou F”
Receba Sexo
Fim_Enquanto
Fim_algoritmo
Linguagem de Programação
Algorítmica
Repetição Indeterminada com avaliação no final
• A condição é avaliada no final da repetição
• Comando usado : REPITA
• Formato do comando :
Repita
< comandos >
SE < condição > ENTÃO
Saia
FIM-SE
Fim-Repita
Linguagem de Programação
Algorítmica
Repetição Indeterminada com avaliação no final
• <Comandos> são executados ao menos uma vez, mesmo se
<condição> não for satisfeita
Linguagem de Programação
Algorítmica
Repetição Indeterminada com avaliação no final - Exemplo
Algoritmo Avalia_no_Final
Declare Sexo : String(1)
Repita
Escreva “informe o sexo do funcionário”
Receba Sexo
Se Sexo = “M” .OU. Sexo = “F”
Saia
Fim-Se
Fim-Repita
Fim_algoritmo
Linguagem de Programação
Algorítmica
Diferença entre Repetição com teste no início e no final
Teste No início Teste No Final
Pode não executar os comandos Executa ao menos uma vez
Testa condição de permanência Testa condição de saída
Se satisfaz o teste, fica no laço Se satisfaz o teste, sai do laço
Linguagem de Programação
Algorítmica
EXERCÍCIOS DE ESTRUTURAS DE REPETIÇÃO
(arquivo STREPET1.DOC)
Linguagem de Programação
Algorítmica
Contadores
• Aplicações comuns : envolvem contagem
• Ex: Algoritmos que lêem registros e contam quantos foram
lidos
• Uso de variáveis como contadores
Linguagem de Programação
Algorítmica
Contadores - Exemplo
Algoritmo ContaGenero
Declare
Sexo : String(1)
Totmasc, TotFem:inteiro
Escreva “informe o sexo do funcionário”
Receba Sexo
Se Sexo = “M” então
TotMasc:=TotMasc + 1
Senão
TotFem:=TotFem+1
Fim-Se
Fim_algoritmo
Linguagem de Programação
Algorítmica
Acumuladores
• Usados para somar(acumular) variáveis
• Ex: fazer a soma de todos os salários de uma empresa
• Uso de variáveis como acumuladores
Linguagem de Programação
Algorítmica
Acumuladores - Exemplo
Algoritmo SomaSalario
Declare
Sexo : String(1)
Somasal,Salariö : real,2
Repita
Escreva “informe o salário do funcionário”
Receba Salário
SomaSal:=SomaSal + Salário
Fim-Repita
Fim_algoritmo
Linguagem de Programação
Algorítmica
Final do Módulo 1