Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Universidade Estácio de Sá
Curso: Sistemas de Informação
Disciplina: Algoritmos
Campus: Nova América / Pç XI
Professora: Anita Maciel
Resumo e Atividades para AULAS 9o e 10 o / 15
Código da
disciplina
CCT0001
Período: 1o
Unidade: I, II , III E IV
Itens Todos
Carga
horária:
2 tempos em sala e 2 tempos no laboratório (200 minutos)
Tema
da aula Estruturas de repetição
Conteúdo
Definição da estrutura de repetição e suas características.
Utilização dos operadores relacionais e dos operadores lógicos.
Utilização da estrutura de repetição.
Apresentar o conceito do Teste de Mesa.
Apresentação de comandos da linguagem de programação, correspondentes aos comandos
utilizados nos algoritmos.
Desenvolvimento de programas com a linguagem de programação.
Objetivos
da aula
O aluno deverá ser capaz de:
Compreender uma estrutura de repetição e suas características.
Discernir quando uma estrutura de repetição deve ser utilizada e criar algoritmos que utilizem
essa estrutura.
Utilizar comandos de uma linguagem de programação para implementação de algoritmos, na
forma de programas de computador (Laboratório).
Atividades
1. Trabalhar no ambiente do Dev-cpp
2. Editar / Compilar e executar um programa
3. Codificar todos os algoritmos na linguagem C++ e testá-los.
Tarefas
• Reveja todos os conceitos vistos nessa aula.
• Aprimore seus conhecimentos pesquisando no material didático e na
bibliografia recomendada (procure na Biblioteca do campus ou na Biblioteca
Virtual/SIA).
• Faça os exercícios da Lista_IV.doc
Professora ANITA LOPES 2
Formalizando alguns conceitos
Conceitos
1 Apresentando as três estruturas de repetição
1.1 Estrutura do para
Estrutura ideal quando o número de repetições for conhecido durante a
elaboração do algoritmo ou quando o usuário puder fornecê-lo durante a
execução.
Na linguagem C++, essa estrutura recebe o nome de for e, diferentemente de
outras linguagens, simula com facilidade as estruturas do enquanto e do
faca...enquanto como veremos mais adiante.
1.2 Estrutura do enquanto
Estrutura que testa no início e é usada quando o número de repetições for
desconhecido.
Simula, com facilidade a estrutura do faca ... enquanto e a estrutura do para(
desde que criemos uma variável que terá seu valor incrementado/decrementado
dentro da estrutura de repetição).
Na linguagem C++, essa estrutura recebe o nome de while.
Sua lógica é: repete enquanto a condição for verdadeira. Como ela teste antes
de executar o bloco, pode ser que ela nem execute o bloco se a condição, de
início, for falsa.
1.3 Estrutura do faca...enquanto
Estrutura usada quando o número de repetições for desconhecido.
Sua diferença em relação à estrutura do enquanto é que ela testa ao final,
significando que executa o bloco de comandos pelo menos uma vez.
Essa estrutura também precisa de um teste para interromper a repetição.
Muito usada em algoritmos com menus.
Na linguagem C++, essa estrutura recebe o nome de do...while.
A estrutura da repetição é mais parecida com a estrutura do para, não
precisando de leitura/atribuição antes do faca para entrar na estrutura, pois
testa, como já disse, ao final.
Professora ANITA LOPES 3
3 Sintaxes das três estruturas de repetição
Ö Fluxograma
para enquanto faca...enquanto
Ö Linguagem UAL
para enquanto faca...enquanto
para( <valor
inicial>;<expressão de
teste>;<incremento>)
{
bloco de comandos
}
enquanto ( condição)
{
bloco de comandos
}
faca
{
bloco de comandos
}
enquanto (condição)
• <valor inicial> Na prática, a sintaxe é Talvez seja a estrutura mais
Professora ANITA LOPES 4
nome da variável <- valor
inicial ;
- tipo da variável:
enumerável (inteira ou
caracter de um caracter na
maioria das vezes)
- no UAL: int
- é um comando de
atribuição. O valor atribuído
pode ser: constante,
variável ou expressão
- exemplos:
x <- 0; x <- strtam(pal); x
<-a + 1;
• <expressão de teste>
nome da variável <, >, <
, >=, <= valor ;
- na verdade é uma
expressão relacional
como as usadas na
estrutura do se
- o valor inicial pode ser:
constante, variável ou
expressão
- exemplos:
x >= 0; x < strtam(pal);
x<= a + 1;
• <incremento>
nome da variável <- nome
da variável operador valor
- é um comando de
atribuição. O valor
incrementado pode ser:
constante, variável ou
expressão
- este comando é
normalmente chamado
de acumulador, pois
sempre acrescenta um
valor à mesma variável
- exemplos: x <- x + 1 x
<- x + 2 x ++ x--
um pouco mais complexa
e veremos na próxima
aula com exemplos, mas,
por hora, lembre-se do
“lema” que criei para que
meus alunos não errem
quando forem usar essa
estrutura:
Um comando leia (ou de
atribuição) antes do
enquanto para entrar
na repetição e um
comando leia (ou de
atribuição) antes da },
para repetir ou sair da
repetição.
O teste (condição) é uma
expressão
relacional/lógica
semelhante as que nós
usamos no comando
se...então...senão.
simples de construir.
O teste (condição) é uma
expressão relacional/lógica
semelhante as que nós
usamos no comando
se...então...senão.
Professora ANITA LOPES 5
Ö Linguagem C++
for while do...while
for( <valor inicial>;<expressão de
teste>;<incremento>)
{
bloco de comandos
}
while ( condição)
{
bloco de comandos
}
do
{
bloco de comandos
}
while (condição);
• <valor inicial>
nome da variável = valor inicial ;
- tipo da variável: enumerável
(inteira ou caracter de um caracter na
maioria das vezes)
- é um comando de atribuição. O
valor atribuído pode ser: constante,
variável ou expressão
- exemplos: x = 0; x =
strlen(pal); x = a + 1;
• <expressão de teste>
nome da variável <, >, < , >=, <=
valor ;
- na verdade é uma expressão
relacional como as usadas na
estrutura do if
- o valor inicial pode ser: constante,
variável ou expressão
- exemplos: x >= 0; x <
strlen(pal); x <= a + 1;
• <incremento>
nome da variável <- nome da
variável operador valor
- é um comando de atribuição. O
valor incrementado pode ser:
constante, variável ou
expressão
- este comando é normalmente
chamado de acumulador, pois
sempre acrescenta um valor à
mesma variável
- exemplos: x = x + 1 x = x + 2
x ++ x-- x+=2
• <; ; >
- você poderá usar sem nenhum
parâmetro, mas os ; são
obrigatórios.
• As chaves só serão obrigatórias
se o bloco tiver mais de um
comando.
A estrutura é igual a da
linguagem UAL, pois
ambas vieram da
linguagem C.
Tudo que falei sobre a
linguagem UAL serve
para a linguagem C++.
U
A estrutura é igual a da
linguagem UAL, pois
ambas vieram da
linguagem C.
Tudo que falei sobre a
linguagem UAL serve
para a linguagem C++ e
a única diferença na
sintaxe é o ; ao final.
U
Professora ANITA LOPES
6
Aprofundando o estudo sobre a estrutura do para
A estrutura do para(for) é muito fácil, pois funciona como uma máquina de xerox,
ou como uma máquina que gera uma PA(Progressão Aritmética) ou uma máquina
que gera uma PG(Progressão Geométrica). A única coisa que você precisa aprender
é “montar” a linha do para(for) e envolver com chaves os comando que deseja
que sejam repetidos.
Vamos exercitar:
Linguagem UAL Linguagem C++
1- Repetir 100 vezes. para(c<-1; c<=100; c++) for(c=1; c<=100; c++)
2- Repetir 30 vezes. para(c<-1; c<=30; c++) for(c=1; c<=30; c++)
3- Contar de 10 até 1, de 1 em 1. para(c<-10; c>=1;c--) for(c=10; c>=1; c--)
4- Contar de 10 até 2, de 2 em 2. para(c<-10; c>=2;c<-c-2) for(c=10; c>=2; c=c-2)
for(c=10; c>=2; c-=2)
5- Contar de 5 até 500 de 5 em 5. para(c<-5; c<=500;c<-c+5) for(c=5; c<=500; c=c+5)
for(c=5; c<=500; c+=5)
Professora ANITA LOPES 7
Definição: É uma variável que tem seu valor alterado dentro de uma estrutura
de repetição. Na verdade, quando falamos em acumulador, estamos nos
referenciando a um comando de atribuição que incrementa, ou decrementa, o
conteúdo da variável.
Sintaxe:
nomeVariável = nomeVariável Op. Aritmético valor ;
Exemplos:
Expressão Como se lê?
a = a + valor ;
A variável a recebe o valor que estava armazenado
nela, acrescido do valor armazenado na variável valor.
a = a * valor ;
A variável a recebe o valor que estava armazenado
nela, multiplicado pelo valor armazenado na variável
valor.
a = a - valor ;
A variável a recebe o valor que estava armazenado
nela, decrementado do valor armazenado na variável
valor.
a = a / valor ;
A variável a recebe o valor que estava armazenado
nela, dividido pelo valor armazenado na variável valor.
Quando a variável é acrescida (ou decrementada) de um valor
constante, costumamos chamar o acumulador de contador.
Exemplos:
Expressão Como se lê?
a = a + 1 ; ou a++; A variável a é incrementada de 1.
a = a - 1 ; ou a--; A variável a é decrementada de 1.
a = a + 2 ; ou a+=2; A variável a é incrementada de 2.
a = a - 2 ; ou a-=2; A variável a é dencrementada de 2.
Quando devo usar?
Em todo algoritmo que tenha repetição
e você precise somar os números que
entram, calcular a média, contar de
acordo com uma condição, etc.
Regras para se usar um acumulador
1- Todo acumulador é uma variável, logo PRECISA SER DECLARADO.
2- Todo acumulador precisa ser INICIALIZADO.
Como faço isto?
Use um comando de atribuição ANTES da estrutura de repetição em que
ele aparece e
Atribua um valor inicial. Normalmente, o elemento neutro da operação.
3- A expressão do acumulador precisa estar DENTRO DA ESTRUTURA DE
REPETIÇÃO.
4- Alguma operação deverá ser feita com o acumulador APÓS A ESTRUTURA
DE REPETIÇÃO.
Professora ANITA LOPES 8
REFERÊNCIA BIBLIOGRÁFICA
FARRER, Harry et al. Algoritmos estruturados. 3. ed. Rio de Janeiro: LTC, 1999.
GUIMARÃES, A. M; LAGES, N. A. Algoritmos e estruturas de dados. Rio de Janeiro:
LTC,1994.
DEITEL, Harvey M.; DEITEL, Paul J. C++: como programar. Porto Alegre: Bookman,
2005.
BIBLIOGRAFIA COMPLEMENTAR
MANZANO, J. A. N. G., OLIVEIRA, J. F. de. Algoritmos: lógica para
desenvolvimento de programação de computadores. 17. ed. São Paulo: Érica, 2005.
FORBELLONE, A. L. V., EBERSPACHER, H. F. Lógica de programação: a construção
de algoritmos e estrutura de dados. 2. ed. São Paulo: Makron, 2000.
LOPES, A.L.M. Apostila de C++. RJ: 2008.
SEXTON, Conar. Dominando a linguagem C++. Rio de Janeiro: IBPI, c2001.
Professora: Anita Maciel
Código da
CCT0001
Resumo e Atividades para AULAS 9o e 10 o / 15
Tema da aula
Conteúdo
Objetivos
da aula
Atividades
Tarefas
Formalizando alguns conceitos
1 Apresentando as três estruturas de repetição
Aprofundando o estudo sobre a estrutura do para
Expressão
Expressão
Regras para se usar um acumulador
REFERÊNCIA BIBLIOGRÁFICA