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