Вы находитесь на странице: 1из 79

Pascal

Prof. Jnatas Oliveira

Sumrio
Histrico da computao e programao Estrutura de um computador Compiladores e Tradutores Algoritmos Bases de uma linguagem de programao Introduo a linguagem Pascal

Histria da Computao e Programao


Dedos (origem do sistema decimal) Seixos baco 1633- Primeira Calculadora Mecnica 1642 Blaise Pascal inventa a calc. mecnica de rodas dentadas de 10 posies.

Histria da Computao e Programao


1728 Tear com desenhos programados por folha giratria de papel perfurado 1890 Perfuradora de cartes. Criada para utilizao no senso americano 1946 ENIAC (digital eletrnico). Apenas dados na memria. 1948 EDVAC Dados e instrues. 1949 UNIVAC - Primeiro Computador em escala comercial

Estrutura de um computador
Forma Super Computador Caractersticas Mais potentes. Geralmente utilizados para aplicaes cientficas que requerem alto grau de processamento. (ex. previso climtica) Grandes computadores com alta capacidade de processamento. Geralmente utilizado para aplicaes comerciais e industriais Intermedirio entre microcomputadores mainframes e

Mainframe

Minicomputador Estao de Trabalho

Mais poder de computao que os microcomputadores. Geralmente rodam o sistema Linux ou uma variao. Pequenos computadores com mltiplas finalidades

Microcomputador

Estrutura de um computador

Estrutura de um computador
Unidades de entrada: introduo de informaes externas no computador. Exemplos? Unidades de sada. Sada de informaes para o ambiente externo, permitindo seu acesso/visualizao ou utilizao dessa informao por outro computador. Exemplos? Unidade Central de Processamento (UCP ou CPU). Formado pela Unidade de Controle e ULA (Unidade Lgico-Aritmtica).
Unidade de controle gerencia todos os recursos do computador e contm as instrues da UCP. ULA realiza operaes aritmticas e lgicas.

Memria RAM (Random Acess Memory). Contm todas as instrues que esto sendo executadas e os dados necessrios para a sua execuo.
Memria Principal Operaes de read/write Acesso Aleatrio (acesso direto) Voltil (perda de informaes quando a energia desligada)

Estrutura de um computador
Memria ROM (Read Only Memory)
S pode ser gravada uma nica vez (fabricante). til para inicializao do computador.
Verificao do estado da memria, perifricos, etc.

Memria Secundria
Objetivo de armazenar grandes quantidades de informao. Exemplos?

Hardware faz referncia os componentes fsicos do computador. Cpu, memria, perifricos. Software faz referncia aos programas do computador capazes de controlar o hardware para soluo de problemas. Byte conjunto de 8 bits. (Bit = 0 ou 1)

Estrutura de um computador
Sistema Operacional
Gerncia o hardware e o software do computador, fornecendo ao usurio uma interao amigvel. Funes do SO:
Gerenciamento de memria Gerenciamento de processos Gerenciamento de entrada/sada Gerenciamento de arquivos

Tradutores
Um programa um conjunto de instrues, que executadas na CPU, cumpre uma determinada tarefa especfica. Antigamente a programao era feita diretamente ligando/desligando interruptores. Os computadores s executam Linguagem de Mquina (assembly)
Movem dados e realizam operaes. Ex. ADD A, B

Tradutores
Tradutores (compiladores) permitem que uma linguagem em alto nvel seja entendida e executada pelo computador. Traduz o cdigo em alto nvel para linguagem de mquina. Pode ser compilador ou tradutor.
Compilador: O programa fonte compilado e passa por diversas fases. Anlise lxica, sinttica, semntica, otimizao, gerao de cdigo objeto. Tradutor: a instruo decodificada e executada. Desvantagem que leva um tempo maior de execuo.

Algoritmos
Sequncia de passos para se chegar a uma soluo ou estado.
Estado Inicial Algoritmo Estado Final/Soluo

Exemplo: Suponha que dois recipientes contenham lquidos diferentes que, se misturados causam uma exploso. Como transferir o contedo entre os dois recipientes sem que haja uma exploso?

Algoritmos
A) Colocar o contedo do recipiente A no recipiente C. B) Colocar o contedo do recipiente B no recipiente A. C) Colocar o contedo do recipiente C no recipiente B. Processo ou metodologia caracterizado pela ordem de aes para se chegar no estado desejado. Exemplo 2 Um homem precisa atravessar o rio em uma canoa que s tem capacidade de carregar ele mesmo e mais uma de suas cargas. Suas cargas so: uma ona, um carneiro e um capim. A ona no pode ficar sozinha com o carneiro, nem o carneiro com o capim.

Algoritmos
Identificadores
Nomes dados as variveis e constantes que fazem parte do problema. Geralmente podem ser uma sequncia de letras e nmeros.

Constantes
Valores fixos que nunca sero modificados.

Variveis
Conceito matemtico. Representao simblica de uma posio da memria. S podem assumir um valor a cada instante.

Comentrios
Tem o objetivo de deixar o programa mais claro para quem for ler o cdigo. Geralmente til para dar explicaes de como o cdigo funciona. um trecho do cdigo que no ser compilado. indiferente para o computador quando o cdigo for executado.

Algoritmos
Expresses Aritmticas
Composto pelo conjunto de operaes bsicas da matemtica. Utilizam-se valores numricos diretamente, bem assim como variveis e constantes. Exemplo: x = 3 + a A linguagem pode fornecer outras funes matemticas especficas. Ex. log(x), exp(x), etc.

Expresses Lgicas
Quando a execuo de alguma ao est sujeita a uma condio. Esta condio apresentada atravs de uma expresso lgica. Expresso relacional utilizada em operadores do mesmo tipo. J conhecidos da matemtica. Exemplos: = (igual) , (maior do que), (menor do que), (diferente) Operadores Lgicos. E (conjuno), OU (disjuno) e NO (negao).

Algoritmos
Comando de atribuio.
Atribuir um valor a varivel. O Resultado da expresso deve possui o mesmo tipo de valor que o identificador. Identificador expresso (lgica, aritmtica)

Comandos de entrada/sada
Comunicao entre o usurio e o computador. Comando de entrada: Leia <identificador>
Ex. Leia o nome de uma pessoa, o nmero de um cpf, etc. (ler o que foi escrito no teclado)

Comando de sada:
Escreva <identificador/constante/texto>
Ex. Escreva Cdigo do aluno: , codigo_aluno (imprimir na tela de comando)

Algoritmos
Estrutura Sequencial
No exemplo abaixo, o algoritmo se inicia com a palavra Algoritmo e termina com a palavra fimalgoritmo.
Algoritmo declare A, B, C numrico leia A, B, C C (A + B) x C escreva A, B, C fim-algoritmo

A, B e C so as variveis numricas do algoritmo.

Algoritmo
Exerccio em sala de aula:
Apresente o cdigo de um algoritmo que declare 4 variveis numricas A, B, C e D. Depois leia do teclado 3 delas B, C e D. E imprima os valores da soma e multiplicao de B, C e D.

Algoritmos
Estrutura Condicional
Permite que um conjunto de aes sejam executadas dependendo de uma condio, representadas por operaes lgicas. A estrutura condicional delimitada no nosso exemplo pelo comando se e fim-se. Ela pode ser composta ou simples.

Estrutura Condicional Simples se <condio> ento <seqncia de comandos> fim-se

Estrutura Condicional Composta se <condio> ento <seqncia A de comandos> seno <seqncia B de comandos> fim-se

Algoritmos
Exerccio em sala de aula:
Construir um algoritmo que dois nmeros lidos do teclado, num1 e num2, e diga qual deles o maior.

Algoritmos
Exerccio para Casa:
Construir um algoritmo que leia 3 nmeros, e apresente a soma deles. E depois imprima os 3 nmeros se a soma for maior que 6.

Algoritmos
Exerccio em sala de aula:
Construir um algoritmo que leia dois nmeros do teclado num1 e num2. E apresente como resultado a soma deles se o num1 for maior que num2, seno apresentar a subtrao de num1 menos num2. Use uma terceira varivel para guardar a soma/subtrao.

Algoritmos
Exerccio em sala de aula:
Construir um algoritmo que leia trs nmeros do teclado num1, num2 e num3. E diga qual deles o maior nmero.

Algoritmos
Estrutura de Repetio
Permite que um conjunto de instrues seja executada repetidas vezes, at que determinada condio de interrupo de repetio seja satisfeita. Estrutura representada por repita e fim-repita. As interrupes podem estar no incio, no interior da estrutura, ou no fim.
Incio repita se condio ento interrompa fim-se <seqencia de comandos> fim-repita Interior repita <seqencia A de comandos> se condio ento interrompa fim-se <seqencia B de comandos> fim-repita

Fim
repita <seqencia A de comandos> se condio ento interrompa fim-se fim-repita

Algoritmos
Exerccio em sala de aula:
Construir um algoritmo que leia um nmero X, e enquanto X for diferente de 0, continuar lendo novo valores de X.

Introduo ao Pascal
Linguagem desenvolvida para fins didticos. Turbo Pascal 7.0 Criada na dcada de 70 por Niklaus Wirth. Atualmente suporta orientao a objeto.

Introduo ao Pascal
Estrutura Bsica de um Programa Pascal
program [nome_do_programa]; Var {local reservado para declarao de variveis} begin {local reservado para o programa principal} end.

Em negrito as palavras reservadas

Comentrios
So textos no cdigo para explicar ou descrever algo do prprio cdigo. Em Pascal, pode ser feito de duas formas:
Entre Chaves: { aqui dentro est o comentrio } Ou: (* aqui dentro est o comentrio *)

Exemplo

program nome_do_programa; (*comentrio qualquer*) var numero1 : integer; numero2 : real; begin {esse programa apenas declara, no executa nenhuma instruo} end.

Palavras Reservadas

Entrada e Sada de Dados


Entrada (leitura de dados do teclado)
read, readln; (ln significa line new)

Sada (impresso na tela de comando)


write, writeln;

Variveis no Pascal
Como em todas as linguagens, Pascal fornece a funcionalidade de reservar posies de memria para armazenamento de dados. Permite que os contedos sejam acessados ou substitudos.
Nome (palavra reservada no Pascal) integer real char boolean Dado armazenado nmeros inteiros nmeros reais characteres ASCII valor lgico (true/false) Tamanho da palavra 2 bytes (16 bits) 6 bytes (54 bits) 1 byte (8 bits) 1 bit Faixa de abrangncia -32.768 32.767 2,9E-39 1,7E+38 0 - 255 0-1

Variveis no Pascal
Regras para a declarao de variveis:
S podem ter valores alfa-numricos: 0 at 9, a at z, A at Z, e o caracter sublinhar _, e tambm no podem ser palavras reservadas da linguagem. Outros smbolos no podem estar nas variveis. Ex. >, ), etc. As variveis no podem se iniciar com nmeros.
program nome_do_programa; var numero1 : integer; numero2 : real; confirma: boolean; begin {programa principal} end. program nome_do_programa; var numero1 : integer; numero2, numero3 : real; nome: string[10]; begin {programa principal} end.

Variveis no Pascal
Exemplos
Formao correta: numero1 a14_10 n123456 _AbCd Formao incorreta: var numero.de.pessoas num1(inteiro) 2aa a

Variveis no Pascal
program nome_do_programa; Memria

var
numero1 : integer; numero2 : real; begin {local reservado para o programa principal} end.

2 bytes

6 bytes

Operadores Aritmticos
Operador :=
+ * / ** div mod

Significado Atribuio
Adio Subtrao Multiplicao Diviso Potenciao Quociente da diviso inteira Resto da diviso

program teste;

var
num1, num2 : integer; begin num1 := 10; num2 := 20;

end.
Memria

num1 (2 bytes)

num2 (2 bytes)

Operadores Aritmticos
Exemplo com soma e subtrao program teste; Exerccio: Realize o rastreamento dos dois programas.

var
num1, num2 : integer; begin num1 := 20; num2:=30; num1 := num2 + 10; num2 := num2 - num1; end.

Memria

num1 (2 bytes)

num2 (2 bytes)

Operadores Aritmticos
Exemplo com multiplicao e diviso

program teste;
var num1, num2 : real; begin num1 := 20; num2:=30; num1 := num2 / 2; num2 := num2 * num1; end.

Memria num1 (2 bytes) num2 (2 bytes)

Operadores Aritmticos
Exemplo Potenciao program teste; var num1, num2 : integer; begin num1 := 4; num2:= 3; num1 := num2 ** num1; num2 := num1; end. Exemplo com diviso inteira e resto program teste; var num1, num2 : integer; begin num1 := 20; num2:=30; num1 := num2 div 4; num2 := num1 mod 3; end.

Operadores Aritmticos
Precedncia de operadores
Similar a matemtica.
Expresso em parntesis precede todas. Potenciao precede as quatro operaes. Multiplicao/diviso precede a soma. program teste;
var a, b: real; begin

a:=10; b:=5; a := a*b+2**3*4; b := 2**3+( (a-50)*2**(b+1) ); end.

Operadores Aritmticos
Exerccio:
1) Construa um programa em pascal que realize as seguintes operaes.
1) Uma varivel inteira X que guarde o valor 2 2) Outra varivel Y que guarde o valor 3 3) Depois mais uma varivel Z que receba o valor de X elevado a potencia Y. 4) Depois Z deve receber a soma de X e Y. 5) E por ltimo, Z deve receber o resto da diviso de X por Y.

Operadores Aritmticos
Exerccio 2 Analise o cdigo abaixo e identifique os erros de sintaxe e estruturao.
program programa teste; var variavel1 : integer; var, num2 : real; begin d = 20; variavel1 := 10 num2 = variavel1; end.

Estrutura Condicional

Estrutura Condicional
Exemplo

Estrutura Condicional
Exerccio em sala de aula

Estrutura Condicional
If then else Se ento - seno

Estrutura Condicional
Exerccio em sala de aula
Diga o algoritmo passo a passo. Depois escreva o cdigo em Pacal.

Estrutura Condicional

Estrutura Condicional

Estrutura Condicional
Operadores Lgicos
Operao entre valores lgicos.

Estrutura Condicional
Tabelas Verdade

Estrutura Condicional
Verificar se um nmero lido est entre 20 e 90.

Estrutura Condicional
Verificar se o nmero est entre 20 e 90.

Estrutura Condicional
Programa que leia 2 nmeros, e verifique se um dos dois positivo. E imprima o resultado.

Estrutura Condicional
Verificar se um dos nmero de entrada positivo.

Estrutura Condicional
Se o valor de X no for maior que 5, fazer a operao C = (A + B) * X, seno C = (A - B)* X

Estruturas de Repetio
Chama-se de lao ou loop a estrutura de repetio. Os laos podem ser:
finitos: se conhece previamente a quantidade de repeties que sero executadas. Infinitos: no se conhece previamente a quantidade de repeties que sero executadas. So chamados tambm de laos condicionais.

Estruturas de Repetio
For
Usa uma varivel de controle para parada de repetio. Esse valor incrementado/decrementado a cada ciclo do loop (lao).

Estruturas de Repetio
Exemplo - FOR

Estruturas de Repetio

Estruturas de Repetio
Exerccio: Leia um valor inteiro A, e imprima os valores de 0 at A, utilizando o comando FOR.

Estruturas de Repetio
Exerccio: Faa um programa em Pascal que imprima apenas os nmeros pares entre 1 e 100, mas sem utilizar o comando MOD, fazendo apenas atravs da manipulao da varivel de controle do comando FOR.

Estruturas de Repetio
Exerccio: Faa um programa similar ao exerccio anterior, porm a impresso deve ser do nmero par maior at o nmero par menor entre 1 e 100.

Estruturas de Repetio
Exerccios em sala de aula:
Faa um programa que realize a sequncia do somatrio: 1 + 2 + 3 + 4... 20.

Estruturas de Repetio
Instruo WHILE
Verifica se possvel executar as instrues dentro do while (logo abaixo dela) de acordo com a condio de entrada. Tornar a executar o conjunto de instrues de dentro do while, enquanto a condio de entrada for satisfeita.

Estruturas de Repetio
Exemplo While

Estruturas de Repetio
Exemplo While

Estruturas de Repetio
Comando REPEAT
Bastante similar as outras estruturas j discutidas. Aprendizado adicional em casa...

Vetores e Matrizes
Cada varivel armazena somente um valor por vez. Imagine a seguinte situao: Deve-se guardar 5 notas realizadas por um aluno. Ficaria: Nota1, Nota2, Nota3, Nota4, Nota5 : integer; Pascal e a maioria das linguagens proporcionam estruturas que permitem agrupar vrias informaes dentro de uma mesma varivel. Vetores e Matrizes

Vetores
Tambm chamado de matriz unidimensional. Declarao: Exemplo das notas: Atribuindo valores para as notas -> Representao:

Vetores
Exerccio:

Vetores
Outro exemplo:

Matrizes
Mltiplos vetores. No mesmo problema do aluno com 4 notas, pode-se ter 5 alunos, cada um com 4 notas. Declarao:
Sintaxe:
<matriz> : array [dimensao_linha,dimensao_coluna] of <tipo_de_dado>

No exemplo:
Notas : array [4,5] of real;

Matrizes
Outro exemplo:

Вам также может понравиться