Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Apostila Algoritmo Rodryggo, Notas de estudo de Cultura

Uso da Lógica no Auxílio do Desenvolvimento de Programas • PASCAL: Linguagem estruturada e com aplicação em ensino devido a simplicidade e clareza dos programas, facilita uso de estruturas de dados como filas e pilhas.

Tipologia: Notas de estudo

2012

Compartilhado em 22/01/2012

rodrigo-s-lemos-7
rodrigo-s-lemos-7 🇧🇷

4 documentos

1 / 70

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
APRESENTAÇÃO
Um bom profissional de informática tipicamente é alguém com disposição para buscar
soluções onde necessário, por sua própria iniciativa. Com base nessa premissa, muitos livros e
cursos deixam a cargo do estudante grande parte da busca, com a melhor intenção de estimular
essa iniciativa. Mas quando começamos algo, ignoramos até o que não sabemos; é comum não
dispormos de pontos de partida, e procurá-los representa um custo às vezes alto demais. Nesse
momento, obter orientação adequada pode fazer a diferença entre prosseguir ou desistir. O
objetivo deste material é ser uma orientação para quem está iniciando o aprendizado da
programação de computadores. Através de uma linguagem específica, facilitar o treinamento nas
habilidades essenciais necessárias para qualquer linguagem de programação, de forma simples e
prática.
Bons profissionais de informática também sabem que somente dedicação e prática
regulares podem conduzir ao amadurecimento e à competência. Por isto, mais de 300 exercícios e
práticas conduzem o aprendiz a compreender e fixar os novos conhecimentos e também a
conhecer valiosos recursos da linguagem e do ambiente de programação.
A linguagem adotada é o Turbo Pascal 7.0 da Borland, uma versão para DOS. Uma razão
básica para isso é reduzir a quantidade de informações necessárias para que o estudante obtenha
resultados. De qualquer maneira, este não é um livro destinado a esgotar os recursos da
linguagem. O objetivo não é formar especialistas, e sim apoiar a formação básica de
programadores, cuja prioridade maior consiste em desenvolver as habilidades centrais
mencionadas acima. Feito isso, o programador estará em condições de dominar outras linguagens
rapidamente.
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46

Pré-visualização parcial do texto

Baixe Apostila Algoritmo Rodryggo e outras Notas de estudo em PDF para Cultura, somente na Docsity!

APRESENTAÇÃO

Um bom profissional de informática tipicamente é alguém com disposição para buscar soluções onde necessário, por sua própria iniciativa. Com base nessa premissa, muitos livros e cursos deixam a cargo do estudante grande parte da busca, com a melhor intenção de estimular essa iniciativa. Mas quando começamos algo, ignoramos até o que não sabemos; é comum não dispormos de pontos de partida, e procurá-los representa um custo às vezes alto demais. Nesse momento, obter orientação adequada pode fazer a diferença entre prosseguir ou desistir. O objetivo deste material é ser uma orientação para quem está iniciando o aprendizado da programação de computadores. Através de uma linguagem específica, facilitar o treinamento nas habilidades essenciais necessárias para qualquer linguagem de programação, de forma simples e prática. Bons profissionais de informática também sabem que somente dedicação e prática regulares podem conduzir ao amadurecimento e à competência. Por isto, mais de 300 exercícios e práticas conduzem o aprendiz a compreender e fixar os novos conhecimentos e também a conhecer valiosos recursos da linguagem e do ambiente de programação. A linguagem adotada é o Turbo Pascal 7.0 da Borland, uma versão para DOS. Uma razão básica para isso é reduzir a quantidade de informações necessárias para que o estudante obtenha resultados. De qualquer maneira, este não é um livro destinado a esgotar os recursos da linguagem. O objetivo não é formar especialistas, e sim apoiar a formação básica de programadores, cuja prioridade maior consiste em desenvolver as habilidades centrais mencionadas acima. Feito isso, o programador estará em condições de dominar outras linguagens rapidamente.

1 - INTRODUÇÃO

Muitas pessoas gostam de falar ou julgar que possuem e sabem usar o raciocínio lógico, porém, quando questionadas direta ou indiretamente, perde esta linha de raciocínio, pois este depende de inúmeros fatores para completá-lo, tais como: calma, conhecimento, vivência, versatilidade, experiência, criatividade, ponderação, responsabilidade, entre outros. Para se usar a lógica é necessário ter domínio sobre o pensamento, bem como, saber pensar, ou seja, possuir a “ARTE DE PENSAR”. Alguns definem o raciocínio lógico como um conjunto de estudos que visa a determinar os processos intelectuais que são as condições gerais do conhecimento verdadeiro. Outros preferem dizer que é a seqüência coerente, regular e necessária de acontecimentos, de coisas ou fatos, ou até mesmo, que é à maneira do raciocínio particular que cabe a um indivíduo ou a um grupo. Para concluir todas estas definições, podemos dizer que lógica é a ciência que estuda as leis e critérios de validade que regem o pensamento e a demonstração, ou seja, ciência dos princípios formais do raciocínio.

1.1 - Necessidade de uso da Lógica

Usar a lógica é um fator a ser considerado por todos, principalmente profissionais de informática (programadores, analistas de sistemas e suporte), pois seu dia-a-dia dentro das organizações é solucionar problemas e atingir os objetivos apresentados por seus usuários com eficiência e eficácia, utilizando recursos computacionais e/ou automatizados. Saber lidar com problemas de ordem administrativa, de controle, de planejamento e de estratégia requer atenção e bom desempenho de conhecimento de nosso raciocínio. Porém, devemos lembrá-los que não ensinamos ninguém a pensar, pois todas as pessoas normais possuem este “dom”, onde o nosso interesse e mostrar como desenvolver e aperfeiçoar melhor esta técnica, lembrando que para isto, você deverá ser persistente e praticá-la constantemente, chegando à exaustão sempre que julgar necessário.

1.2 - Raciocínio Matemático

As crianças aprendem facilmente como adicionar e subtrair valores. Suas dificuldades começam no momento em que elas se deparam com problemas e necessitam identificar quais operações trarão soluções para os mesmos.

(a) 25

(b) 24 (c) 26

(d) 49

(e) 2

4. Qual o número que completa a seqüência: 1, 1, 2, 3, 5, ...

(a) 5 (b) 6

(c) 7

(d) 8 (e) 9

5. Num concurso de saltos, Maria foi, simultaneamente, a 13ª melhor e 13ª pior. Quantas pessoas estavam em competição?

(a) 13

(b) 25 (c) 26

(d) 27 (e) 28

6. Bruno é mais alto que Joaquim. Renato é mais baixo que o Bruno. Então, Joaquim é o mais alto dos três. ( ) Verdadeiro

( ) Falso

7. O preço de um produto foi reduzido em 20% numa liquidação. Qual deverá ser a percentagem de aumento do preço do mesmo produto para que ele volte a ter o preço original?

(a) 15%

(b) 20% (c) 25%

(d) 30% (e) 40%

Use a descrição abaixo para resolver os exercícios 8 e 9.

Chapeuzinho Vermelho ao entrar na floresta, perdeu a noção dos dias da semana. A Raposa e o Lobo Mau eram duas estranhas criaturas que freqüentavam a floresta. A Raposa mentia às segundas, terças e quartas-feiras, e falava a verdade nos outros dias da semana. O Lobo Mau mentia às quintas, sextas e sábados, mas falava a verdade nos outros dias da semana.

8. Um dia Chapeuzinho Vermelho encontrou a Raposa e o Lobo Mau descansando à sombra de uma árvore. Eles disseram:

Raposa: “Ontem foi um dos meus dias de mentir” Lobo Mau: “Ontem foi um dos meus dias de mentir”

A partir dessas afirmações, Chapeuzinho Vermelho descobriu qual era o dia da semana. Qual era?

9. Em qual dia da semana é possível a Raposa fazer as seguintes afirmações?

Eu menti ontem. Eu mentirei amanhã.

2 – Definição de Algoritmo

É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa. "O algoritmo pode ser usado como uma ferramenta genérica para representar a solução de tarefas independente do desejo de automatizá-las, mas em geral está associado ao processamento eletrônico de dados, onde representa o rascunho para programas (Software)." "Serve como modelo para programas, pois sua linguagem é intermediária à linguagem humana e às linguagens de programação, sendo então, uma boa ferramenta na validação da lógica de tarefas a serem automatizadas." "Um algoritmo é uma receita para um processo computacional e consiste de uma série de operações primitivas, interconectadas devidamente, sobre um conjunto de objetos. Os objetos manipulados por essas receitas são as variáveis." O algoritmo pode ter vários níveis de abstrações de acordo com a necessidade de representar ou encapsular detalhes inerentes às linguagens de programação. Ex: Certamente um algoritmo feito com o objetivo de servir como modelo para uma linguagem de III geração é diferente daquele para uma linguagem de IV geração. Mas isso não impede que a ferramenta em si possa ser usada em ambos o caso. Como qualquer modelo, um algoritmo é uma abstração da realidade. A abstração é o processo de identificar as propriedades relevantes do fenômeno que esta sendo modelado. Usando o modelo abstrato, podemos nos centrar unicamente nas propriedades relevantes para nós, dependendo da finalidade da abstração, e ignorar as irrelevantes. É a forma pela qual descrevemos soluções de problemas do nosso mundo , afim de, serem implementadas utilizando os recursos do mundo computacional. Como este possuí severas limitações em relação ao nosso mundo, exige que, sejam impostas algumas regras básicas na forma de solucionar os problemas, para que, possamos utilizar os recursos de hardware e software disponíveis. Pois, os algoritmos, apesar de servirem para representar a solução de qualquer problema, no caso do Processamento de Dados, eles devem seguir as regras básicas de programação para que sejam compatíveis com as linguagens de programação.

2.1 - Estruturas de Algoritmo

Num algoritmo (e em particular num programa) devemos distinguir claramente dois aspectos complementares: um aspecto estático e um aspecto dinâmico. A formulação de um algoritmo geralmente consiste em um texto contendo comandos (instruções) que devem ser executados numa ordem prescrita. Este texto é uma representação

concreta do algoritmo e tem um caráter evidentemente estático, atemporal, expandido somente no espaço (da folha de papel). Por outra parte este texto não nos interessa em si, mas pelos efeitos que pode evocar sua execução no tempo, dado um conjunto de “valores iniciais”. Cada execução de um algoritmo é um evento dinâmico, evoluindo no tempo. Para melhor entendimento usaremos exemplos tomados principalmente do cotidiano, e menos do meio de programação, ressaltando assim a generalidade do conceito de algoritmo. Uma ação é um evento que ocorre num período de tempo finito, estabelecendo um efeito intencionado e bem definido. Exemplos:

  • (^) “Caminhar até a próxima esquina”
  • “Colocar um livro em cima de uma mesa”
  • “Descascar as batatas para o jantar”
  • “Trocar o pneu de um carro”
  • “Ir ao shopping” Se estivermos interessados numa ação, é pelo efeito que ela produz. A intenção na execução de uma ação é estabelecer esse efeito, que então naturalmente deve ser bem definido. Ações de efeito imprevisível não nos interessam aqui. É fundamental ação que leve um período de tempo finito para ser executada: isso implica que possamos falar do instante t 0 em que a ação começa e do instante t 1 em que ela termina. Vamos supor que o efeito de uma ação pode ser

descrito comparando-se o “estado no instante t0” com o “estado no instante t (^) 1”. Podemos considerar o estado (de um dado sistema de objetos) como o conjunto de propriedades desses objetos que são relevantes para nós na situação considerada. Por exemplo: a) batatas com casa ou descascadas; b) o conjunto de valores das variáveis do programa num certo instante da execução. Quando consideramos um evento como uma seqüência temporal de (sub) ações, cujo efeito acumulado é igual ao efeito do evento total, falamos de um processo seqüencial, ou simplesmente um processo. Um mesmo evento pode geralmente ser considerado como uma ação primitiva ou como um processo, dependendo se está interessado simplesmente no efeito total, ou seja, nos estados antes e depois, ou se também estamos interessados em um ou vários estados intermediários. Para descrever um evento, usaremos inicialmente a forma de relado de um observador. Por exemplo, o evento “uma dona-de-casa descasca as batatas para o jantar” poderia ser descrito por um observador como uma sucessão das seguintes sub-ações por parte da dona de casa. “Trazer a cesta com batatas do porão” “Pegar a panela no armário”

2.3.1 - Linguagens de Programação

A produção de programas confiáveis e manuteníveis é um processo que independe da linguagem usada. Até o código em Assembler pode ser escrito em uma forma bem inteligível, contudo, uma linguagem com facilidades específicas para este fim auxilia muito. Para cada tipo de aplicação existem linguagens que se aplicam melhor, na construção de softwares básicos são usadas C, ASSEMBLER, PASCAL e em aplicativos comerciais as mais encontradas são COBOL, CLIPPER, VISUAL BASIC, DELPHI. O lay-out contribui igualmente para a legibilidade dos programas. A maioria das linguagens aceitam formato livre na escrita do programa (exceto FORTRAN, ASSEMBLER...). O uso de linhas em branco e parágrafos consistentes afeta sensivelmente a legibilidade elas auxiliam a distinção entre as diversas estruturas que compõe o programa tais como: comentários, declarações, conjuntos de instruções que executam uma função específica. Bons compiladores possuem geralmente algumas características que auxiliam a construção de programas tais como, indicação de local de erros, de início e fim de blocos, separação de mensagens e código fonte, determinação exata de início e fim de procedure, listas de parâmetros de cada procedure, tipos ou variáveis locais e globais da procedure. Os editores de programa embutidos nas linguagens mais atuais permitem um bom desenvolvimento e determinação automática de erros, idendação de comandos e outras características desejáveis. Os chamados editores de contexto obedecem seqüência de comandos relacionados com o texto que se deseja modificar.

2.3.2 - Principais linguagens e suas características

Com o surgimento de ambientes gráficos e evolução de sistemas operacionais, as linguagens também caminham para tornarem-se mais amigáveis e cada vez mais possuem recursos que permitem diminuir a carga de trabalho de programadores. Desde os tempos da linguagem de máquina até hoje muitas linguagens surgiram e caíram em desuso e outras evoluíram através dos tempos e são usadas até hoje, as mais conhecidas são:

  • BASIC(BEGINNERS ALL PURPOSE SYMBOLIC INSTRUCTION CODE): Sua utilização ocorreu nos campos científico e comercial, em programas simples e pequenos. Comandos FOR, IF para seleção. Houve uma falta total de padronização o que levou ao problema de sua utilização quando havia qualquer troca de equipamento.
  • FORTRAN(FÓRMULA TRANSLATOR): Projetada para uso matemático e ensino de programação. Uso de GOTO para repetições e IF para seleção e não permite recursividade.
  • COBOL(COMMON BUSINES ORIENTED LANGUAGE): Linguagem de alto nível voltada para aplicações comerciais, foi durante anos a mais utilizada em indústria e

comércio. Possui GOTO e PERFORM para implementação de repetições e IF-THEN- ELSE restrito para seleção. Variáveis e tipos devem ser declarados

  • PASCAL: Linguagem estruturada e com aplicação em ensino devido a simplicidade e clareza dos programas, facilita uso de estruturas de dados como filas e pilhas. Possui estruturas CASE, DO WHILE, REPEAT UNTIL, FOR, GOTO e IF-THEN-ELSE. As variáveis devem ser explicitamente declaradas e o programador pode definir novos tipos.
  • PL/1(PROGRAMING LANGUAGE 1): Servia tanto para uso em sistemas científicos quanto comerciais e foi desenvolvida por um grupo científico SHARE, comercial GUIDE e pela International Business Machines Corporation. É uma linguagem padronizada, poderosíssima, entretanto o aprendizado é lento e difícil.
  • C: Projetada para operar sobre o sistema operacional UNIX que possui funções de baixo nível. Possui estruturas CASE,FOR, repetições com testes no início e no final e IF-THEN- ELSE. Existe a possibilidade de abandonar a repetição através de BREAK.
  • CLIPPER: Originou-se do DBASE III e é voltada para gerência de arquivos e dados. Possui estruturas CASE, FOR, WHILE, IF-THEN-ELSE. Os loops podem ser interrompidos desviando o fluxo para o início ou final do laço.
  • DELPHI: Voltada para desenvolvimento em ambiente windows, tendo se originado do antigo PASCAL. Permite programação orientada a objeto e através de eventos.
  • VISUAL BASIC: Evolução da antiga linguagem BASIC, destina-se ao desenvolvimento também para ambiente windows. Possui estruturas de repetição e seleção. Em sua versão mais recente permite desenvolvimento orientado a objeto.

Qual a melhor linguagem de programação?

Na maioria dos casos a resposta a esta pergunta está relacionada com a aplicação que será desenvolvida e principalmente com a capacidade do programador de obter resultados das linguagens existentes. A tendência é que qualquer um que tenha domínio sobre uma linguagem específica, considere aquela como sendo melhor para desenvolvimento, entretanto não basta somente avaliar o próprio conhecimento, pois algumas linguagens fornecem vantagens significativas e seu aprendizado gera benefícios ao programador.

2.4 - Regras Antes de Começar

  1. Nunca copiar os algoritmos construídos por seus colegas;
  2. Todo problema a ser resolvido será previamente entendido passado para um algoritmo, para depois ser representado sua estruturação em código português estruturado.
  • A falta de participação de usuários ou a falta de estímulo por parte dos desenvolvedores do sistema dificulta a avaliação do resultado final.
  • Em muitas organizações falta apoio de gerentes e supervisores das áreas envolvidas no processo.

3 – Conceitos Básicos

3.1 - Variáveis

O computador possui uma área de armazenamento conhecida como memória. Todas as informações existentes no computador estão ou na memória primária ( memória RAM ), ou na memória secundária ( discos, fitas, CD-ROM etc ). Nós iremos trabalhar, neste curso, somente com a memória primária, especificamente com as informações armazenadas na RAM ( memória de acesso aleatório ). A memória do computador pode ser entendida como uma seqüência finita de caixas, que num dado momento, guardam algum tipo de informação, como número, uma letra, uma palavra, uma frase etc, não importa, basta saber que lá sempre existe alguma informação. O computador, para poder trabalhar como alguma destas informações, precisa saber onde, na memória, o dado está localizado. Fisicamente, cada caixa, ou cada posição de memória, possui um endereço, ou seja, um número, que indica onde cada informação está localizada. este número é representado através da notação hexadecimal, tendo o tamanho de quatro, ou mais bytes. Abaixo segue alguns exemplos:

Endereço Físico Informação 3000: B712 ‘ João’ 2000: 12EC 12345 3000: 0004 ‘ H’ Como pode ser observado, o endereçamento das posições de memória através de números hexadecimais é perfeitamente compreendido pela máquina, mas para nós humanos torna-se uma tarefa complicada. Pensando nisto, as linguagens de computador facilitaram o manuseio, por parte dos usuários, das posições de memória da máquina, permitindo que, ao invés de trabalhar diretamente com os números hexadecimais, fosse possível dar nomes diferentes a cada posição de memória. Tais nomes seriam de livre escolha do usuário. Com este recurso, os usuários ficaram livres dos endereços físicos ( números hexadecimais ) e passaram a trabalhar com endereços lógicos ( nomes dados pelos próprios usuários ). Desta forma, o Exemplo acima, poderia ser alterado para ter o seguinte aspecto:

Endereço Físico Informação Nome ‘ João’ número 12345 letra ‘ H’ Como tínhamos falado, os endereços lógicos são como caixas, que num dado instante guardam algum tipo de informação. Mas é importante saber que o conteúdo desta caixa não é algo

1- valores que podem ser classificados como: a) valores constantes, invariantes em todas as aplicações da fórmula, no caso dos valores 4, 3 e F 07 0 aos denomina-se constantes; b) valores a serem substituídos na fórmula, em cada aplicação; a representação destes valores, usualmente é feita através de letras, que recebem o nome de variáveis e tornam a fórmula genérica, possível de ser aplicada para resolver uma certa classe de problemas e não apenas um problema específico.

2 - Operações a serem feitas sobre determinados operandos (Valores), para a obtenção da solução do problema.

3.1.4 - Tipos de Dados

O Pascal exige que no momento que formos trabalhar com variáveis, indiquemos o tipo de informação que uma variável pode conter, isto é, se uma dada posição de memória armazenará um número ou uma letra etc. Para isto, a linguagem Pascal possui definido alguns tipos que deverão ser usados quando formos trabalhar com variáveis. Alguns tipos são:

3.1.4.1 - Simples

INTEGER - Envolve os números inteiros. Na versão 5.0 do Turbo Pascal, existem também outros tipos de números inteiros: SHORTINT, BYTE, WORD e LONGINT.

Tipo Valor mínimo Valor máximo Bytes ocupados SHORTINT -128 127 1 BYTE 0 255 1 INTEGER -32768 32767 2 WORD 0 65535 2 LONGINT -2147483648 2147483647 4 Exemplos: -45, 1, 138, 0, - REAL - abrange os números reais. Na versão 5.0, existem também outros tipos de números reais: SINGLE, DOUBLE, EXTENDED e COMP.

Tipo Valor mínimo

Valor máximo

Bytes ocupados

Dígitos Significativos REAL 2.9 x 10-39 1.7 x 1038 6 11-

SINGLE 1.5 x 10-45 3.4 x 1038 4 7- DOUBLE 5.0 x 10-324 1.7 x 10308 8 15- EXTENDED 3.4 x 10-4932 1.1 x 104932 10 19- COMP -263 + 1 263 - 1 8 19- Exemplos: 4.5, -32.0, .5, 7.8E3, 21E+3, -315E- CHAR - representa um único caracter, escrito entre apóstrofos ( ‘ ). A maioria dos computadores utilizam a tabela de códigos ASCII para representar todos os caracteres disponíveis. Exemplos:

'A', 'B', 'a', '1', '@', ' '

BOOLEAN - representa um valor lógico. Utiliza apenas duas constantes lógicas: TRUE (verdadeiro) e FALSE (falso).

3.1.4.2 - Estruturados

STRING - formado por um conjunto de elementos do tipo CHAR. O tamanho máximo é de 255 caracteres. Exemplos:

'ASPER', 'Processamento de Dados', '123’

Discutiremos com mais detalhes o tipo string em um capítulo especialmente dedicado a este fim.

Os outros tipos de dados estruturados são: ARRAY, RECORD, FILE, SET e TEXT e serão apresentados no decorrer da apostila.

Tipo Record

Os tipos de dados que são mais comumente usados são :

  1. WORD INTEGER REAL BYTE STRING CHAR

O uso do “.” indica que esta variável possui campos, e que “Idade” é um deles. É importante lembrar que as operações realizadas sobre uma variável RECORD , são as mesmas de uma variável “comum”, a única diferença que devemos indicar o Nome da variável, seguido de um ponto(.), seguido do Nome do campo. É possível atribuir o conteúdo de uma variável RECORD para outra variável, de mesmo tipo, da mesma forma que é feito como as outras variáveis do Pascal.

Exemplo: Caso duas variáveis, digamos A e B sejam definidas como sendo RECORDs, e caso seja desejado passar o conteúdo, isto é os valores existentes nos campos, a variável A para a variável B, bastará realizar a seguinte atribuição:

Pascal A: =B

Declaração With

Se existe uma série de campos de uma variável do tipo record que ser acessada repetidamente, pode ser cansativo ter que escrever o nome da variável na frente do campo diversas vezes. Para resolver o problema, podemos utilizar a declaração With. Sua forma é a seguinte:

WITH Variavel_do_tipo_record DO Begin comando_1; comando_2;

... End; Exemplo: { Lê uma variável tipo RECORD e em seguida a mostra } Program Exemplo_1; Uses CRT; Type Pessoas = Record Nome : String[30]; Idade : Integer; Sexo : Char; Altura : Real; End; Var p : Pessoas; Begin

ClrScr; With p do Begin Write('Nome ------> '); Readln(Nome); Write('Idade -----> '); Readln(Idade); Write('Sexo ------> '); Readln(Sexo); Write('Altura ----> '); Readln(Altura); Writeln; Writeln('Voce digitou os seguintes dados :'); Writeln; Writeln; Writeln(nome); Writeln(idade); Writeln(sexo); Writeln(altura:6:2); End; End.

3.1.4.3 – Definidos pelo Usuário

A linguagem Pascal permite que os programadores, além de usar os tipos predefinidos na linguagem, também possam criar novos tipos de dados. Isto se torna bastante útil quando lidamos com estruturas de dados complexas, como também ajuda a tornar o programa mais legível. Este assunto, pela sua complexidade, será abordado mais adiante. O Pascal possui vários tipos pré-definidos, como INTEGER, STRING, REAL, CHAR etc, mas além destes tipos básicos, existe a possibilidade do usuário definir seus próprios tipos de dados. Para isto, é necessário o uso da palavra reservada TYPE, a qual indica que um novo tipo será criado. Uma declaração de tipo permite que se associe um identificador à descrição de um tipo. Uma vez declarado, tal identificador pode ser usado da mesma forma que o nome de um tipo predefinido. Sintaxe: type ident = descrição-do-tipo; [ident = descrição-do-tipo;] ... Onde: Ident = é o nome que passará a identificar o tipo definido. Descrição-do-tipo = é a descrição de um tipo válido em Pascal.