Você está na página 1de 142

Algoritmos

Edeyson Andrade Gomes edeyson@ifba.edu.br

Agenda
` ` ` ` `

Introduo
`

Lgica

Definies Bsicas Lgica de Programao Nomenclaturas Simbologias

Edeyson Andrade Gomes

www.edeyson.com.br

Introduo

Introduo
`

O que a Lgica?
`

Maneira particular de raciocinar Conjunto de regras e princpios que orientam, implcita ou explicitamente, o desenvolvimento de uma argumentao ou de um raciocnio, a resoluo de um problema Ramo da filosofia que cuida das regras do bem pensar, do pensar corretamente
`

Coerncia e Racionalidade

`
4

Determina a validade de operaes atravs das formas e leis do pensamento


Edeyson Andrade Gomes www.edeyson.com.br

Introduo
`

Pensamento
`

Manifestao do conhecimento
` `

O conhecimento busca a verdade preciso estabelecer regras para que essa meta possa ser atingida

Arte de bem pensar


` `

Ordem da razo, do pensamento A forma como as pessoas raciocinam estudo da psicologia cognitiva

Edeyson Andrade Gomes

www.edeyson.com.br

Introduo
`

Mtodo dedutivo
`

Modo de raciocnio lgico que faz uso da deduo para obter uma concluso a respeito de determinadas premissas
`

O raciocnio dedutivo se caracteriza por apresentar concluses que so verdadeiras caso todas as premissas sejam verdadeiras

A deduo no oferece conhecimento novo. Ela:


` ` `

conduz particularidade de uma lei geral previamente conhecida; organiza e especifica o conhecimento que j se possui; tem como ponto de partida o plano do inteligvel.

Edeyson Andrade Gomes

www.edeyson.com.br

Introduo
`

Mtodo dedutivo
`

Exemplos
` `

Todo mamfero um animal Todo gato um mamfero


Logo, todo gato um animal

` `

Rex um cachorro Cachorros no voam


Logo, Rex no voa

` `

Galinhas tem dois ps Homens tem dois ps


Logo, homens so galinhas

Sofisma: Argumento que parte de premissas verdadeiras, ou tidas como verdadeiras, e chega a uma concluso inadmissvel.
www.edeyson.com.br

Edeyson Andrade Gomes

Introduo
`

Mtodo indutivo
`

Parte-se de premissas particulares, na busca de uma lei geral


Exemplo:
` ` `

O ferro conduz eletricidade e um metal; O ouro conduz eletricidade e um metal; O cobre conduz eletricidade e um metal;
Logo, os metais conduzem eletricidade.

Edeyson Andrade Gomes

www.edeyson.com.br

Definies Bsicas

Definies Bsicas
`

Raciocnio Lgico
`

Fatores que interferem


`

Ateno, conhecimento, experincia, criatividade, etc.

O que ?
` ` `

Soluo de problemas Atingir objetivos Eficcia e eficincia

Eu sei pensar!!
`

Por que estudar lgica?


`

Que Mtodo se usa?


Edeyson Andrade Gomes www.edeyson.com.br

10

Definies Bsicas
`

Objetivos da Lgica
`

Estudo de tcnicas de formalizao, deduo e anlise para validar argumentos


`

Representar formalmente os argumentos

Lgica no dia-a-dia
` `

Pensamento exige lgica - Ordem Exemplos:


` ` `

A gaveta est fechada A caneta est dentro da gaveta Como fazer para pegar a caneta?
Edeyson Andrade Gomes www.edeyson.com.br

11

Definies Bsicas
`

Exerccio
`

1. Dividir 21 garrafas (opacas, com mesma capacidade volumtrica e com formas diferentes) de vinho (7 Cheias, 7 Vazias e 7 pelo meio) entre 3 pessoas. Cada uma deve receber a mesma quantidade de garrafas e de vinho. 2. Problemas das Laranjas
`

Contadas de 2 em 2, 3 em 3, 5 em 5 e 7 em 7.

Trs missionrios e trs canibais esto encalhados, numa ilha, com apenas um pequeno barco para chegar a terra firme.
` ` `

Os missionrios nunca devem estar em menor nmero do que os canibais, nem na ilha, nem em terra, nem durante o transporte. Existe uma nica canoa para duas pessoas. Todos devem atravessar. Como fazer a travessia?
Edeyson Andrade Gomes www.edeyson.com.br

12

Lgica de Programao

Lgica de Programao
`

O que um programa?
` `

Qual seu programa para o fim de semana? Como se programa a gravao 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 salrio?


`
14

Como? Com que critrios?


Edeyson Andrade Gomes www.edeyson.com.br

Lgica de Programao
`

Programa
`

Estrutura seqencial completa


`

Passos logicamente vlidos e coerentes

O raciocnio independe da linguagem usada para represent-lo


`

Lgica de programao independe das linguagens de programao

15

Edeyson Andrade Gomes

www.edeyson.com.br

Lgica de Programao
`

Algoritmo
` `

Conjunto de passos para atingir um objetivo, executar uma tarefa Como determinar uma seqncia coerente e vlida de passos?
`

Ordem do pensamento
Lgica

Exerccio:
` ` `

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
`

Resoluo de um problema no computador


`

O que necessrio?
` ` `

1. Descrio clara e precisa do problema; II. Definio de uma seqncia de passos que permitam a soluo de maneira automtica e repetitiva; III. Formatao dos dados:
Entrada e sada.

Seqncia de passos para a soluo


Algoritmo. Um algoritmo nico?
Pontos de vista

Existe algoritmo para a criao de algoritmos?


Edeyson Andrade Gomes www.edeyson.com.br

18

Algoritmos
`

Definio
`

Processo de clculo, ou de resoluo de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restries, regras formais para a obteno do resultado, ou da soluo do problema. Conjunto de regras e operaes bem definidas e ordenadas, destinadas soluo de um problema, ou de uma classe de problemas, em um nmero finito de etapas. Dicionrio Aurlio

19

Edeyson Andrade Gomes

www.edeyson.com.br

Algoritmos
Dados de Entrada Dados de Sada

Receita: Indicao minuciosa sobre a quantidade dos ingredientes e a maneira de preparar um prato salgado ou doce. Dicionrio Aurlio
20 Edeyson Andrade Gomes www.edeyson.com.br

Algoritmos
`

Um algoritmo opera sobre um conjunto de entradas de modo a gerar uma sada til para o usurio
`

Dados de entrada e sada

Um algoritmo possui 5 caractersticas importantes:


`

Finitude
`

Deve sempre terminar aps um nmero finito de passos Cada passo de um algoritmo deve ser precisamente definido
As aes devem ser definidas rigorosamente e sem ambigidades

Definio
`

Entradas
`

Um algoritmo deve ter zero ou mais entradas

21

Edeyson Andrade Gomes

www.edeyson.com.br

Algoritmos
`

Um algoritmo de 5 caractersticas importantes:


` ` ` `

Limitao ou Finitude Definio Entradas Sadas


`

Um algoritmo deve ter uma ou mais sadas Um algoritmo deve ser efetivo Todas as operaes devem ser suficientemente bsicas de modo que possam ser executadas com preciso em um tempo finito por um humano usando papel e lpis

Efetividade
` `

22

Edeyson Andrade Gomes

www.edeyson.com.br

Algoritmos
`

Problema
` ` `

Existem duas vasilhas com capacidades de 9 e 4 litros, respectivamente As vasilhas no tem nenhum tipo de marcao, de modo que no possvel ter medidas como metade ou um tero. Mostre uma seqncia de passos que, usando as vasilhas de 9 e 4 litros, encha uma terceira vasilha de medida desconhecida com seis litros de gua

23

Edeyson Andrade Gomes

www.edeyson.com.br

Algoritmos
`

Considere que cinco rs esto posicionadas em seis casas da seguinte maneira:


R 1 R 2 R 3 R 4 R 5

As rs foram treinadas para trocar de casas, mas sempre obedecendo as seguintes regras:
` ` `

elas podem pular para a casa vizinha (frente ou trs), se ela estiver vazia; elas podem pular sobre a r vizinha para uma casa livre (frente ou trs). Mostre como as rs podem chegar a seguinte posio final:
R 5 R 4 R 3 R 2 R 1
www.edeyson.com.br

24

Edeyson Andrade Gomes

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.edeyson.com.br

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

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.edeyson.com.br

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.com.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.com.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.edeyson.com.br

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.edeyson.com.br

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.com.br

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.edeyson.com.br

Algoritmos
`

O objetivo de apresentar TODOS os passos serve para que?


` `

Repetio Busca de subconjunto


`

Simplificar problema

Problema:
`

Como encontrar a conta com o menor saldo entre os clientes de um banco?


`

Saldos podem estar negativos.

40

Edeyson Andrade Gomes

www.edeyson.com.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 identificao dele Testar todos os clientes Para cada cliente fazer:
Se o MenorSaldo for maior que o saldo do cliente testado, ento MenorSaldo = saldo do cliente e ID = identificao do cliente

Imprimir MenorSaldo e ID

41

Edeyson Andrade Gomes

www.edeyson.com.br

Algoritmos
`

Passos de Construo:
` ` `

Compreender o problema Identificar os dados de entrada e sada Determinar o que preciso para transformar dados de entrada em dados de sada:
` ` ` `

usar a estratgia do dividir para conquistar (top-down) observar regras e limitaes identificar todas as aes a realizar eliminar ambigidades

` ` `

Construir o algoritmo Testar o algoritmo Executar o algoritmo

42

Edeyson Andrade Gomes

www.edeyson.com.br

Algoritmos
`

Mtodo Top-Down ` Consiste em dividir um problema em partes menores


`

subproblemas

` `

de modo que seja mais fcil a sua resoluo. Exemplo:


`

Fazer suco de laranja


Lavar laranja; Partir laranja ao meio; Espremer laranja; Filtrar o suco; Servir o suco.

43

Edeyson Andrade Gomes

www.edeyson.com.br

Algoritmos
`

Criao de algoritmos para resolver problemas


` ` `

Complexo Desafio mais atrativo ao programador Cincia ou Arte?

Um algoritmo uma descrio detalhada, passo a passo, de como resolver um problema ou executar uma tarefa.
`

A programao consiste na codificao precisa desse algoritmo segundo uma linguagem de programao especfica.

44

Edeyson Andrade Gomes

www.edeyson.com.br

Representao de Algoritmos

Representao de Algoritmos
`

As formas mais comuns de representao de algoritmos so as seguintes:


` `

Linguagem Natural
`

Os algoritmos so descritos detalhadamente em linguagem natural. Os algoritmos so representados graficamente.


Usam-se formas geomtricas padronizadas para descrever aes e decises na resoluo do problema.

Fluxograma
`

Pseudo-linguagem
Os algoritmos so descritos atravs de uma linguagem intermediria entre a linguagem natural e uma linguagem de programao.

46

Edeyson Andrade Gomes

www.edeyson.com.br

Representao de Algoritmos
`

Linguagem Natural
`

Incio do Algoritmo XBurger


` ` ` ` ` ` `

Pegar um po Abrir o po ao meio Passar manteiga no po Colocar queijo no po Colocar presunto no po Colocar ovo frito no po Fechar o po

Fim do Algoritmo XBurger


Onde estavam a manteiga, 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.edeyson.com.br

` `

47

Representao de Algoritmos
`

Linguagem Natural
`

Incio do Algoritmo Mdia


` ` ` ` `

Atribuir um valor para a varivel a; Atribuir um valor para a varivel b; Atribuir um valor para a varivel c; Calcular mdia como a soma de a, b e c dividida por 3. Imprimir a mdia.

Fim do Algoritmo Mdia

48

Edeyson Andrade Gomes

www.edeyson.com.br

Representao de Algoritmos
`

Linguagem Natural
`

Como calcular as razes de uma equao do segundo grau?


` ` ` `

ax2 + bx + c = b2 - 4ac X1 = (-b + ) / 2a X2 = (-b - ) / 2a

` `

A deve ser diferente de 0 deve ser maior que zero para ter razes reais

49

Edeyson Andrade Gomes

www.edeyson.com.br

Representao de Algoritmos
`

Linguagem Natural
`

Incio do Algoritmo Razes


` ` `

Obter os coeficientes a, b e c Se a igual a zero, informar que esta uma equao de 1 grau e terminar o algoritmo Caso contrrio continue e faa
Calcular delta = b2 - 4ac Se delta for negativo, informar que a equao no tem razes reais e terminar o algoritmo Caso contrrio continue e faa
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.

Fim do Algoritmo Razes


Edeyson Andrade Gomes www.edeyson.com.br

50

Fluxogramas

51

Edeyson Andrade Gomes www.edeyson.com.br

Fluxogramas
`

Fluxograma um diagrama
` ` `

Representa o esquema de soluo de um problema Apresenta linha de raciocnio lgico Independente de linguagem de programao
`

Inteligvel por humanos e computadores

O que um programa de computador?


` `

Como transformar as solues dos dois problemas anteriores em programas? Como explicar o raciocnio lgico da soluo?

52

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxogramas
`

Uma vez que um programa de computador est pronto, como compreend-lo?


`

O problema da manuteno 20 x 80
` ` `

Eu no fiz, fao melhor! Eu no fiz, s Jesus entende! POG

Como documentar de forma estruturada o que se faz?


`

O diagrama uma linguagem universal?

53

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxogramas
`

E o que so Fluxogramas?
` `

Ferramenta? Descrevem o fluxo de ao de um processo


`

Soluo de problema via representao esquemtica

Representao Grfica
Incio e Fim de Fluxo

Processo

Exibio

Entrada Manual de Dados

Deciso

54

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxogramas
`

Estruturas de Controle

55

Edeyson Andrade Gomes

www.edeyson.com.br

Estruturas de Controle
`

Seqncia
` `

Execuo de um conjunto de aes em srie. No existe a possibilidade de alterao da ordem de processamento das aes

56

Edeyson Andrade Gomes

www.edeyson.com.br

Estruturas de Controle
`

Seleo com 1 Via Alternativa


`

Tomada de deciso
`

O fluxo de processamento executa a Ao 1 apenas se o valor lgico da expresso avaliada no incio da estrutura for verdade

57

Edeyson Andrade Gomes

www.edeyson.com.br

Estruturas de Controle
`

Seleo com 2 Vias


`

Tomada de deciso
`

O fluxo de processamento segue por 1 das 2 vias, dependendo do valor lgico da expresso avaliada no incio da estrutura

58

Edeyson Andrade Gomes

www.edeyson.com.br

Estruturas de Controle
`

Seleo com N Vias


`

Tomada de deciso
`

O fluxo de processamento segue por 1 das N vias, dependendo do valor lgico da expresso avaliada no incio da estrutura

59

Edeyson Andrade Gomes

www.edeyson.com.br

Estruturas de Controle
`

Repetio com Teste Antecipado


`

H a necessidade de tomar uma deciso com base no valor lgico de uma expresso.
` ` `

A mesma ao ser executada repetidamente enquanto o resultado da expresso lgica se mantiver verdadeiro. O teste da expresso lgica precede a ao. O teste funciona como uma condio de parada das repeties.

60

Edeyson Andrade Gomes

www.edeyson.com.br

Estruturas de Controle
`

Repetio com Teste Postergado


`

Semelhante anterior, mudando apenas quando efetuar o teste

61

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxogramas
`

Exemplo:
`

Como calcular as razes de uma equao do primeiro grau?


`

y = ax + b Se x igual a zero, imprimir que no h raiz.

Seno, calcular o valor de x quando y zero


x = -b/a

62

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxogramas

63

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxogramas
`

Exemplo:
`

Como calcular as razes de uma equao do segundo grau?


` ` ` `

ax2 + bx + c = b2 - 4ac X1 = (-b + ) / 2a X2 = (-b - ) / 2

` `

A deve ser diferente de 0 deve ser maior que zero para ter razes reais

64

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxogramas

65

Edeyson Andrade Gomes

www.edeyson.com.br

Pseudo Linguagem

Pseudo Linguagem
`

Representao de algoritmos via linguagem prxima de uma linguagem de programao de alto nvel
` ` `

Pseudocdigo Sem regras de construo gramatical muito rgidas. Linguagem natural com limitao de escopo
` `

Vocabulrio e Sintaxe limitados UAL - interpretador

67

Edeyson Andrade Gomes

www.edeyson.com.br

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

Pseudocdigo
VARIAVEIS S, C, I, A, MD : Inteiro; INICIO S C 0; 0; 1 AT 10 FAA

PARA I INICIO

Escreva('Digite um numero'); LER (a); SE a >=0 ENTO INICIO S C FIM SE; FIM PARA; MD FIM. S/C ESCREVER ('A mdia :', MD); S+a C+1

69

Edeyson Andrade Gomes

www.edeyson.com.br

Exerccio

70

Edeyson Andrade Gomes www.edeyson.com.br

Exerccio
`

Usando as Representaes de Algoritmos resolva o problema dos Tringulos


`

Leia o valor de trs lados de um tringulo (a, b e c), e determine se ele :


Equiltero: possui todos os lados iguais. Issceles: possui pelo menos dois lados iguais. Escaleno: possui os trs lados diferentes.

Por exemplo: a = 3, b= 5, c = 3
`

Issceles
Edeyson Andrade Gomes www.edeyson.com.br

71

Linguagem Natural
`

Incio do Algoritmo Tringulos


` ` ` `

Obter os lados a, b e c Se os trs lados so iguais, imprima que Equiltero Se dois lados so iguais, imprima que Issceles Se os trs lados so diferentes, imprima que Escaleno

Fim do Algoritmo Tringulos


`

Com este algoritmo,TODO Equiltero seria tambm Issceles.

72

Edeyson Andrade Gomes

www.edeyson.com.br

Linguagem Natural
`

Incio do Algoritmo Tringulos


` ` ` `

Obter os lados a, b e c Se os trs lados so iguais, imprima que Equiltero Se apenas dois lados so iguais, imprima que Issceles Se os trs lados so diferentes, imprima que Escaleno

Fim do Algoritmo Tringulos


`

Neste caso as condies so mutuamente exclusivas, necessitando do SENO.

73

Edeyson Andrade Gomes

www.edeyson.com.br

74

Edeyson Andrade Gomes

www.edeyson.com.br

Linguagem Natural
`

Incio do Algoritmo Tringulos


` ` ` ` ` `

Obter os lados a, b e c Se os trs lados so iguais, imprima que Equiltero Seno, se dois lados so iguais, imprima que Issceles Seno, imprima que Escaleno

Fim do Algoritmo Tringulos

75

Edeyson Andrade Gomes

www.edeyson.com.br

Linguagem Natural
`

Incio do Algoritmo Tringulos


` ` ` `

Obter os lados a, b e c Se a = b e b = c, imprima que Equiltero Seno, se a = b ou b = c ou a = c, imprima que Issceles Seno, imprima que Escaleno

Fim do Algoritmo Tringulos

76

Edeyson Andrade Gomes

www.edeyson.com.br

Tringulos

77

Edeyson Andrade Gomes

www.edeyson.com.br

Linguagem Natural
`

Incio do Algoritmo Tringulos


` ` ` `

Obter os lados a, b e c Se a = b e b = c, imprima que Equiltero Se a = b ou b = c ou a = c, imprima que Issceles Seno, imprima que Escaleno

Fim do Algoritmo Tringulos Resp: SIM O segundo SE sempre ser executado independente do resultado do primeiro SE. Neste caso, todo Equiltero ser Issceles.
Edeyson Andrade Gomes www.edeyson.com.br

` `

Esse algoritmo d o mesmo resultado do anterior?


`

Qual o problema dele?


`

78

Exerccio

79

Edeyson Andrade Gomes www.edeyson.com.br

Exerccios
`

Usando as Representaes de Algoritmos, descreva os seguintes algoritmos:


` ` ` `

Ler trs nmeros e imprimir o maior deles. Ler cinco nmeros e imprimir o maior deles. Ler dez nmeros e imprimir o maior deles. Ler mil nmeros e imprimir o maior deles.

O que se infere dos resultados?

80

Edeyson Andrade Gomes

www.edeyson.com.br

Ler trs nmeros e imprimir o maior deles


`

Incio do Algoritmo
` ` ` ` ` ` ` `

O Maior nmero (chamado de Maior) inicia com o menor valor possvel Ler n1 Se Maior menor que n1, faa Maior igual a n1 Ler n2 Se Maior menor que n2, faa Maior igual a n2 Ler n3 Se Maior menor que n3, faa Maior igual a n3 Imprima Maior

Fim do Algoritmo
81 Edeyson Andrade Gomes www.edeyson.com.br

Ler cinco nmeros e imprimir o maior deles.


`

Incio do Algoritmo
` ` ` ` ` ` ` ` ` ` ` `

O Maior nmero inicia com o menor valor possvel Ler n1 Se Maior menor que n1, faa Maior igual a n1 Ler n2 Se Maior menor que n2, faa Maior igual a n2 Ler n3 Se Maior menor que n3, faa Maior igual a n3 Ler n4 Se Maior menor que n4, faa Maior igual a n4 Ler n5 Se Maior menor que n5, faa Maior igual a n5 Imprima Maior

Fim do Algoritmo
82 Edeyson Andrade Gomes www.edeyson.com.br

Ler dez nmeros e imprimir o maior deles.


`

Incio do Algoritmo
` `

O Maior nmero inicia com o menor valor possvel Faa 10 vezes


` `

Ler n Se Maior menor que n, faa Maior igual a n

Imprima Maior

Fim do Algoritmo

83

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxograma

84

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxograma

85

Edeyson Andrade Gomes

www.edeyson.com.br

Incio do Algoritmo
O Maior nmero inicia com o menor valor possvel Faa 10 vezes
Ler n Se Maior menor que n, faa Maior igual a n

var i, n, maior : integer; begin maior := 0; for i := 1 to 10 do begin writeln('Digite um valor para n'); readln(n); if (maior < n) then maior := n; end; writeln('O maior valor eh: ', maior); readkey; end.

Imprima Maior

Fim do Algoritmo

86

Edeyson Andrade Gomes

www.edeyson.com.br

Incio do Algoritmo
O Maior nmero inicia com o menor valor possvel Faa 10 vezes
Ler n Se Maior menor que n, faa Maior igual a n

Imprima Maior

Fim do Algoritmo

begin maior := 0; i := 1; while (i <= 10) do begin writeln('Digite um valor para n'); readln(n); if (maior < n) then maior := n; i := i + 1; end; writeln('O maior valor eh: ', maior); readkey; end.

87

Edeyson Andrade Gomes

www.edeyson.com.br

Incio do Algoritmo
O Maior nmero inicia com o menor valor possvel Faa 10 vezes
Ler n Se Maior menor que n, faa Maior igual a n

Imprima Maior

Fim do Algoritmo

begin maior := 0; i := 1; repeat begin writeln('Digite um valor para n'); readln(n); if (maior < n) then maior := n; i := i + 1; end; until (i > 10); writeln('O maior valor eh: ', maior); readkey; end.

88

Edeyson Andrade Gomes

www.edeyson.com.br

Exerccio

89

Edeyson Andrade Gomes www.edeyson.com.br

Exerccio
`

Usando as Representaes de Algoritmos, descreva detalhadamente os passos para os seguintes algoritmos:


` ` ` `

Ler trs nmeros e imprimi-los em ordem crescente. Ler cinco nmeros e imprimi-los em ordem crescente. Ler dez nmeros e imprimi-los em ordem crescente. Ler mil nmeros e imprimi-los em ordem crescente.

O que se infere dos resultados?

90

Edeyson Andrade Gomes

www.edeyson.com.br

Ler trs nmeros e imprimi-los em ordem crescente N1 = 3, N2 = 2, N3 =1


` ` ` ` `

Maior = 0, Menor = 0, Meio = 0 Ler N1, N2, N3 Se N1 > N2 ento, Maior = N1 Seno, Maior = N2 Se Maior < N3 ento, Maior = N3

91

Edeyson Andrade Gomes

www.edeyson.com.br

Ler trs nmeros e imprimi-los em ordem crescente 5, 8, 10


` ` ` ` ` ` ` ` ` `

Maior = 0, Menor = 0, Meio = 0 Ler N Maior = N, Menor = N, Meio = N Ler N Se N > Maior, ento Maior = N Seno, Meio = N, Menor = N Ler N Se N > Maior, ento Meio = Maior e Maior = N Seno, Se N > Meio, ento Meio = N Seno, Menor = N
92 Edeyson Andrade Gomes www.edeyson.com.br

Ler trs nmeros e imprimi-los em ordem crescente N1 = 3, N2 = 2, N3 =1


` ` ` ` `

Maior = 0, Menor = 0, Meio = 0 Ler N1, N2, N3 Se N1 > N2 ento, Menor = N2 Seno, Menor = N1 Se Menor > N3 ento, Menor = N3

93

Edeyson Andrade Gomes

www.edeyson.com.br

Ler cinco nmeros e imprimi-los em ordem crescente N1 = 5, N2 = 4, N3 =3, N4 = 2, N5 = 1


` ` ` ` ` ` `

Maior = 0, Menor = 0, Meio = 0 Ler N1, N2, N3, N4, N5 Se N1 > N2 ento, Maior = N1 Seno, Maior = N2 Se Maior < N3 ento, Maior = N3 Se Maior < N4 ento, Maior = N4 Se Maior < N5 ento, Maior = N5

94

Edeyson Andrade Gomes

www.edeyson.com.br

Ler trs nmeros e imprimi-los em ordem crescente


`

Incio do Algoritmo
` ` `

Iniciar n1, n2 e n3 com zero Ler n


`

Se n menor que n1, troca n com n1 Se n menor que n1, troca n com n1 Se n menor que n2, troca n com n2 Se n menor que n1, troca n com n1 Se n menor que n2, troca n com n2 Se n menor que n3, troca n com n3

Ler n
` `

Ler n
` ` `

Fim do Algoritmo
95 Edeyson Andrade Gomes www.edeyson.com.br

Exerccios
` `

Como determinar todos os divisores de N? Como determinar se N primo?

96

Edeyson Andrade Gomes

www.edeyson.com.br

Exerccio

97

Edeyson Andrade Gomes www.edeyson.com.br

Exerccio
` ` `
Nota1 Nota2 Nota3 Registro: Nome Ler um arquivo com N Registros Imprimir um relatrio com alunos aprovados
` `

Calcular a mdia aritmtica das notas Mdia de aprovao: 7,0

S existe uma impressora

98

Edeyson Andrade Gomes

www.edeyson.com.br

` Incio
`
`

do Algoritmo

Enquanto houver registros no arquivo faa:


Ler registro
Fazer media = (nota1 + nota2 + nota3) / 3 Se mdia maior ou igual a 7.0, imprima o registro

` Fim

do Algoritmo

99

Edeyson Andrade Gomes

www.edeyson.com.br

Exerccio
` ` `
Nota1 Nota2 Nota3 Registro: Nome Ler um arquivo com N Registros Imprimir um relatrio com alunos aprovados e outro com alunos reprovados
` `

Calcular a mdia aritmtica das notas Mdia de aprovao: 7,0

S existe uma impressora

100

Edeyson Andrade Gomes

www.edeyson.com.br

Incio do Algoritmo
` `

Criar uma coleo de alunos aprovados e outra de reprovados Enquanto houver registros no arquivo faa:
Ler registro Fazer media = (nota1 + nota2 + nota3) / 3 Se mdia maior ou igual a 7.0, inclua o aluno na coleo de aprovados, seno coloque-o na coleo dos reprovados

` `

Enquanto houver registros na coleo Aprovados faa:


Imprima registro

Enquanto houver registros na coleo Reprovados faa:


Imprima registro

Fim do Algoritmo
101 Edeyson Andrade Gomes www.edeyson.com.br

Exerccio
` ` `
Nota1 Nota2 Nota3 Registro: Nome Ler um arquivo com Vrios Registros Imprimir a mdia aritmtica de todas as mdias dos alunos
` `

Mdia do aluno = (Nota1 + Nota2 + Nota3) / 3 A Mdia das Mdias a soma de todas as mdias dividida pelo nmero de registros.

Imprima o nmero de registros lidos.

102

Edeyson Andrade Gomes

www.edeyson.com.br

Incio do Algoritmo
` ` `

contaRegistro = 0 MediaGeral = 0 Enquanto houver registro no arquivo faa:


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.edeyson.com.br

Exerccio
` ` `

Registro A: Registro B: Problema:


`
` `

Tipo Tipo

Nome Nome

Nota1 Nota1

Nota2 Nota2 Nota3

Ler um arquivo com Vrios Registros de 2 Tipos


Se o primeiro campo (TIPO) tiver o valor A, calcular a mdia como (nota1 + nota 2) / 2 Se o primeiro campo (TIPO) tiver o valor B, calcular a mdia como (nota1 + nota 2 + nota 3) / 2

A Mdia das Mdias a soma de todas as mdias dividida pelo nmero de registros.

Imprima o a Mdia das mdias e o nmero de registros lidos.


104 Edeyson Andrade Gomes www.edeyson.com.br

Fluxogramas
`

Problema:
` ` `

Leia A e B Se A > B, ento imprima A Seno, imprima B

105

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxogramas
`

Problema:
` ` `

Leia A, B, C Se A > B, ento imprima A Seno,


` `

Se B > C, ento imprima B Seno, imprima C

106

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxogramas
`

Problema:
` ` ` ` `

Leia A Se A = 1, imprima OI Se A = 2, imprima Claro Se A = 3, imprima TIM Se A = 4, imprima Vivo

107

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxogramas
`

Problema:
` ` ` ` `

Leia A Se A = 1, imprima OI Se A = 2, imprima Claro Se A = 3, imprima TIM Se A = 4, imprima Vivo

108

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxograma
`

Problema:
`

Imprimir todos os nmeros naturais no intervalo [1, N]

Algoritmo
`

Incio do Algoritmo
`

Faa nmero variar de 1 at N


Imprima nmero

Fim do Algoritmo

109

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxograma
`

Problema:
`

Imprimir todos os nmeros PARES naturais no intervalo [1, N]

Algoritmo
` `

Incio do Algoritmo Fim do Algoritmo

110

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxograma
`

Problema:
`

Imprimir todos os nmeros PARES naturais no intervalo [1, N]

Algoritmo
` `

Incio do Algoritmo Fim do Algoritmo

111

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxograma
`

Problema:
`

Imprimir todos os mltiplos de 5 naturais no intervalo [1, N]

Algoritmo
` `

Incio do Algoritmo Fim do Algoritmo

112

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxograma
`

Problema:
Imprimir todos os mltiplos de 3 e 5 naturais no intervalo [1, N]
`

Algoritmo
` `

Incio do Algoritmo Fim do Algoritmo

113

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxograma
`

Problema:
Escreva um lao que imprima os 10 primeiros Nmeros da seqncia de Fibonacci - 0, 1, 1, 2, 3, 5, 8, 13, ...
`

Algoritmo
` `

Incio do Algoritmo Fim do Algoritmo

114

Edeyson Andrade Gomes

www.edeyson.com.br

Fluxograma
`

Algoritmo
`

Incio do Algoritmo
` ` ` `

Faa P2 = 0 Faa P1 = 1 Imprima P2, P1 Faa 8 vezes


Seq = P2 + P1 Imprima Seq P2 = P1 P1 = Seq

Fim do Algoritmo

115

Edeyson Andrade Gomes

www.edeyson.com.br

` ` ` ` ` ` ` `

0 1 1 2 3 | | P2 P1 Seq = P2 + P1 0 1 1 2 3 | | P2 P1 Seq = P2 + P1

13

13

116

Edeyson Andrade Gomes

www.edeyson.com.br

` ` ` ` ` ` ` `

1 2 3 | | P2 P1 Seq = P2 + P1 0 1 1 2 3 | | P2 P1 Seq = P2 + P1

13

13

117

Edeyson Andrade Gomes

www.edeyson.com.br

Algoritmos e Programao

118

Edeyson Andrade Gomes www.edeyson.com.br

Algoritmos e Programao
`

Existem vrias fases distintas na elaborao de programas:


`

Anlise do problema
` `

Especificao do problema, anlise de requisitos O QUE? Modelo Conceitual Modelo Arquitetural COMO? Traduo do modelo arquitetural em algoritmo Traduo do Algoritmo em linguagem de programao

Concepo da Soluo
` ` `

Implementao
` `

`
119

Testes
Edeyson Andrade Gomes www.edeyson.com.br

Pascal

120

Edeyson Andrade Gomes www.edeyson.com.br

Pascal
`

A linguagem Pascal foi desenvolvida no incio da dcada de 1970 por Nicklaus Wirth, na Universidade Tcnica de Zurique, Sua.
`

O primeiro compilador para a linguagem foi disponibilizado em 1970.

Objetivo:
` `

Ser uma linguagem de programao de alto nvel voltada ao ensino da programao estruturada. Seu nome deve-se a uma homenagem a Blaise Pascal, filsofo e matemtico francs que viveu entre 1623 e 1662.
Edeyson Andrade Gomes www.edeyson.com.br

121

Estrutura de um Programa Pascal


`

Todo programa em Pascal dividido em trs reas distintas: cabealho, rea de declaraes e corpo.

cabealho

rea de declaraes

corpo

122

Edeyson Andrade Gomes

www.edeyson.com.br

Cabealho
`

O cabealho uma rea utilizada para que se possa identificar um programa atravs de um nome
`

instruo program
{Sintaxe:} program nomeDoPrograma;

1. program adicionaNumeros; 2. {Programa que l 2 nmeros e imprime sua soma.}

Observaes:
` `

No pode existir nenhuma varivel no programa que tenha o mesmo nome dado a ele. O uso de { } serve para definir comentrios no cdigo.
Edeyson Andrade Gomes www.edeyson.com.br

123

rea de Declaraes
`

rea de Declaraes
`

Utilizada para criar identificadores que no sejam predefinidos. Todo objeto num programa Pascal, como variveis e constantes, precisam ser identificadas por um nome nico que no exista ainda nele.
`

Pascal j predefine nomes como integer, real, boolean, etc.

A rea de declaraes pode ser subdividida em sete subreas:


`

uses, label, const, type, var, procedure e function.

124

Edeyson Andrade Gomes

www.edeyson.com.br

Utilizao de Units
`

As units so conjuntos de rotinas que j esto prontas para serem usadas pelo programador.
`

Por exemplo, se quisermos limpar a tela ou ler o teclado j existem funes prontas para isso nas units. So elas:
` ` ` ` ` `

CRT: possui a maior parte das rotinas e variveis de gerao de som, controle de vdeo e teclado; DOS: possui as rotinas que envolvem a utilizao do sistema operacional; GRAPH: possui rotinas destinadas a manipulaes grficas; OVERLAY: possibilita gerenciar as atividades de um programa economizando memria; PRINTER: permite declarar um arquivo tipo texto com o nome LST e associ-lo impressora; SYSTEM: possui a maior parte das rotinas padro da linguagem Pascal e usada de forma automtica.

125

Edeyson Andrade Gomes

www.edeyson.com.br

Utilizao de Units
`

Para se fazer uso de units necessrio o uso da instruo uses antes da declarao da instruo var.
{Sintaxe:} uses nomeDaUnidade;

1.program adicionaNumeros; 2. {Programa que l 2 nmeros e imprime sua soma.} 3. 4. {Usa a biblioteca CRT onde est a funo ReadKey} 5. uses crt;

126

Edeyson Andrade Gomes

www.edeyson.com.br

Declarao de Variveis
`

Para a declarao de variveis num programa usa-se a instruo var.


`

Cada varivel tem um nome nico no programa (identificador) e um tipo.


{Sintaxe:} var nomeDaVarivel : tipo de dado; nomeDeOutraVarivel : tipo de dado;

Observaes: ` Aps o nome de cada varivel deve ser utilizado o smbolo dois-pontos ( : ) seguido pelo tipo de dado que a varivel ir receber, seguido de ponto-e-vrgula. ` Caso as variveis sejam de mesmo tipo, estas podero ser relacionadas separadas por vrgula. Por exemplo: var a, b, c : integer; Isso define as variveis a, b e c como sendo do tipo integer (inteira).
127 Edeyson Andrade Gomes www.edeyson.com.br

Declarao de Variveis
1 program adicionaNumeros; 2 {Programa que l 2 nmeros e imprime sua soma.} 4 {Usa a biblioteca CRT onde est a funo ReadKey} 5 uses crt; 7 {Declara a, b e soma como variveis inteiras} 8 var 9 a, b : integer; 10 soma : integer;

128

Edeyson Andrade Gomes

www.edeyson.com.br

Corpo do Programa
`

Um programa em Pascal est escrito numa rea denominada corpo do programa que tem incio com a instruo begin e finalizada pela instruo end, seguida do smbolo ponto ( . ).
`

O uso destas instrues caracteriza o que chamado de bloco de comandos, como indicado abaixo:
{Sintaxe:} begin instrues do programa; end.

129

Edeyson Andrade Gomes

www.edeyson.com.br

Corpo do Programa
` ` `

Mostrar programa adicionaNumeros no Pascal. Apresentar Dev-Pascal. Compilar e executar programa.

130

Edeyson Andrade Gomes

www.edeyson.com.br

adicionaNumeros
`

Algoritmo usado em Linguagem Natural:


`

Incio do Algoritmo
` ` ` ` ` ` `

Solicitar ao usurio para inserir o valor de a; Ler um valor para a varivel a; Solicitar ao usurio para inserir o valor de b; Ler um valor para a varivel b; Efetuar a soma das variveis a e b, colocando o resultado na varivel soma; Apresentar o valor da varivel soma aps a operao de soma dos dois valores fornecidos. Aguardar at que algo seja pressionado.

`
131

Fim do Algoritmo.
Edeyson Andrade Gomes www.edeyson.com.br

Exerccio
`

Incio do Algoritmo Mdia3N


` ` ` ` ` ` ` `

Solicitar ao usurio para digitar o valor da varivel a; Ler um valor para a varivel a; Solicitar ao usurio para digitar o valor da varivel b; Ler um valor para a varivel b; Solicitar ao usurio para digitar o valor da varivel c; Ler um valor para a varivel c; Calcular a mdia como a soma de a, b e c dividida por 3. Imprimir os trs valores lidos e a mdia.

Terminar o Algoritmo Mdia3N.


132 Edeyson Andrade Gomes www.edeyson.com.br

Variveis e Constantes
`

Em Pascal, variveis, constantes, tipos definidos pelo usurio, procedimentos e funes precisam de um nome que fornea uma identificao nica e isso feito atravs de identificadores.
`

Nomes em Pascal devem seguir as seguintes regras de construo:


` ` `

Iniciar sempre por uma letra (a - z, A - Z) ou um underline (_); O restante do identificador deve conter apenas letras, underlines ou dgitos (0-9). No pode conter outros caracteres; e Pode ter qualquer tamanho, desde que os primeiros 63 caracteres sejam significativos.
Edeyson Andrade Gomes www.edeyson.com.br

133

Variveis e Constantes
`

No existe distino entre letras maisculas e minsculas no nome de um identificador.


`

Por exemplo, os nomes ALPHA, alpha e Alpha so equivalentes para o Pascal.

Observaes:
`

CamelCase a denominao em ingls para a prtica de escrever palavras compostas, ou frases, onde cada palavra iniciada com Maisculas e unidas sem espaos.
um padro largamente utilizado em diversas linguagens de programao, como Java, Ruby e Python. Exemplos: NomeDoCliente, TipoDePea, MediaPonderada, MediaDe3Numeros.

134

Edeyson Andrade Gomes

www.edeyson.com.br

Palavras Reservadas
`

Pascal reconhece certo grupo de palavras como sendo reservadas.


`

Elas tm significado especial e no podem ser usadas como identificadores em um programa. So elas:
`

absolute, and, array, asm, begin, case, const, constructor, destructor, div, do, downto, else, end, file, for, function, goto, if, implementation, in, inherited, inline, interface, label, mod, nil, not, object, of, on, operator, or, packed, procedure, program, record, reintroduce, repeat, self, set, shl, shr, string, then, to, type, unit, until, uses, var, while, with, xor.

135

Edeyson Andrade Gomes

www.edeyson.com.br

Comentrios
`

Comentrios so textos escritos dentro do cdigo-fonte para explicar ou descrever alguns aspectos relativos ao mesmo.
`

A sintaxe requerida aos comentrios permite o uso de chaves como em: { comentrio } ou de parntesis e asteriscos, como em: (* comentrio *).

136

Edeyson Andrade Gomes

www.edeyson.com.br

Variveis
`

Uma varivel uma regio da memria identificada atravs de um nome, cujo valor pode mudar durante a execuo do programa.
`

Como Pascal uma linguagem fortemente tipada, cada varivel precisa obrigatoriamente de um tipo de dados predeterminado.

{Sintaxe:} var varivel : tipo de dado; varivel1, varivel2 : tipo de dado2;


137 Edeyson Andrade Gomes www.edeyson.com.br

Variveis
` `

Nesta especificao de sintaxe, varivel tem seu tipo definido por tipo de dado. Note que varivel1 e varivel2 so definidas juntas, separadas por vrgulas e atribuindo-se um nico tipo de dados.
`

Isso pode ser feito para qualquer nmero de variveis que compartilhem um mesmo tipo de dados.

138

Edeyson Andrade Gomes

www.edeyson.com.br

Constantes
`

Uma constante uma regio rotulada da memria atravs de um nome cujo valor no pode mudar durante a execuo do programa.
`

Um exemplo de constante o PI na matemtica.

{Sintaxe:} const nomeDaConstante = expresso;

139

Edeyson Andrade Gomes

www.edeyson.com.br

Tipos de Dados
`

Um tipo de dado especifica as caractersticas, ou seja, quais os possveis valores e operaes que um dado possui.
` `

Por exemplo, um valor inteiro pode ser somado a outro, subtrado, multiplicado, etc. Variveis, como apresentado em sua sintaxe, requerem um tipo de dado em sua definio. A linguagem Pascal fornece ao programador um conjunto de tipos de dados predefinidos e que sero descritos a seguir.

140

Edeyson Andrade Gomes

www.edeyson.com.br

Tipos de Dados - Inteiros


`

Inteiros so valores numricos positivos ou negativos, excluindo-se qualquer nmero fracionrio. Em Pascal, este tipo de dado pode ser referenciado por um dos seguintes identificadores:
`

Byte, Shortint, Smallint, Word, Integer, Cardinal, Longint, Longword, Int64 e QWord.
Tipo Byte Shortint Smallint Word Integer Cardinal Longint Longword Int64 QWord Valores 0..255 -128 .. 127 -32768 .. 32767 0 .. 65535 Smallint ou Longint Longword -2147483648 .. 2147483647 0 .. 4294967295 -9223372036854775808 .. 9223372036854775807 0 .. 1844674473709551615 Tamanho em Bytes 1 1 2 2 2 ou 4 4 4 4 8 8

141

Edeyson Andrade Gomes

www.edeyson.com.br

Dvidas

142

Edeyson Andrade Gomes www.edeyson.com.br

Você também pode gostar