Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 FACULDADE DE COMPUTAÇÃO E INFORMÁTICA BACHARELADOS EM CIÊNCIA DA COMPUTAÇÃO E SISTEMAS DE INFORMAÇÃO E TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Introdução à Programação – Aula 17 TEORIA: ESTRUTURA DE REPETIÇÃO – VARIÁVEL DE CONTROLE Nossos objetivos nesta aula são: Construir algoritmos com bloco de comandos que será executado uma quantidade de vezes definida na estrutura de repetição. Identificar as variações que existem entre os comandos de repetição. A referência para esta aula é o Capítulo 8 (Estrutura de repetição, páginas 199 a 225) do nosso livro-texto: Piva Jr., D. et al. Algoritmos e Programação de Computadores. Rio de Janeiro: Elsevier, 2012. Não deixem de ler este capítulo após a aula de hoje! Nas aulas passada vimos os comandos de repetição enquanto/faca: que faz teste no início da repetição; e o comando de repetição faça/enquanto: que é um comando semelhante ao enquanto, com a diferença que a condição para a repetição dos comandos é testada no final. Uma característica importante a ser notada nesses primeiros tipos de estruturas de repetição é que nos dois primeiros tipos (enquanto/faça e faça/enquanto), não sabemos previamente o número de vezes que a repetição deverá ser executada. Nesta aula vamos conhecer o terceiro tipo de estrutura de repetição que é útil quando se deseja repetir, um número fixo de vezes, determinado conjunto de instruções. O comando de repetição controla uma variável que vai ter definido o seu valor inicial, valor final e o passo que esta variável de controle deve “caminhar” para que atinja o valor limite. 2 Comando iterativo – para (for) É um comando que repete uma instrução ou bloco de instruções até que o valor final da variável de controle seja alcançado. A sintaxe é a seguinte: Pseudocódigo Em que: para, de, ate, passo, faca e fimpara são palavras-chave do comando; variável: é a variável de controle do comando e deve ser do tipo inteiro; valor-inicial: é o valor de início da variável de controle. Pode ser uma constante ou uma expressão aritmética, desde que o valor seja do tipo inteiro. A atribuição desse valor à variável de controle é feita apenas uma vez antes de iniciar a primeira repetição do comando; valor-limite: é o valor de parada do comando; incremento/decremento: é o valor do passo que a variável de controle deve “caminhar“ até que atinja o valor limite. Quando o passo for 1 ele pode ser omitido. Fluxograma V de Vi até Vf passo p para <variável> de <valor-inicial> ate <valor-limite> [passo <incremento/decremento>] faca <sequência-de-comandos> fimpara Em que: V = variável de controle Vi = valor inicial Vf = valor final p = incremento/decremento 3 EXERCÍCIO TUTORIADO O algoritmo que mostra na tela os dez primeiros múltiplos de um número inteiro qualquer fornecido pelo usuário, feito na aula passada, possui características que tornam a solução deste problema mais simples se utilizarmos o comando para, uma vez que sabemos previamente o número de vezes que o bloco de instruções será executado. Neste problema temos que multiplicar um número lido por uma variável que deve começar com o valor 1 e ir até o valor 10 de 1 em 1. Reescreva o algoritmo que você fez no laboratório da aula 16, em VisuAlg, utilizando o comando para. 4 EXERCÍCIO COM DISCUSSÃO EM DUPLAS Escreva um algoritmo em VisuAlg que leia 30 números reais. Calcule e apresente a quantidade de números negativos lidos, o maior número lido e o menor número lido. 5 Na linguagem Java, a sintaxe é a seguinte: for (inicialização; condição; incremento/decremento) { sequência-de-comandos; } Sendo que: O comando possui apenas uma palavra-chave: for; O comando é formado por três partes, colocadas entre parênteses e obrigatoriamente separadas por ponto-e-vírgula. Mesmo que uma das partes não seja necessária é obrigatória a apresentação dos dois ponto-e-vírgulas; inicialização: é a expressão executada antes de entrar no laço. Usada para atribuir um valor inicial para a variável de controle do laço. Exemplo: i=1. condição: é a expressão que será avaliada no início de cada repetição, sendo que o laço será executado enquanto esta expressão for verdadeira. Exemplo: i<=5. Incremento/decremento: Ao final de cada passagem está expressão é executada. Usada para incrementar ou decrementar a variável de controle. Equivale ao passo do pseudocódigo, porém ela deve ser uma expressão aritmética. Exemplo: i=i+1. Algumas operações aritméticas em Java podem utilizar operadores reduzidos. Veja a tabela abaixo: Expressão aritmética Expressão Reduzida variável = variável + 1 variável++ variável = variável + outrovalor variável += outrovalor variável = variável - 1 variável-- variável = variável - outrovalor variável -= outrovalor variável = variável * outrovalor variável *= outrovalor variável = variável / outrovalor variável /= outrovalor 6 EXERCÍCIO TUTORIADO Faça um programa em Java que dado um número inteiro positivo n, mostre os n primeiros ímpares. Exemplo: Para n=4 a saída deverá ser 1,3,5,7. 7 EXERCÍCIO COM DISCUSSÃO EM DUPLAS Faça um programa em Java que recebe um número inteiro e mostrar na tela o valor da somatória de todos os números inteiros de 1 até este número. Exemplo: Número=4 Somatória = 10 8 ATIVIDADES DE LABORATÓRIO Faça um algoritmo em VisuAlg que apresente os 10 primeiros números da Série de Fibonacci, sabendo que: “A sucessão de Fibonacci ou sequência de Fibonacci é uma sequência de números naturais, na qual os primeiros dois termos são 0 e 1, e cada termo subsequente corresponde à soma dos dois precedentes. Os números de Fibonacci são, portanto, os números que compõem a seguinte sequência de números inteiros: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …” Implemente o seu programa também em Java: 9 ATIVIDADES DE LABORATÓRIO Faça um programa em Java que recebe um número inteiro (entre 0 e 9), e mostra o seu fatorial. Exemplo: Número: 3 3!=3X2X1=6 10 EXERCÍCIOS EXTRA-CLASSE 1. Faça um programa em Visualg e Java para mostrar na tela o resultado de: 1 1 − 1 2 − 1 3 − 1 4 − 1 5 − ⋯ … … − 1 10 2. Faça um programa em Visualg e em Java para mostrar na tela o resultado de: 1 1 + 3 2 + 5 3 + 7 4 + ⋯ … … . . + 99 50 1/1 + 3/2 + 5/3 + 7/4 + ... + 99/50 3. Considerando n um valor de entrada que deve ser numérico, inteiro e ímpar, escreva um programa que em Visualg e em Java que calcule e imprima o resultado da seguinte expressão: 𝑅 = 1 𝑛 − 2 𝑛 − 1 + 3 𝑛 − 2 … … . +𝑛 4.Foi feita uma estatística em cinco cidades brasileiras para coletar dados sobre acidentes de trânsito. Foram obtidos os seguintes dados: a) código da cidade; b) número de veículos de passeio; c) número de acidentes de trânsito com vítimas. Deseja-se saber: a) qual é o maior e qual é o menor índice de acidentes de trânsito e a que cidades pertencem; b) qual é a média de veículos nas cinco cidades juntas; c) qual é a média de acidentes de trânsito nas cidades com menos de 2.000 veículos de passeio.
Compartilhar