Algoritmos e Programação Thyago Maia Tavares de Farias Aula 20 Sumário Pascal – Estruturas de Repetição Comando repeat...until (continuação); Pascal – Variáveis Compostas Homogêneas Vetores; Exercícios Faça um programa que repita as instruções abaixo (utilizando o repeat): Ler o sexo e a altura de 10 pessoas; Contar o número de homens e mulheres; O programa deverá executar 10 vezes; Após a execução do laço, o programa deverá escrever a altura da pessoa mais alta e a quantidade de homens e mulheres; Variáveis Compostas Homogêneas A declaração de várias variáveis , uma a uma, é suficiente para codificar um programa; Porém, tal metodologia não é suficiente para resolver TODOS os problemas computacionais; Ex.: Faça um programa que leia o nome de 500 pessoas e, em seguida, escreva o nome de cada uma. Você iria declarar e utilizar 500 variáveis? Trabalhoso, não?! Para resolver problemas similares ao descrito acima, utilizamos vetores e matrizes; Vetores Vários valores poderão ser armazenados em uma única variável, chamada vetor; Vetores possuem índices que, pelos quais, poderemos acessar valores armazenados; Vetores funcionam como tabelas de uma linha e várias colunas: Ex.: Um vetor de inteiros: 0 2 4 1 6 1 2 3 4 5 Vetores Em Pascal, um vetor é identificado pela palavra reservada array; Declaração de um vetor: var nome: array [inicio..fim] of tipo; Em [inicio..fim], devemos definir a posição inicial e final do vetor, separado por .. Ex.: [1..2], [3..5], [6..10], etc.; Vetores OBS: O valor do índice inicial deve ser menor que o índice final; A primeira posição (índice) de um array (vetor) em Pascal é a posição 1; As posições (índices) são numeradas com valores INTEIROS. Não utilize outro tipo de valor em um índice! Vetores Como atribuir valores a um vetor? atribuições em vetor exigem que seja informada em qual de suas posições o valor ficará armazenado; Vetores Como escrever na tela os elementos de um vetor? Também através dos índices; Exemplo: Vetores Preenchendo e mostrando os elementos de um vetor: Para preencher um vetor, temos que atribuir valores para cada posição do mesmo; Para apresentar todos os valores contidos em um vetor, temos que percorrer todas as posições do vetor e obter cada valor correspondente; Vetores Como fazer tudo isso de uma maneira mais eficiente? Deve-se implementar um mecanismo que controle o valor do índice; Percebe-se que, para percorrer um vetor, a estrutura de repetição FOR se apresenta como um bom recurso; A estrutura FOR permite contar um valor inicial até um valor final, coincidentemente com os índices de um vetor; Exemplo Exemplo Escreva um programa em Pascal que lê 20 números inteiros e escreve cada número e sua posição no vetor; Exemplo Exemplo Escreva um programa em Pascal que lê 10 números inteiros, calcula e exibe a quantidade de números maiores que 5; Exemplo Exercícios Faça um programa em Pascal que recebe 10 números inteiros e os armazena em um vetor de 10 posições. O programa deverá escrever na tela apenas os valores pares do vetor; Exercícios Faça um programa em Pascal que recebe 10 números inteiros e os armazena em um vetor de 10 posições. O programa deverá trocar todos os valores negativos do vetor por 0. Após a substituição, escrever todo o conteúdo do vetor na tela; Exercícios Faça um programa em Pascal que recebe 5 números inteiros e os armazena em um vetor X de 5 posições. O programa deverá armazenar o valor/2 de cada posição do vetor X em um vetor Y. Após a substituição, escrever todo o conteúdo dos vetores X e Y na tela; Exercícios Faça um programa em Pascal que possua um vetor com 3 nomes armazenados: nomes[1] := ‘Jose’; nomes[2] := ‘Maria’; nomes[3] := ‘Carlos’; O programa deverá solicitar a digitação de um nome qualquer, e buscará o nome digitado no vetor de nomes. Caso encontre o nome, escreverá ‘Achei!’; Caso contrário, escreverá ‘Não achei’;