Prévia do material em texto
Disciplina: Fundamentos de ProgramaçãoDisciplina: Fundamentos de ProgramaçãoDisciplina: Fundamentos de ProgramaçãoDisciplina: Fundamentos de Programação Curso: Engenharia MecânicaCurso: Engenharia MecânicaCurso: Engenharia MecânicaCurso: Engenharia Mecânica Prof. Renato BalancieriProf. Renato BalancieriProf. Renato BalancieriProf. Renato Balancieri Aula 17Aula 17Aula 17Aula 17 � São estruturas de dados capazes de agregar várias informações; � Propiciam gerar novos tipos de dados, não se limitando apenas à utilização dos tipos de dados primitivos; � Cada informação contida em um registro é chamada de campo. � Os campos podem ser de diferentes tipos primitivos ou, ainda, podem representar outros registros; � Os registros são conhecidos como variáveis compostas heterogêneas. � Requer dois passos: 1. A definição da estrutura do registro, em que se utilizam as palavras reservadas TYPE e RECORD; 2. A definição da variável registro, que segue a sintaxe de declaração de qualquer variável. TYPE nome_da_variável_registro = RECORD campo1: tipo1; campo2: tipo2; ... campoN: tipoN; END; var nome_da_variável: nome_da_variável_registro; Exemplo1: TYPE Registro = RECORD num: integer; nome: string[35]; saldo: real; END; var conta: Registro; � No exemplo 1, um registro chamado REGISTRO foi definido; � Significa que o programa poderá utilizar um novo tipo de dado; � Depois disso, a variável conta foi declarada como REGISTRO; � Portanto, conta terá espaço para armazenar num, nome e saldo. Exemplo2: TYPE Exemplo = RECORD num: integer; nome: string[35]; saldo: real; END; var conta: ARRAY[1..15] of Exemplo; � No exemplo 2, um registro chamado EXEMPLO foi definido; � Significa que o programa poderá utilizar um novo tipo de dado; � Depois disso, a variável conta foi declarada como um vetor de 15 posições; � Cada posição será um registro EXEMPLO; � Portanto, cada posição do vetor conta terá espaço para armazenar num, nome e saldo. � Considerando que uma variável do tipo registro contém várias informações; � É necessária uma maneira de acessá-las individualmente; � Deve-se indicar o nome da variável e também o nome do campo desejado, separados por um ponto. � Exemplo1: ◦ conta.num:=12; � O exemplo mostra como armazenar o número 12 no campo num da variável registro denominada conta. � Exemplo2: ◦ conta[2].num:=13; � O exemplo mostra como armazenar o número 13 no campo num da posição 2 da variável registro denominada conta; � É importante observar que o acesso começa fazendo referência ao vetor, depois é definida uma de suas posições e depois o campo desejado. � Exemplo3: ◦ writeln(conta[3,2].num); � O exemplo mostra o conteúdo do campo num, localizado na linha 3, coluna 2 da variável registro denominada conta; � O acesso começa fazendo referência à matriz, depois são especificados os números da linha e da coluna e depois o campo desejado. A prefeitura de uma cidade fez uma pesquisa entre seus habitantes, coletando dados sobre o salário, idade, sexo e número de filhos. Crie um programa em Pascal (utilizando registros) que leia os dados de um número indeterminado de pessoas (assumir que idade=0 deve sair do programa) e, ao final, mostre: a) A média de idade das mulheres com salário inferior a R$ 300,00; b) A média de salário da população; c) A média do número de filhos; d) O maior salário; e) A menor idade. Possível resolução Exercício 1 – Parte I Possível resolução Exercício 1 – Parte II Considere que um médico armazena algumas informações sobre seus 20 pacientes (nome, idade, sexo, altura e peso). Crie um programa que leia essas informações e determine: � O nome da pessoa mais pesada; � O nome e a idade das pessoas que estejam acima de seu peso ideal; � Os nomes das pessoas que estejam abaixo do seu peso ideal, mostrando ainda o peso que essas pessoas deverão alcançar para atingir esse peso ideal. Utilize as fórmulas a seguir para determinar o peso ideal: Homens: (72,7*altura) – 58 Mulheres: (62,1*altura) – 44,7 Possível resolução Exercício 2 – Parte I Possível resolução Exercício 2 – Parte II Possível resolução Exercício 2 – Parte III