Upload
tacito-graca
View
459
Download
0
Embed Size (px)
Citation preview
INTRODUÇÃO A
LINGUAGEM PASCAL Profº.: Tácito Henrique
CEMA – Centro Educacional Miguel Alves
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;
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
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.
Introdução
• Os compiladores por sua vez, criam uma “versão” em
linguagem de
máquina do
nosso programa
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
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
ALGORITMOS Introdução
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
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.
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
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)
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?
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
LÓGICA DE
PROGRAMAÇÃO
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.
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.
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.
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
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
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.
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
PASCAL Introdução à linguagem
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.
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
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
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
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.
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)
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)
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)
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;
Comentários
• Comentários podem ser utilizados em qualquer parte da
aplicação.
• Os comentários não
serão executados na
aplicação.
Estrutura dos Programas em Pascal
• O programa é dividido em 3 áreas básicas:
• Cabeçalho
• Área de declarações
• Bloco principal de comandos