Buscar

Aula Ficha 9

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

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

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes