You are on page 1of 142

Algoritmos

Edeyson Andrade Gomes edeyson@ifba.edu.br

Agenda
` ` ` ` `

Introdução
`

Lógica

Definições Básicas Lógica de Programação Nomenclaturas Simbologias

2

Edeyson Andrade Gomes

www.edeyson.com.br

Introdução

br . a resolução de um problema Ramo da filosofia que cuida das regras do bem pensar.Introdução ` O que é a Lógica? ` Maneira particular de raciocinar Conjunto de regras e princípios que orientam.com. o desenvolvimento de uma argumentação ou de um raciocínio.edeyson. implícita ou explicitamente. do pensar corretamente ` ` ` Coerência e Racionalidade ` 4 Determina a validade de operações através das formas e leis do pensamento Edeyson Andrade Gomes www.

Introdução ` Pensamento ` Manifestação do conhecimento ` ` O conhecimento busca a verdade É preciso estabelecer regras para que essa meta possa ser atingida ` Arte de bem pensar ` ` Ordem da razão.br .edeyson.com. do pensamento A forma como as pessoas raciocinam é estudo da psicologia cognitiva 5 Edeyson Andrade Gomes www.

Introdução ` Método dedutivo ` Modo de raciocínio lógico que faz uso da dedução para obter uma conclusão a respeito de determinadas premissas ` O raciocínio dedutivo se caracteriza por apresentar conclusões que são verdadeiras caso todas as premissas sejam verdadeiras ` A dedução não oferece conhecimento novo. Ela: ` ` ` conduz à particularidade de uma lei geral previamente conhecida.br .com.edeyson. organiza e especifica o conhecimento que já se possui. tem como ponto de partida o plano do inteligível. 6 Edeyson Andrade Gomes www.

edeyson. ou tidas como verdadeiras. e chega a uma conclusão inadmissível. todo gato é um animal ` ` Rex é um cachorro Cachorros não voam Logo. homens são galinhas Sofisma: Argumento que parte de premissas verdadeiras. www.br 7 Edeyson Andrade Gomes .Introdução ` Método dedutivo ` Exemplos ` ` Todo mamífero é um animal Todo gato é um mamífero Logo. Rex não voa ` ` Galinhas tem dois pés Homens tem dois pés Logo.com.

com. O cobre conduz eletricidade e é um metal.Introdução ` Método indutivo ` Parte-se de premissas particulares. na busca de uma lei geral Exemplo: ` ` ` ` O ferro conduz eletricidade e é um metal. Logo.br . os metais conduzem eletricidade.edeyson. 8 Edeyson Andrade Gomes www. O ouro conduz eletricidade e é um metal.

Definições Básicas .

com.br 10 . criatividade.edeyson. ` O que é? ` ` ` Solução de problemas Atingir objetivos Eficácia e eficiência ` Eu sei pensar!! ` Por que estudar lógica? ` Que Método se usa? Edeyson Andrade Gomes www.Definições Básicas ` Raciocínio Lógico ` Fatores que interferem ` Atenção. conhecimento. etc. experiência.

com.edeyson.Ordem Exemplos: ` ` ` A gaveta está fechada A caneta está dentro da gaveta Como fazer para pegar a caneta? Edeyson Andrade Gomes www.Definições Básicas ` Objetivos da Lógica ` Estudo de técnicas de formalização. dedução e análise para validar argumentos ` Representar formalmente os argumentos ` Lógica no dia-a-dia ` ` Pensamento exige lógica .br 11 .

nem durante o transporte. 3 em 3. Cada uma deve receber a mesma quantidade de garrafas e de vinho. Como fazer a travessia? Edeyson Andrade Gomes www. 7 Vazias e 7 pelo meio) entre 3 pessoas. com mesma capacidade volumétrica e com formas diferentes) de vinho (7 Cheias. 5 em 5 e 7 em 7.com. ` Três missionários e três canibais estão encalhados.edeyson. 2. Existe uma única canoa para duas pessoas.Definições Básicas ` Exercício ` 1.br 12 . nem na ilha. Problemas das Laranjas ` ` Contadas de 2 em 2. nem em terra. com apenas um pequeno barco para chegar a terra firme. Dividir 21 garrafas (opacas. Todos devem atravessar. ` ` ` Os missionários nunca devem estar em menor número do que os canibais. numa ilha.

Lógica de Programação .

br .edeyson.com.Lógica de Programação ` O que é um programa? ` ` Qual seu programa para o fim de semana? Como se programa a gravação de um canal na SKY? ` O que é um programa de computador? ` ` ` O Word é um programa? O IE é um programa? Por que? ` Um programa pode calcular um salário? ` 14 Como? Com que critérios? Edeyson Andrade Gomes www.

Lógica de Programação ` Programa ` Estrutura seqüencial completa ` Passos logicamente válidos e coerentes ` O raciocínio independe da linguagem usada para representá-lo ` Lógica de programação independe das linguagens de programação 15 Edeyson Andrade Gomes www.br .com.edeyson.

Lógica de Programação
`

Algoritmo
` `

Conjunto de passos para atingir um objetivo, executar uma tarefa Como determinar uma seqüência coerente e válida de passos?
`

Ordem do pensamento
Lógica

`

Exercício:
` ` `

Trocar o pneu de um carro? Como determinar todos os divisores de N? Como determinar se N é primo?

16

Edeyson Andrade Gomes

www.edeyson.com.br

Algoritmos

Algoritmos
`

Resolução de um problema no computador
`

O que é necessário?
` ` `

1. Descrição clara e precisa do problema; II. Definição de uma seqüência de passos que permitam a solução de maneira automática e repetitiva; III. Formatação dos dados:
Entrada e saída.

`

Seqüência de passos para a solução
Algoritmo. Um algoritmo é único?
Pontos de vista

`

Existe algoritmo para a criação de algoritmos?
Edeyson Andrade Gomes www.edeyson.com.br

18

ou da solução do problema. regras formais para a obtenção do resultado.com.µ ´Conjunto de regras e operações bem definidas e ordenadas. ou de resolução de um grupo de problemas semelhantes.br .edeyson.µ Dicionário Aurélio ` ` 19 Edeyson Andrade Gomes www. ou de uma classe de problemas. com generalidade e sem restrições. em um número finito de etapas. destinadas à solução de um problema.Algoritmos ` Definição ` ´Processo de cálculo. em que se estipulam.

com. ´ Dicionário Aurélio 20 Edeyson Andrade Gomes www.Algoritmos Dados de Entrada Dados de Saída Receita: ´Indicação minuciosa sobre a quantidade dos ingredientes e a maneira de preparar um prato salgado ou doce.edeyson.br .

br .edeyson.com.Algoritmos ` Um algoritmo opera sobre um conjunto de entradas de modo a gerar uma saída útil para o usuário ` Dados de entrada e saída ` Um algoritmo possui 5 características importantes: ` Finitude ` Deve sempre terminar após um número finito de passos Cada passo de um algoritmo deve ser precisamente definido As ações devem ser definidas rigorosamente e sem ambigüidades ` Definição ` ` Entradas ` Um algoritmo deve ter zero ou mais entradas 21 Edeyson Andrade Gomes www.

edeyson.com.br .Algoritmos ` Um algoritmo de 5 características importantes: ` ` ` ` Limitação ou Finitude Definição Entradas Saídas ` Um algoritmo deve ter uma ou mais saídas Um algoritmo deve ser efetivo Todas as operações devem ser suficientemente básicas de modo que possam ser executadas com precisão em um tempo finito por um humano usando papel e lápis ` Efetividade ` ` 22 Edeyson Andrade Gomes www.

respectivamente As vasilhas não tem nenhum tipo de marcação. Mostre uma seqüência de passos que.Algoritmos ` Problema ` ` ` Existem duas vasilhas com capacidades de 9 e 4 litros.edeyson. usando as vasilhas de 9 e 4 litros. de modo que não é possível ter medidas como metade ou um terço. encha uma terceira vasilha de medida desconhecida com seis litros de água 23 Edeyson Andrade Gomes www.com.br .

com. mas sempre obedecendo as seguintes regras: ` ` ` elas podem pular para a casa vizinha (frente ou trás). elas podem pular sobre a rã vizinha para uma casa livre (frente ou trás).edeyson.Algoritmos ` Considere que cinco rãs estão posicionadas em seis casas da seguinte maneira: Rã 1 Rã 2 Rã 3 Rã 4 Rã 5 ` As rãs foram treinadas para trocar de casas.br 24 Edeyson Andrade Gomes . Mostre como as rãs podem chegar a seguinte posição final: Rã 5 Rã 4 Rã 3 Rã 2 Rã 1 www. se ela estiver vazia.

Algoritmos
Rã 1 Rã 2 Rã 3 Rã 4 Rã 5

25

Edeyson Andrade Gomes

www.edeyson.com.br

Algoritmos
Rã 1 Rã 2 Rã 1 Rã 2 Rã 3 Rã 3 Rã 4 Rã 4 Rã 5 Rã 5

26

Edeyson Andrade Gomes

www.edeyson.com.br

Algoritmos
Rã 1 Rã 2 Rã 2 Rã 1 Rã 1 Rã 2 Rã 3 Rã 3 Rã 3 Rã 4 Rã 4 Rã 4 Rã 5 Rã 5 Rã 5

27

Edeyson Andrade Gomes

www.edeyson.com.br

Algoritmos Rã 1 Rã 2 Rã 2 Rã 2 Rã 3 Rã 1 Rã 1 Rã 1 Rã 2 Rã 3 Rã 3 Rã 3 Rã 4 Rã 4 Rã 4 Rã 4 Rã 5 Rã 5 Rã 5 Rã 5 28 Edeyson Andrade Gomes www.edeyson.com.br .

Algoritmos Rã 1 Rã 2 Rã 2 Rã 2 Rã 2 Rã 3 Rã 3 Rã 1 Rã 1 Rã 1 Rã 1 Rã 2 Rã 3 Rã 3 Rã 3 Rã 4 Rã 4 Rã 4 Rã 4 Rã 4 Rã 5 Rã 5 Rã 5 Rã 5 Rã 5 29 Edeyson Andrade Gomes www.br .edeyson.com.

Algoritmos
Rã 1 Rã 2 Rã 2 Rã 2 Rã 2 Rã 2 Rã 3 Rã 3 Rã 3 Rã 4 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 Rã 2 Rã 3 Rã 3 Rã 3 Rã 4 Rã 4 Rã 4 Rã 4 Rã 4 Rã 5 Rã 5 Rã 5 Rã 5 Rã 5 Rã 5

30

Edeyson Andrade Gomes

www.edeyson.com.br

Algoritmos
Rã 1 Rã 2 Rã 2 Rã 2 Rã 2 Rã 2 Rã 2 Rã 3 Rã 3 Rã 3 Rã 3 Rã 4 Rã 4 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 Rã 2 Rã 3 Rã 3 Rã 3 Rã 4 Rã 4 Rã 4 Rã 4 Rã 4 Rã 5 Rã 5 Rã 5 Rã 5 Rã 5 Rã 5 Rã 5

31

Edeyson Andrade Gomes

www.edeyson.com.br

Algoritmos
Rã 1 Rã 2 Rã 2 Rã 2 Rã 2 Rã 2 Rã 2 Rã 2 Rã 3 Rã 3 Rã 3 Rã 3 Rã 3 Rã 4 Rã 4 Rã 4 Rã 5 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 Rã 2 Rã 3 Rã 3 Rã 3 Rã 4 Rã 4 Rã 4 Rã 4 Rã 4 Rã 5 Rã 5 Rã 5 Rã 5 Rã 5 Rã 5 Rã 5

32

Edeyson Andrade Gomes

www.edeyson.com.br

edeyson.br .Algoritmos Rã 1 Rã 2 Rã 2 Rã 2 Rã 2 Rã 2 Rã 2 Rã 2 Rã 2 Rã 3 Rã 3 Rã 3 Rã 3 Rã 3 Rã 3 Rã 4 Rã 4 Rã 4 Rã 4 Rã 5 Rã 5 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 Rã 2 Rã 3 Rã 3 Rã 3 Rã 4 Rã 4 Rã 4 Rã 4 Rã 4 Rã 5 Rã 5 Rã 5 Rã 5 Rã 5 Rã 5 Rã 5 33 Edeyson Andrade Gomes www.com.

com.Algoritmos Rã 2 Rã 2 Rã 3 Rã 3 Rã 4 Rã 5 Rã 5 Rã 4 Rã 1 Rã 1 34 Edeyson Andrade Gomes www.edeyson.br .

Algoritmos Rã 2 Rã 2 Rã 2 Rã 3 Rã 3 Rã 3 Rã 5 Rã 4 Rã 5 Rã 5 Rã 4 Rã 4 Rã 1 Rã 1 Rã 1 35 Edeyson Andrade Gomes www.edeyson.br .com.

com.edeyson.br .Algoritmos Rã 2 Rã 2 Rã 2 Rã 2 Rã 3 Rã 3 Rã 3 Rã 5 Rã 5 Rã 3 Rã 4 Rã 5 Rã 5 Rã 4 Rã 4 Rã 4 Rã 1 Rã 1 Rã 1 Rã 1 36 Edeyson Andrade Gomes www.

com.Algoritmos Rã 2 Rã 2 Rã 2 Rã 2 Rã 2 Rã 5 Rã 3 Rã 3 Rã 3 Rã 5 Rã 5 Rã 3 Rã 3 Rã 4 Rã 5 Rã 5 Rã 4 Rã 4 Rã 4 Rã 4 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 37 Edeyson Andrade Gomes www.br .edeyson.

br .com.Algoritmos Rã 2 Rã 2 Rã 2 Rã 2 Rã 2 Rã 5 Rã 5 Rã 2 Rã 3 Rã 3 Rã 3 Rã 5 Rã 5 Rã 3 Rã 3 Rã 3 Rã 4 Rã 5 Rã 5 Rã 4 Rã 4 Rã 4 Rã 4 Rã 4 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 38 Edeyson Andrade Gomes www.edeyson.

br .edeyson.com.Algoritmos Rã 2 Rã 2 Rã 2 Rã 2 Rã 2 Rã 5 Rã 5 Rã 5 Rã 2 Rã 2 Rã 3 Rã 3 Rã 3 Rã 5 Rã 5 Rã 3 Rã 3 Rã 3 Rã 3 Rã 4 Rã 5 Rã 5 Rã 4 Rã 4 Rã 4 Rã 4 Rã 4 Rã 4 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 Rã 1 39 Edeyson Andrade Gomes www.

40 Edeyson Andrade Gomes www.com.Algoritmos ` O objetivo de apresentar TODOS os passos serve para que? ` ` Repetição Busca de subconjunto ` Simplificar problema ` Problema: ` Como encontrar a conta com o menor saldo entre os clientes de um banco? ` Saldos podem estar negativos.edeyson.br .

br .Algoritmos ` Como encontrar a conta com o menor saldo entre os clientes de um banco? ` ` ` Igualar o MenorSaldo ao saldo do Primeiro Cliente e ID à identificação dele Testar todos os clientes Para cada cliente fazer: Se o MenorSaldo for maior que o saldo do cliente testado.com.edeyson. então MenorSaldo = saldo do cliente e ID = identificação do cliente ` Imprimir MenorSaldo e ID 41 Edeyson Andrade Gomes www.

com.edeyson.Algoritmos ` Passos de Construção: ` ` ` Compreender o problema Identificar os dados de entrada e saída Determinar o que é preciso para transformar dados de entrada em dados de saída: ` ` ` ` usar a estratégia do dividir para conquistar (top-down) observar regras e limitações identificar todas as ações a realizar eliminar ambigüidades ` ` ` Construir o algoritmo Testar o algoritmo Executar o algoritmo 42 Edeyson Andrade Gomes www.br .

Algoritmos ` Método Top-Down ` Consiste em dividir um problema em partes menores ` subproblemas ` ` de modo que seja mais fácil a sua resolução. 43 Edeyson Andrade Gomes www. Exemplo: ` Fazer suco de laranja Lavar laranja.br . Servir o suco.com. Partir laranja ao meio. Espremer laranja. Filtrar o suco.edeyson.

br .com. 44 Edeyson Andrade Gomes www.edeyson. passo a passo. de como resolver um problema ou executar uma tarefa. ` A programação consiste na codificação precisa desse algoritmo segundo uma linguagem de programação específica.Algoritmos ` Criação de algoritmos para resolver problemas ` ` ` Complexo Desafio mais atrativo ao programador Ciência ou Arte? ` Um algoritmo é uma descrição detalhada.

Representação de Algoritmos .

Fluxograma ` ` Pseudo-linguagem Os algoritmos são descritos através de uma linguagem intermediária entre a linguagem natural e uma linguagem de programação. 46 Edeyson Andrade Gomes www. Usam-se formas geométricas padronizadas para descrever ações e decisões na resolução do problema.com. Os algoritmos são representados graficamente.br .Representação de Algoritmos ` As formas mais comuns de representação de algoritmos são as seguintes: ` ` Linguagem Natural ` Os algoritmos são descritos detalhadamente em linguagem natural.edeyson.

edeyson. o queijo e o presunto? Quem fritou o ovo? Isso faz parte do algoritmo? ` Podemos definir um algoritmo fritar ovo e reusá-lo? Edeyson Andrade Gomes www.com.br ` ` 47 .Representação de Algoritmos ` Linguagem Natural ` Início do Algoritmo XBurger ` ` ` ` ` ` ` Pegar um pão Abrir o pão ao meio Passar manteiga no pão Colocar queijo no pão Colocar presunto no pão Colocar ovo frito no pão Fechar o pão ` Fim do Algoritmo XBurger Onde estavam a manteiga.

Representação de Algoritmos ` Linguagem Natural ` Início do Algoritmo Média ` ` ` ` ` Atribuir um valor para a variável a.edeyson. Atribuir um valor para a variável b. Calcular média como a soma de a. b e c dividida por 3. ` Fim do Algoritmo Média 48 Edeyson Andrade Gomes www. Imprimir a média. Atribuir um valor para a variável c.br .com.

4ac X1 = (-b + ¥¨) / 2a X2 = (-b .edeyson.br .Representação de Algoritmos ` Linguagem Natural ` Como calcular as raízes de uma equação do segundo grau? ` ` ` ` ax2 + bx + c ¨ = b2 .¥¨) / 2a ` ` A deve ser diferente de 0 ¨ deve ser maior que zero para ter raízes reais 49 Edeyson Andrade Gomes www.com.

informar que a equação não tem raízes reais e terminar o algoritmo Caso contrário continue e faça Calcular x1=(-b + raiz quadrada de delta)/(2a) Calcular x2=(-b ² raiz quadrada de delta)/(2a) Fornecer como resultado x1 e x2 Terminar o algoritmo.4ac Se delta for negativo.Representação de Algoritmos ` Linguagem Natural ` Início do Algoritmo Raízes ` ` ` Obter os coeficientes a. ` Fim do Algoritmo Raízes Edeyson Andrade Gomes www. b e c Se a é igual a zero.br 50 . informar que esta é uma equação de 1º grau e terminar o algoritmo Caso contrário continue e faça Calcular delta = b2 .com.edeyson.

com.br .edeyson.Fluxogramas 51 Edeyson Andrade Gomes www.

br .Fluxogramas ` Fluxograma é um diagrama ` ` ` Representa o esquema de solução de um problema Apresenta linha de raciocínio lógico Independente de linguagem de programação ` Inteligível por humanos e computadores ` O que é um programa de computador? ` ` Como transformar as soluções dos dois problemas anteriores em programas? Como explicar o raciocínio lógico da solução? 52 Edeyson Andrade Gomes www.com.edeyson.

br .Fluxogramas ` Uma vez que um programa de computador está pronto.com. como compreendê-lo? ` O problema da manutenção ² 20 x 80 ` ` ` Eu não fiz. faço melhor! Eu não fiz.edeyson. só Jesus entende! POG ` Como documentar de forma estruturada o que se faz? ` O diagrama é uma linguagem universal? 53 Edeyson Andrade Gomes www.

Fluxogramas ` E o que são Fluxogramas? ` ` Ferramenta? Descrevem o fluxo de ação de um processo ` Solução de problema via representação esquemática ` Representação Gráfica Início e Fim de Fluxo Processo Exibição Entrada Manual de Dados Decisão 54 Edeyson Andrade Gomes www.edeyson.br .com.

edeyson.Fluxogramas ` Estruturas de Controle 55 Edeyson Andrade Gomes www.com.br .

Estruturas de Controle ` Seqüência ` ` Execução de um conjunto de ações em série. Não existe a possibilidade de alteração da ordem de processamento das ações 56 Edeyson Andrade Gomes www.com.br .edeyson.

com.br .edeyson.Estruturas de Controle ` Seleção com 1 Via Alternativa ` Tomada de decisão ` O fluxo de processamento executa a Ação 1 apenas se o valor lógico da expressão avaliada no início da estrutura for verdade 57 Edeyson Andrade Gomes www.

br .com.edeyson.Estruturas de Controle ` Seleção com 2 Vias ` Tomada de decisão ` O fluxo de processamento segue por 1 das 2 vias. dependendo do valor lógico da expressão avaliada no início da estrutura 58 Edeyson Andrade Gomes www.

edeyson. dependendo do valor lógico da expressão avaliada no início da estrutura 59 Edeyson Andrade Gomes www.br .com.Estruturas de Controle ` Seleção com N Vias ` Tomada de decisão ` O fluxo de processamento segue por 1 das N vias.

60 Edeyson Andrade Gomes www.edeyson.Estruturas de Controle ` Repetição com Teste Antecipado ` Há a necessidade de tomar uma decisão com base no valor lógico de uma expressão. O teste funciona como uma condição de parada das repetições. O teste da expressão lógica precede a ação.com. ` ` ` A mesma ação será executada repetidamente enquanto o resultado da expressão lógica se mantiver verdadeiro.br .

mudando apenas quando efetuar o teste 61 Edeyson Andrade Gomes www.br .com.Estruturas de Controle ` Repetição com Teste Postergado ` Semelhante à anterior.edeyson.

` ` Senão.Fluxogramas ` Exemplo: ` Como calcular as raízes de uma equação do primeiro grau? ` y = ax + b Se x é igual a zero. calcular o valor de x quando y é zero x = -b/a 62 Edeyson Andrade Gomes www.com.edeyson. imprimir que não há raiz.br .

edeyson.com.br .Fluxogramas 63 Edeyson Andrade Gomes www.

Fluxogramas ` Exemplo: ` Como calcular as raízes de uma equação do segundo grau? ` ` ` ` ax2 + bx + c ¨ = b2 .edeyson.¥¨) / 2ª ` ` A deve ser diferente de 0 ¨ deve ser maior que zero para ter raízes reais 64 Edeyson Andrade Gomes www.com.4ac X1 = (-b + ¥¨) / 2a X2 = (-b .br .

br .com.Fluxogramas 65 Edeyson Andrade Gomes www.edeyson.

Pseudo Linguagem .

com.br .Pseudo Linguagem ` Representação de algoritmos via linguagem próxima de uma linguagem de programação de alto nível ` ` ` Pseudocódigo Sem regras de construção gramatical muito rígidas.edeyson.interpretador 67 Edeyson Andrade Gomes www. Linguagem natural com limitação de escopo ` ` Vocabulário e Sintaxe limitados UAL .

((-1 * b) + raiz(delta)) / (2 * a). } senao { leia b. x1. delta <. } } fimprog 68 Edeyson Andrade Gomes www.com.Pseudo Linguagem prog Equacao2oGrau int a. delta.(4 * a * c). se (delta >= 0) { x1 <. x2. x2 <. ". imprima "\nX2 = ". b. x2. real x1.edeyson.((-1 * b) + raiz(delta)) / (2 * a). imprima "\nQual o valor de a? ".br . se (a == 0) { imprima "\nA equacao é de primeiro grau. leia c.(b * b) . } senao { imprima "\nA equacao nao tem raizes reais". c. imprima "\nX1 = ". leia a.

MD : Inteiro.edeyson. MD). 1 ATÉ 10 FAÇA PARA I INICIO Escreva('Digite um numero'). INICIO S C 0.br . S/C ESCREVER ('A média é:'. LER (a).com. I.Pseudocódigo VARIAVEIS S. S+a C+1 69 Edeyson Andrade Gomes www. A. C. SE a >=0 ENTÃO INICIO S C FIM SE. MD FIM. 0. FIM PARA.

Exercício 70 Edeyson Andrade Gomes www.com.edeyson.br .

c = 3 ` Isósceles Edeyson Andrade Gomes www.Exercício ` Usando as Representações de Algoritmos resolva o problema dos Triângulos ` Leia o valor de três lados de um triângulo (a. e determine se ele é: Equilátero: possui todos os lados iguais. Escaleno: possui os três lados diferentes. b= 5. ` Por exemplo: a = 3. Isósceles: possui pelo menos dois lados iguais.br 71 .edeyson.com. b e c).

imprima que é Escaleno ` Fim do Algoritmo Triângulos ` Com este algoritmo.br .com. b e c Se os três lados são iguais. imprima que é Isósceles Se os três lados são diferentes.Linguagem Natural ` Início do Algoritmo Triângulos ` ` ` ` Obter os lados a.TODO Equilátero seria também Isósceles.edeyson. imprima que é Equilátero Se dois lados são iguais. 72 Edeyson Andrade Gomes www.

edeyson.Linguagem Natural ` Início do Algoritmo Triângulos ` ` ` ` Obter os lados a. imprima que é Equilátero Se apenas dois lados são iguais.br . imprima que é Isósceles Se os três lados são diferentes. necessitando do SENÃO.com. imprima que é Escaleno ` Fim do Algoritmo Triângulos ` Neste caso as condições são mutuamente exclusivas. b e c Se os três lados são iguais. 73 Edeyson Andrade Gomes www.

com.br .edeyson.74 Edeyson Andrade Gomes www.

imprima que é Equilátero Senão.com.edeyson. imprima que é Isósceles Senão. se dois lados são iguais.br . imprima que é Escaleno ` Fim do Algoritmo Triângulos 75 Edeyson Andrade Gomes www. b e c Se os três lados são iguais.Linguagem Natural ` Início do Algoritmo Triângulos ` ` ` ` ` ` Obter os lados a.

br . imprima que é Escaleno ` Fim do Algoritmo Triângulos 76 Edeyson Andrade Gomes www. imprima que é Isósceles Senão. imprima que é Equilátero Senão.edeyson. b e c Se a = b e b = c.com. se a = b ou b = c ou a = c.Linguagem Natural ` Início do Algoritmo Triângulos ` ` ` ` Obter os lados a.

com.Triângulos 77 Edeyson Andrade Gomes www.edeyson.br .

Linguagem Natural ` Início do Algoritmo Triângulos ` ` ` ` Obter os lados a. Edeyson Andrade Gomes www. imprima que é Equilátero Se a = b ou b = c ou a = c. b e c Se a = b e b = c.br ` ` Esse algoritmo dá o mesmo resultado do anterior? ` Qual o problema dele? ` 78 . imprima que é Escaleno ` Fim do Algoritmo Triângulos Resp: SIM O segundo SE sempre será executado independente do resultado do primeiro SE. todo Equilátero será Isósceles.com. Neste caso.edeyson. imprima que é Isósceles Senão.

edeyson.br .Exercício 79 Edeyson Andrade Gomes www.com.

edeyson. Ler dez números e imprimir o maior deles. Ler cinco números e imprimir o maior deles. Ler mil números e imprimir o maior deles.Exercícios ` Usando as Representações de Algoritmos.br . descreva os seguintes algoritmos: ` ` ` ` Ler três números e imprimir o maior deles.com. ` O que se infere dos resultados? 80 Edeyson Andrade Gomes www.

faça Maior igual a n1 Ler n2 Se Maior é menor que n2. faça Maior igual a n3 Imprima Maior ` Fim do Algoritmo 81 Edeyson Andrade Gomes www.br . faça Maior igual a n2 Ler n3 Se Maior é menor que n3.com.edeyson.Ler três números e imprimir o maior deles ` Início do Algoritmo ` ` ` ` ` ` ` ` O Maior número (chamado de Maior) inicia com o menor valor possível Ler n1 Se Maior é menor que n1.

faça Maior igual a n1 Ler n2 Se Maior é menor que n2. faça Maior igual a n4 Ler n5 Se Maior é menor que n5.br . faça Maior igual a n2 Ler n3 Se Maior é menor que n3. ` Início do Algoritmo ` ` ` ` ` ` ` ` ` ` ` ` O Maior número inicia com o menor valor possível Ler n1 Se Maior é menor que n1. faça Maior igual a n3 Ler n4 Se Maior é menor que n4.Ler cinco números e imprimir o maior deles.com.edeyson. faça Maior igual a n5 Imprima Maior ` Fim do Algoritmo 82 Edeyson Andrade Gomes www.

edeyson.br . faça Maior igual a n ` Imprima Maior ` Fim do Algoritmo 83 Edeyson Andrade Gomes www.com.Ler dez números e imprimir o maior deles. ` Início do Algoritmo ` ` O Maior número inicia com o menor valor possível Faça 10 vezes ` ` Ler n Se Maior é menor que n.

edeyson.Fluxograma 84 Edeyson Andrade Gomes www.br .com.

com.Fluxograma 85 Edeyson Andrade Gomes www.edeyson.br .

writeln('O maior valor eh: '. Imprima Maior Fim do Algoritmo 86 Edeyson Andrade Gomes www. n. maior : integer. readkey. if (maior < n) then maior := n.com. end. maior). readln(n).Início do Algoritmo O Maior número inicia com o menor valor possível Faça 10 vezes Ler n Se Maior é menor que n. for i := 1 to 10 do begin writeln('Digite um valor para n').br .edeyson. begin maior := 0. end. faça Maior igual a n var i.

87 Edeyson Andrade Gomes www. i := i + 1. writeln('O maior valor eh: '.Início do Algoritmo O Maior número inicia com o menor valor possível Faça 10 vezes Ler n Se Maior é menor que n. readkey. if (maior < n) then maior := n. end.edeyson. end. i := 1.com. readln(n). while (i <= 10) do begin writeln('Digite um valor para n'). maior).br . faça Maior igual a n Imprima Maior Fim do Algoritmo begin maior := 0.

until (i > 10). faça Maior igual a n Imprima Maior Fim do Algoritmo begin maior := 0. end. 88 Edeyson Andrade Gomes www.edeyson. i := 1. maior). writeln('O maior valor eh: '. readkey. repeat begin writeln('Digite um valor para n').br . end.com. readln(n). if (maior < n) then maior := n. i := i + 1.Início do Algoritmo O Maior número inicia com o menor valor possível Faça 10 vezes Ler n Se Maior é menor que n.

br .edeyson.com.Exercício 89 Edeyson Andrade Gomes www.

Ler dez números e imprimi-los em ordem crescente.Exercício ` Usando as Representações de Algoritmos. Ler mil números e imprimi-los em ordem crescente. ` O que se infere dos resultados? 90 Edeyson Andrade Gomes www.com. descreva detalhadamente os passos para os seguintes algoritmos: ` ` ` ` Ler três números e imprimi-los em ordem crescente. Ler cinco números e imprimi-los em ordem crescente.br .edeyson.

Menor = 0. N3 =1 ` ` ` ` ` Maior = 0. Meio = 0 Ler N1. Maior = N3 91 Edeyson Andrade Gomes www. Maior = N1 Senão. N2 = 2.edeyson.Ler três números e imprimi-los em ordem crescente N1 = 3. N3 Se N1 > N2 então.br .com. N2. Maior = N2 Se Maior < N3 então.

Se N > Meio. Menor = N 92 Edeyson Andrade Gomes www.com. então Meio = Maior e Maior = N Senão.Ler três números e imprimi-los em ordem crescente 5. Meio = N Ler N Se N > Maior. então Meio = N Senão.br . então Maior = N Senão. Menor = N Ler N Se N > Maior. 10 ` ` ` ` ` ` ` ` ` ` Maior = 0. 8.edeyson. Menor = 0. Meio = N. Meio = 0 Ler N Maior = N. Menor = N.

Meio = 0 Ler N1. N2. N2 = 2.edeyson.com.br . N3 Se N1 > N2 então. Menor = N1 Se Menor > N3 então. Menor = N3 93 Edeyson Andrade Gomes www. N3 =1 ` ` ` ` ` Maior = 0.Ler três números e imprimi-los em ordem crescente N1 = 3. Menor = 0. Menor = N2 Senão.

Maior = N3 Se Maior < N4 então.edeyson. N2. Maior = N4 Se Maior < N5 então.Ler cinco números e imprimi-los em ordem crescente N1 = 5. Menor = 0. N5 Se N1 > N2 então. N3 =3. N5 = 1 ` ` ` ` ` ` ` Maior = 0. N4 = 2. Maior = N5 94 Edeyson Andrade Gomes www. N3. Meio = 0 Ler N1. N2 = 4. Maior = N1 Senão. N4.br . Maior = N2 Se Maior < N3 então.com.

br . n2 e n3 com zero Ler n ` Se n é menor que n1. troca n com n2 Se n é menor que n3. troca n com n1 Se n é menor que n2. troca n com n3 Ler n ` ` ` Ler n ` ` ` ` Fim do Algoritmo 95 Edeyson Andrade Gomes www.edeyson. troca n com n1 Se n é menor que n2. troca n com n1 Se n é menor que n1.com.Ler três números e imprimi-los em ordem crescente ` Início do Algoritmo ` ` ` Iniciar n1. troca n com n2 Se n é menor que n1.

com.edeyson.br .Exercícios ` ` Como determinar todos os divisores de N? Como determinar se N é primo? 96 Edeyson Andrade Gomes www.

com.Exercício 97 Edeyson Andrade Gomes www.br .edeyson.

Exercício ` ` ` Nota1 Nota2 Nota3 Registro: Nome Ler um arquivo com N Registros Imprimir um relatório com alunos aprovados ` ` Calcular a média aritmética das notas Média de aprovação: 7.edeyson.br .0 ` Só existe uma impressora 98 Edeyson Andrade Gomes www.com.

edeyson.` Início ` ` do Algoritmo Enquanto houver registros no arquivo faça: Ler registro Fazer media = (nota1 + nota2 + nota3) / 3 Se média maior ou igual a 7. imprima o registro ` Fim do Algoritmo 99 Edeyson Andrade Gomes www.com.0.br .

edeyson.Exercício ` ` ` Nota1 Nota2 Nota3 Registro: Nome Ler um arquivo com N Registros Imprimir um relatório com alunos aprovados e outro com alunos reprovados ` ` Calcular a média aritmética das notas Média de aprovação: 7.com.0 ` Só existe uma impressora 100 Edeyson Andrade Gomes www.br .

inclua o aluno na coleção de aprovados.` Início do Algoritmo ` ` Criar uma coleção de alunos aprovados e outra de reprovados Enquanto houver registros no arquivo faça: Ler registro Fazer media = (nota1 + nota2 + nota3) / 3 Se média maior ou igual a 7. senão coloque-o na coleção dos reprovados ` ` Enquanto houver registros na coleção Aprovados faça: Imprima registro Enquanto houver registros na coleção Reprovados faça: Imprima registro ` Fim do Algoritmo 101 Edeyson Andrade Gomes www.com.br .edeyson.0.

` Imprima o número de registros lidos. 102 Edeyson Andrade Gomes www.com.Exercício ` ` ` Nota1 Nota2 Nota3 Registro: Nome Ler um arquivo com Vários Registros Imprimir a média aritmética de todas as médias dos alunos ` ` Média do aluno = (Nota1 + Nota2 + Nota3) / 3 A Média das Médias é a soma de todas as médias dividida pelo número de registros.br .edeyson.

` Início do Algoritmo ` ` ` contaRegistro = 0 MediaGeral = 0 Enquanto houver registro no arquivo faça: Ler registro Adicione 1 a contaRegistro Fazer mediaDoAluno = (nota1 + nota2 + nota3) / 3 Adicione mediaDoAluno a MediaGeral ` ` MediaGeral = MediaGeral / contaRegistro Imprima MediaGeral e contaRegistro ` Fim do Algoritmo 103 Edeyson Andrade Gomes www.br .com.edeyson.

edeyson.br .com. 104 Edeyson Andrade Gomes www. ` Imprima o a Média das médias e o número de registros lidos. calcular a média como (nota1 + nota 2 + nota 3) / 2 ` A Média das Médias é a soma de todas as médias dividida pelo número de registros.Exercício ` ` ` Registro A: Registro B: Problema: ` ` ` Tipo Tipo Nome Nome Nota1 Nota1 Nota2 Nota2 Nota3 Ler um arquivo com Vários Registros de 2 Tipos Se o primeiro campo (TIPO) tiver o valor ¶A·. calcular a média como (nota1 + nota 2) / 2 Se o primeiro campo (TIPO) tiver o valor ¶B·.

edeyson.Fluxogramas ` Problema: ` ` ` Leia A e B Se A > B.com. então imprima A Senão. imprima B 105 Edeyson Andrade Gomes www.br .

então imprima B Senão.com.br . C Se A > B. então imprima A Senão.edeyson.Fluxogramas ` Problema: ` ` ` Leia A. B. imprima C 106 Edeyson Andrade Gomes www. ` ` Se B > C.

imprima Claro Se A = 3. imprima TIM Se A = 4.br .edeyson. imprima Vivo 107 Edeyson Andrade Gomes www.Fluxogramas ` Problema: ` ` ` ` ` Leia A Se A = 1. imprima OI Se A = 2.com.

br . imprima Claro Se A = 3.edeyson. imprima Vivo 108 Edeyson Andrade Gomes www. imprima OI Se A = 2. imprima TIM Se A = 4.com.Fluxogramas ` Problema: ` ` ` ` ` Leia A Se A = 1.

Fluxograma ` Problema: ` Imprimir todos os números naturais no intervalo [1.edeyson. N] ` Algoritmo ` Início do Algoritmo ` Faça número variar de 1 até N Imprima número ` Fim do Algoritmo 109 Edeyson Andrade Gomes www.com.br .

Fluxograma ` Problema: ` Imprimir todos os números PARES naturais no intervalo [1.com.br .edeyson. N] ` Algoritmo ` ` Início do Algoritmo Fim do Algoritmo 110 Edeyson Andrade Gomes www.

N] ` Algoritmo ` ` Início do Algoritmo Fim do Algoritmo 111 Edeyson Andrade Gomes www.br .edeyson.Fluxograma ` Problema: ` Imprimir todos os números PARES naturais no intervalo [1.com.

com. N] ` Algoritmo ` ` Início do Algoritmo Fim do Algoritmo 112 Edeyson Andrade Gomes www.edeyson.br .Fluxograma ` Problema: ` Imprimir todos os múltiplos de 5 naturais no intervalo [1.

edeyson. N] ` ` Algoritmo ` ` Início do Algoritmo Fim do Algoritmo 113 Edeyson Andrade Gomes www.com.Fluxograma ` Problema: Imprimir todos os múltiplos de 3 e 5 naturais no intervalo [1.br .

1.Fluxograma ` Problema: Escreva um laço que imprima os 10 primeiros Números da seqüência de Fibonacci . 5.0.br . 3. ` ` Algoritmo ` ` Início do Algoritmo Fim do Algoritmo 114 Edeyson Andrade Gomes www. 8. 1. 13. . 2.com..edeyson..

com.br . P1 Faça 8 vezes Seq = P2 + P1 Imprima Seq P2 = P1 P1 = Seq ` Fim do Algoritmo 115 Edeyson Andrade Gomes www.Fluxograma ` Algoritmo ` Início do Algoritmo ` ` ` ` Faça P2 = 0 Faça P1 = 1 Imprima P2.edeyson.

edeyson.com.` ` ` ` ` ` ` ` 0 1 1 2 3 | | P2 P1 Seq = P2 + P1 0 1 1 2 3 | | P2 P1 Seq = P2 + P1 5 8 13 5 8 13 116 Edeyson Andrade Gomes www.br .

com.br .` ` ` ` ` ` ` ` 0 1 2 3 | | P2 P1 Seq = P2 + P1 0 1 1 2 3 | | P2 P1 Seq = P2 + P1 1 5 8 13 5 8 13 117 Edeyson Andrade Gomes www.edeyson.

edeyson.Algoritmos e Programação 118 Edeyson Andrade Gomes www.com.br .

Algoritmos e Programação ` Existem várias fases distintas na elaboração de programas: ` Análise do problema ` ` Especificação do problema.edeyson.br . análise de requisitos O QUE? Modelo Conceitual Modelo Arquitetural COMO? Tradução do modelo arquitetural em algoritmo Tradução do Algoritmo em linguagem de programação ` Concepção da Solução ` ` ` ` Implementação ` ` ` 119 Testes Edeyson Andrade Gomes www.com.

br .edeyson.com.Pascal 120 Edeyson Andrade Gomes www.

com.Pascal ` A linguagem Pascal foi desenvolvida no início da década de 1970 por Nicklaus Wirth. Suíça. Edeyson Andrade Gomes www. na Universidade Técnica de Zurique. ` Objetivo: ` ` Ser uma linguagem de programação de alto nível voltada ao ensino da programação estruturada.edeyson. ` O primeiro compilador para a linguagem foi disponibilizado em 1970. filósofo e matemático francês que viveu entre 1623 e 1662. Seu nome deve-se a uma homenagem a Blaise Pascal.br 121 .

Estrutura de um Programa Pascal ` Todo programa em Pascal é dividido em três áreas distintas: cabeçalho. área de declarações e corpo.com.edeyson.br . cabeçalho área de declarações corpo 122 Edeyson Andrade Gomes www.

2.Cabeçalho ` O cabeçalho é uma área utilizada para que se possa identificar um programa através de um nome ` instrução program {Sintaxe:} program nomeDoPrograma.com. 1. {Programa que lê 2 números e imprime sua soma.} ` Observações: ` ` Não pode existir nenhuma variável no programa que tenha o mesmo nome dado a ele. Edeyson Andrade Gomes www.edeyson. program adicionaNumeros. O uso de { } serve para definir comentários no código.br 123 .

procedure e function. ` ` Pascal já predefine nomes como integer. Todo objeto num programa Pascal. precisam ser identificadas por um nome único que não exista ainda nele. label. real.edeyson. var. etc.Área de Declarações ` Área de Declarações ` Utilizada para criar identificadores que não sejam predefinidos. type. como variáveis e constantes.com. const. ` A área de declarações pode ser subdividida em sete subáreas: ` uses. 124 Edeyson Andrade Gomes www. boolean.br .

OVERLAY: possibilita gerenciar as atividades de um programa economizando memória. controle de vídeo e teclado. 125 Edeyson Andrade Gomes www. PRINTER: permite declarar um arquivo tipo texto com o nome LST e associá-lo à impressora.com. GRAPH: possui rotinas destinadas a manipulações gráficas. DOS: possui as rotinas que envolvem a utilização do sistema operacional. se quisermos limpar a tela ou ler o teclado já existem funções prontas para isso nas units.Utilização de Units ` As units são conjuntos de rotinas que já estão prontas para serem usadas pelo programador. SYSTEM: possui a maior parte das rotinas padrão da linguagem Pascal e é usada de forma automática.edeyson.br . São elas: ` ` ` ` ` ` CRT: possui a maior parte das rotinas e variáveis de geração de som. ` Por exemplo.

} 3. 2.program adicionaNumeros. uses crt. 1. {Sintaxe:} uses nomeDaUnidade.com. 4. {Programa que lê 2 números e imprime sua soma. {Usa a biblioteca CRT onde está a função ReadKey} 5.br .edeyson.Utilização de Units ` Para se fazer uso de units é necessário o uso da instrução uses antes da declaração da instrução var. 126 Edeyson Andrade Gomes www.

com. b e c como sendo do tipo integer (inteira). ` Cada variável tem um nome único no programa (identificador) e um tipo.edeyson. c : integer.Declaração de Variáveis ` Para a declaração de variáveis num programa usa-se a instrução var. ` Observações: ` Após o nome de cada variável deve ser utilizado o símbolo dois-pontos ( : ) seguido pelo tipo de dado que a variável irá receber. nomeDeOutraVariável : tipo de dado. Por exemplo: var a. 127 Edeyson Andrade Gomes www. ` Caso as variáveis sejam de mesmo tipo.br . Isso define as variáveis a. seguido de ponto-e-vírgula. b. estas poderão ser relacionadas separadas por vírgula. {Sintaxe:} var nomeDaVariável : tipo de dado.

b e soma como variáveis inteiras} 8 var 9 a. 10 soma : integer. b : integer.br . 128 Edeyson Andrade Gomes www.com. 7 {Declara a. 2 {Programa que lê 2 números e imprime sua soma.Declaração de Variáveis 1 program adicionaNumeros.edeyson.} 4 {Usa a biblioteca CRT onde está a função ReadKey} 5 uses crt.

). ` O uso destas instruções caracteriza o que é chamado de bloco de comandos.edeyson.br . seguida do símbolo ponto ( . 129 Edeyson Andrade Gomes www.com. como indicado abaixo: {Sintaxe:} begin instruções do programa.Corpo do Programa ` Um programa em Pascal está escrito numa área denominada corpo do programa que tem início com a instrução begin e é finalizada pela instrução end. end.

com.Corpo do Programa ` ` ` Mostrar programa adicionaNumeros no Pascal.br . Compilar e executar programa.edeyson. Apresentar Dev-Pascal. 130 Edeyson Andrade Gomes www.

` 131 Fim do Algoritmo.br .adicionaNumeros ` Algoritmo usado em Linguagem Natural: ` Início do Algoritmo ` ` ` ` ` ` ` Solicitar ao usuário para inserir o valor de a. Ler um valor para a variável b. Aguardar até que algo seja pressionado.com.edeyson. Efetuar a soma das variáveis a e b. Apresentar o valor da variável soma após a operação de soma dos dois valores fornecidos. colocando o resultado na variável soma. Ler um valor para a variável a. Solicitar ao usuário para inserir o valor de b. Edeyson Andrade Gomes www.

Imprimir os três valores lidos e a média. Ler um valor para a variável b. ` Terminar o Algoritmo Média3N. Solicitar ao usuário para digitar o valor da variável b. Ler um valor para a variável c.edeyson. Ler um valor para a variável a. b e c dividida por 3.Exercício ` Início do Algoritmo Média3N ` ` ` ` ` ` ` ` Solicitar ao usuário para digitar o valor da variável a.com. Solicitar ao usuário para digitar o valor da variável c. Calcular a média como a soma de a. 132 Edeyson Andrade Gomes www.br .

edeyson.z. O restante do identificador deve conter apenas letras. ` Nomes em Pascal devem seguir as seguintes regras de construção: ` ` ` Iniciar sempre por uma letra (a . A . underlines ou dígitos (0-9).br 133 . constantes. Não pode conter outros caracteres. desde que os primeiros 63 caracteres sejam significativos. variáveis. tipos definidos pelo usuário.Z) ou um underline (_). Edeyson Andrade Gomes www. e Pode ter qualquer tamanho.Variáveis e Constantes ` Em Pascal. procedimentos e funções precisam de um nome que forneça uma identificação única e isso é feito através de identificadores.com.

ou frases. onde cada palavra é iniciada com Maiúsculas e unidas sem espaços. os nomes ALPHA. É um padrão largamente utilizado em diversas linguagens de programação. como Java. TipoDePeça. MediaPonderada.edeyson.br . MediaDe3Numeros. alpha e Alpha são equivalentes para o Pascal. Exemplos: NomeDoCliente.com.Variáveis e Constantes ` Não existe distinção entre letras maiúsculas e minúsculas no nome de um identificador. ` Observações: ` CamelCase é a denominação em inglês para a prática de escrever palavras compostas. ` Por exemplo. 134 Edeyson Andrade Gomes www. Ruby e Python.

array. downto. var. destructor. and. of. constructor. operator. if. begin. asm.edeyson. self. end. on. in. packed. 135 Edeyson Andrade Gomes www.br . not. with. ` Elas têm significado especial e não podem ser usadas como identificadores em um programa. do.Palavras Reservadas ` Pascal reconhece certo grupo de palavras como sendo reservadas. else. to. inherited. or. set. const. nil. then. inline. implementation. object. div. mod. reintroduce. shl. procedure. repeat. uses. file. record. program. unit. shr. for. interface. while. until. type. São elas: ` ` absolute. label. string. function. case. goto. xor.com.

edeyson. ` A sintaxe requerida aos comentários permite o uso de chaves como em: { comentário } ou de parêntesis e asteriscos. 136 Edeyson Andrade Gomes www.com.Comentários ` Comentários são textos escritos dentro do código-fonte para explicar ou descrever alguns aspectos relativos ao mesmo. como em: (* comentário *).br .

edeyson. ` {Sintaxe:} var variável : tipo de dado. variável1. ` Como Pascal é uma linguagem fortemente tipada.com. cada variável precisa obrigatoriamente de um tipo de dados predeterminado.br .Variáveis ` Uma variável é uma região da memória identificada através de um nome. 137 Edeyson Andrade Gomes www. variável2 : tipo de dado2. cujo valor pode mudar durante a execução do programa.

com. Note que variável1 e variável2 são definidas juntas.edeyson. separadas por vírgulas e atribuindo-se um único tipo de dados. 138 Edeyson Andrade Gomes www. ` Isso pode ser feito para qualquer número de variáveis que compartilhem um mesmo tipo de dados. variável tem seu tipo definido por tipo de dado.br .Variáveis ` ` Nesta especificação de sintaxe.

com.Constantes ` Uma constante é uma região rotulada da memória através de um nome cujo valor não pode mudar durante a execução do programa.edeyson. ` Um exemplo de constante é o PI na matemática. ` {Sintaxe:} const nomeDaConstante = expressão.br . 139 Edeyson Andrade Gomes www.

A linguagem Pascal fornece ao programador um conjunto de tipos de dados predefinidos e que serão descritos a seguir.br . subtraído. quais os possíveis valores e operações que um dado possui. Variáveis. ou seja. um valor inteiro pode ser somado a outro. etc.Tipos de Dados ` Um tipo de dado especifica as características. multiplicado. ` ` Por exemplo. ` 140 Edeyson Andrade Gomes www.edeyson. requerem um tipo de dado em sua definição.com. como apresentado em sua sintaxe.

. Int64 e QWord..Tipos de Dados . Tipo Byte Shortint Smallint Word Integer Cardinal Longint Longword Int64 QWord Valores 0. Longint. 1844674473709551615 Tamanho em Bytes 1 1 2 2 2 ou 4 4 4 4 8 8 141 Edeyson Andrade Gomes www.. 65535 Smallint ou Longint Longword -2147483648 . Integer.. Em Pascal. Shortint. Cardinal. Longword.255 -128 .edeyson. Word. este tipo de dado pode ser referenciado por um dos seguintes identificadores: ` Byte. excluindo-se qualquer número fracionário. 32767 0 .br .. 127 -32768 .. Smallint. 9223372036854775807 0 ..com. 2147483647 0 . 4294967295 -9223372036854775808 .Inteiros ` Inteiros são valores numéricos positivos ou negativos..

Dúvidas 142 Edeyson Andrade Gomes www.edeyson.br .com.