0% acharam este documento útil (0 voto)
30 visualizações127 páginas

Algmodulo 1 2005-1

Enviado por

euleite
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
30 visualizações127 páginas

Algmodulo 1 2005-1

Enviado por

euleite
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPT, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 127

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

Você também pode gostar