aula 01 introdução a linguagem pascal

34
INTRODUÇÃO A LINGUAGEM PASCAL Profº.: Tácito Henrique [email protected] CEMA Centro Educacional Miguel Alves

Upload: tacito-graca

Post on 03-Jul-2015

459 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 01   introdução a linguagem pascal

INTRODUÇÃO A

LINGUAGEM PASCAL Profº.: Tácito Henrique

[email protected]

CEMA – Centro Educacional Miguel Alves

Page 2: Aula 01   introdução a linguagem pascal

Introdução

• Para que um algoritmo possa ser executado em um

computador ele deve ser primeiramente descrito através

de uma linguagem de programação;

• A linguagem de programação é apenas um meio de

comunicação entre dois interlocutores, o programador e o

processador;

Page 3: Aula 01   introdução a linguagem pascal

Introdução

• A linguagem de programação possui regras sintáticas e

semânticas que devem ser seguidas para que a

mensagem que se deseja passar seja compreendida.

• Regras Sintáticas É a forma de escrever

• Regras Semânticas É o sentido do que se escreve

Page 4: Aula 01   introdução a linguagem pascal

Introdução

• Quando os algoritmos são escritos na linguagem, ainda

são textos, eles precisam ser convertidos em um formato

que o processador entenda

• O processador de um computador apenas entende bits, 1

e 0.

• Para fazer a tradução do nosso programa para uma

linguagem de máquina, existem os compiladores.

Page 5: Aula 01   introdução a linguagem pascal

Introdução

• Os compiladores por sua vez, criam uma “versão” em

linguagem de

máquina do

nosso programa

Page 6: Aula 01   introdução a linguagem pascal

Níveis de Linguagem

• Linguagens de alto nível

• Linguagens expressivas próximas a linguagem oral

• Não estão diretamente relacionadas com a arquitetura do computador, não é necessário conhecer as características do processador, como instruções e registradores

• Também conhecidas como linguagens declarativas

• Exemplos:

• ASP

• ACTION SCRITP

• C/C++

• C#

• Pascal / OBJECT Pascal

• Java

• PHP

• Basic / Visual Basic

Page 7: Aula 01   introdução a linguagem pascal

Níveis de Linguagem

• Linguagens de baixo nível

• Linguagens que dependem da arquitetura da máquina

• Utiliza somente instruções do processador, para isso é necessário

conhecer os registradores da máquina

• Dividida em 2 (duas) gerações

• 1ª Geração – 1GL - código de máquina puro (impossível de ser lido por

humanos)

• 2ª Geração – 2GL - linguagem Assembly, é necessário o conhecimento

de registradores e instruções

Page 8: Aula 01   introdução a linguagem pascal

ALGORITMOS Introdução

Page 9: Aula 01   introdução a linguagem pascal

Algoritmos

• Um conceito fundamental para a Ciência da Computação é o

de algoritmo.

• Na programação estruturada o algoritmo é uma sequencia de

instruções, cuja execução resulta na realização de uma

determinada tarefa.

• Os algoritmos estão na nosso dia-a-dia de forma implícita.

• Exemplos

- Fazer café

1. Esquentar água;

2. Adicionar água quente com o café;

3. Adicionar açúcar a gosto;

- Manuais de Instruções;

- Receitas culinárias

Page 10: Aula 01   introdução a linguagem pascal

Algoritmos

• Regras gerais para algoritmos

• Todo algoritmo deve resultar na realização de alguma tarefa;

• As instruções devem ser claras, não devendo conter

ambiguidades;

• Não pode haver dubiedade em relação à próxima ação a ser

realizada durante a execução de uma determinada instrução.

• Todas as instruções devem ser executadas num tempo finito.

• Exemplo – Gravar programação:

• 1.Sintonize, no videocassete, o canal desejado.

• 2.Insira uma fita no videocassete.

• 3.Acione a tecla rec.

Page 11: Aula 01   introdução a linguagem pascal

Algoritmos

• Assim como no exemplo anterior (videocassete) como

numa receita de bolo, é necessário cumprir alguns

requisitos ou ter certos ingredientes.

• Isto significa que a execução destes algoritmos

necessitam de “dados” que serão fornecidos para sua

execução.

• Estes dados constituem a entrada do algoritmo

Page 12: Aula 01   introdução a linguagem pascal

Algoritmos

• A realização e o resultado do algoritmo é considerada

com a saída do algoritmo;

• Entendendo o conceito de entrada e saída de algoritmos

podemos concluir que:

• “Um algoritmo é um conjunto de instruções que, recebendo uma

entrada compatível com as instruções, fornece uma saída num

tempo finito.” (Evaristo, Jaime – Aprendendo a Programar com Pascal,

pg. 10)

Page 13: Aula 01   introdução a linguagem pascal

Algoritmos

• Vejamos o seguinte algoritmo:

1. Sintonize, no videocassete, o canal desejado.

2. Insira uma fita no videocassete.

3. Acione a tecla rr {para rebobinar a fita}.

4. Acione a tecla rec.

• Todas as instruções serão executadas?

• Se a fita estivesse no inicio seria necessário executar o

passo 3?

• Como podemos melhorar este algoritmo?

Page 14: Aula 01   introdução a linguagem pascal

Algoritmos

• Uma condição pode resolver o problema, basta adicionar

a instrução:

• Se a fita não estiver rebobinada, acione a tecla rr. {para rebobinar}

• Assim podemos ver o algoritmo melhorado:

1. Sintonize no videocassete o canal desejado.

2. Apanhe uma fita, verifique se ela está rebobinada e a insira no

videocassete.

3. Se a fita não estiver rebobinada, acione a tecla rr.

4. Acione a tecla rec

Page 15: Aula 01   introdução a linguagem pascal

LÓGICA DE

PROGRAMAÇÃO

Page 16: Aula 01   introdução a linguagem pascal

Lógica de Programação

• Mas, e na programação? Como aplicamos os algotimos?

• Através da lógica de programação e linguagens de

programação;

• Algoritmos computacionais são desenvolvidos para

resolver problemas, com isso é necessário “pensar”;

• A ciência do raciocínio é a lógica. É esta ciência que

estuda os princípios e métodos usados para distinguir os

raciocínios corretos dos incorretos.

Page 17: Aula 01   introdução a linguagem pascal

Lógica de Programação – Vamos pensar

• Um senhor, infelizmente bastante gordo, está numa das

margens de um rio com uma raposa, uma dúzia de

galinhas e um saco de milho.

• O senhor pretende atravessar o rio com suas cargas,

num barco que só comporta o senhor e uma das cargas.

• RESOLVA: Como o senhor poderá transportar as

galinhas, o saco de milho e a raposa para o outro lado do

rio sem deixar sozinhos: a raposa e a galinha, nem a

galinha e o milho.

Page 18: Aula 01   introdução a linguagem pascal

Lógica de Programação

• Muitas vezes para sabermos qual será a primeira instrução de um algoritmo devemos utilizar a técnica de exaustão (eliminação);

• O segredo desta técnica é identificar a instrução de maior “peso”

RESOLUÇÃO 1. Atravesse as galinhas.

2. Retorne sozinho.

3. Atravesse a raposa.

4. Retorne com as galinhas.

5. Atravesse o milho.

6. Retorne sozinho.

7. Atravesse as galinhas.

Page 19: Aula 01   introdução a linguagem pascal

Lógica de Programação Exercícios Resolvidos

• Faça um algoritmo que receba dois números e exiba o resultado da sua soma

algoritmo “SOMA"

// Função : Faça um algoritmo que receba dois números e exiba o resultado da sua soma.

// Autor : CEMA

// Data : 23/10/2012

// Seção de Declarações

var

x, y: inteiro

inicio

// Seção de Comandos

escreval("Digite o primeiro número: ")

leia(x)

escreval("Digite o segundo número: ")

leia(y)

escreva("A soma dos números é: ",x+y)

fimalgoritmo

Page 20: Aula 01   introdução a linguagem pascal

Lógica de Programação Exercícios Resolvidos

• Faça um algoritmo que receba dois números e ao final mostre a soma, subtração, multiplicação e a divisão dos números lidos.

algoritmo “Operacoes"

// Função : Faça um algoritmo que receba dois números e ao final mostre a soma, subtração, multiplicação e a divisão dos números lidos.

// Autor : CEMA

// Data : 23/10/2012

// Seção de Declarações

var

x, y: real

inicio

// Seção de Comandos

escreva("Digite o primeiro número: ")

leia(x)

escreva("Digite o segundo número: ")

leia(y)

escreval("A soma é: ",x+y)

escreval("A subtração é: ",x-y)

escreval("A multiplicação é: ",x*y)

escreval("A divisão é: ",x/y)

fimalgoritmo

Page 21: Aula 01   introdução a linguagem pascal

Lógica de Programação Exercícios Resolvidos

• Escrever um algoritmo para determinar o consumo médio

de um automóvel sendo fornecida a distância total

percorrida pelo automóvel e o total de combustível gasto.

Page 22: Aula 01   introdução a linguagem pascal

Lógica de Programação Exercícios Resolvidos

• algoritmo “CalculoCombustivel"

• // Função : Escrever um algoritmo para determinar o consumo médio de um automóvel sendo fornecida a distância total percorrida pelo automóvel e o total de combustível gasto.

• // Autor : CEMA

• // Data : 23/10/2012

• // Seção de Declarações

• var

• distancia, combustivel: real

• inicio

• // Seção de Comandos

• escreval("========== Cálculo de consumo médio de combustível =========")

• escreva("Digite a distância pecorrida: ")

• leia(distancia)

• escreva("Digite o combustível gasto: ")

• leia(combustivel)

• escreval("O consumo médio de combustível do seu veículo é: ",distancia/combustivel)

• fimalgoritmo

Page 23: Aula 01   introdução a linguagem pascal

PASCAL Introdução à linguagem

Page 24: Aula 01   introdução a linguagem pascal

Um pouco da história

• A linguagem Pascal foi desenvolvida no início dos anos

70 por Nicklaus Wirth na Universidade Técnica de

Zurique, Suíça

• Com o objetivo de oferecer uma linguagem para o ensino

de programação que fosse simples, favorecendo a

utilização de boas técnicas de programação

• Batizada com o nome de Pascal em homenagem a Blaise

Pascal, filósofo e matemático francês que viveu entre

1623 e 1662, inventor da primeira calculadora mecânica.

Page 25: Aula 01   introdução a linguagem pascal

Identificadores

• Um identificador válido na linguagem Pascal é qualquer sequência de caracteres que obedeça às seguintes regras: • Seja iniciada por uma letra ( a, b, ..., z ) ;

• Possuir, depois da primeira letra, uma sequência de caracteres que podem ser letras, dígitos (1, 2, ... , 9, 0 ) ou ainda o caractere _ “ ; “

• É uma palavra que não é uma das palavras reservadas da linguagem Pascal

• O pascal não é case-sensitive (PASCAL = pascal = Pascal)

• Exemplos Válidos • Nome

• Data_hora

• turma1

Page 26: Aula 01   introdução a linguagem pascal

Palavras Reservadas APPEND PROCEDURE TEXTCOLOR MAGENTA

ARRAY PROGRAM CHR *

ASSIGN READ RED OR

BEGIN READKEY : .

BOOLEAN READLN YELLOW [

CHAR REAL LIGHTCYAN -

CLOSE RECORD LIGHTGREEN BROWN

CLRSCR REPEAT ; (

CONST RESET LENGTH ,

DO REWRITE TEXTBACKGROUND =

DOWTO STRING BLINK DARKGRAY

ELSE THEN > AND

END TO NOT <

FALSE TRUE LIGHTGRAY BLUE

FOR TYPE GREEN CYAN

FUNCTION UNTIL / )

GOTOXY VAR LIGHTMAGENTA LIGHTRED

IF WHILE TEXT WHITE

INTEGER WRITE MOD DIV

OF WRITELN LIGHTBUE ]

ORD EOF

Page 27: Aula 01   introdução a linguagem pascal

Constantes pré-definidas

• O compilador reconhece as seguintes constantes pré-

definidas:

• maxint

• Guarda o valor máximo de um inteiro, 32.767

• pi

• Guarda o valor da constante pi, 3.14159265358979

Page 28: Aula 01   introdução a linguagem pascal

Declaração de constantes

• O Pascal permite a declaração de constantes nos programas.

• A declaração deve ser feita dentro da seção de constantes do programa que tem inicio com a palavra reservada const no inicio do programa.

• Exemplo: const

escola = ‘CEMA’;

valor_referencia = 7.14584;

a = 2; { define uma constante inteira }

w = 1.25; { define uma constante real }

sim = 'S'; { define uma constante caractere }

const teste = TRUE; { define uma constante lógica }

• Pode receber: inteiros, real, cadeia de caracteres e um único caractere.

Page 29: Aula 01   introdução a linguagem pascal

Tipos de Dados

• Tipos de dados números inteiros:

• Integer (Número inteiro de 2 bytes entre –32.768 e +32.767)

• ShortInt (Número inteiro de 1 byte entre –128 e +127)

• LongInt (Número inteiro de 4 bytes entre –2.147.483.648 e

+2.147.483.647)

• Byte (Número inteiro positivo de 1 byte entre 0 e 255)

• Word (Número inteiro positivo de 2 bytes entre 0 e 65.535)

Page 30: Aula 01   introdução a linguagem pascal

Tipos de Dados

• Tipos de dados números reais:

• Real (Número real de 6 bytes variando de 2,9 E-39 a 1,7 E+38

incluindo o zero, podendo ser

• negativo ou positivo com 11 a 12 dígitos significativos)

• Single (Número real de 4 bytes variando de 1,5 E-45 a 3,4 E+38

incluindo o zero, podendo ser

• negativo ou positivo com 7 a 8 dígitos significativos)

• Double (Número real de 8 bytes variando de 5,0 E-324 a 1,7

E+308 incluindo o zero, podendo ser

• negativo ou positivo com 15 a 16 dígitos significativos)

• Extended (Número real de 10 bytes variando de 3,4 E-4932 a 1,1

E+4932 incluindo o zero, podendo

• ser negativo ou positivo com 19 a 20 dígitos significativos)

Page 31: Aula 01   introdução a linguagem pascal

Tipos de Dados

• Tipos de dados alfanuméricos:

• Char (Caracter ASCII de 1 byte)

• String[n] (Cadeia de caracteres ASCII de 2 a 256 bytes, sendo n

um valor numérico determinando o

• comprimento da cadeia. Na omissão do valor n, o compilador do

Pascal assume o

• comprimento máximo)

• Tipos de dados lógicos:

• Boolean (Valor lógico de 1 byte que representa apenas: TRUE ou

FALSE)

Page 32: Aula 01   introdução a linguagem pascal

Declaração de Variáveis

• A declaração de variáveis segue o mesmo padrão da

declaração de constantes;

• Para as variáveis é necessário iniciar o bloco com a

palavra reservada var;

• Exemplos:

numero_bilhete: integer;

valor: real;

bilhete_expirado: boolean;

Page 33: Aula 01   introdução a linguagem pascal

Comentários

• Comentários podem ser utilizados em qualquer parte da

aplicação.

• Os comentários não

serão executados na

aplicação.

Page 34: Aula 01   introdução a linguagem pascal

Estrutura dos Programas em Pascal

• O programa é dividido em 3 áreas básicas:

• Cabeçalho

• Área de declarações

• Bloco principal de comandos