Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya...

21
Paradigmas de Programação - prof Gláucy a Carreiro Boechat 1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat [email protected] Universidade Federal Rural de Pernambuco Departamento de Estatística e Informática

Transcript of Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya...

Page 1: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

1

Elaborando um Programa

Prof.: Gláucya Carreiro Boechat [email protected]

Universidade Federal Rural de PernambucoDepartamento de Estatística e Informática

Page 2: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

2

ConstantesAs constantes correspondem a valores (ou conteúdos) fixo, não podendo serem alterados no decorrer do programa (tempo de execução). Em Pascal elas podem ser:

Numéricas: representando valores reais ou inteiros (com ou

sem sinal +,-)A representação com a letra ‘E’ indica uma

potencia de 10.Exemplo: -0.59 2.5E-2 2E4 -1E-3 -0.91E-9

Page 3: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

3

ConstantesLógicas:

representadas pelas palavras TRUE e FALSE (verdadeiro e falso).

Literais: formadas por uma seqüência de caracteres

(algarismos especiais, letras e números). Representadas pelos caracteres

correspondentes colocados entre apóstrofos simples (´)

Page 4: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

4

VariáveisAs variáveis e algumas outras entidades são representadas por identificadores, que permitem identificar de forma mais conveniente para qual fim elas serão utilizadas.

Identificadores nomes atribuídos a variáveis e entidades

dentro do programa.Podem ser formados por apenas uma letra ou

um conjunto de algarismo (letras e números),tendo sempre o primeiro algarismo com uma

letra.

Page 5: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

5

Tipo de Dados Básicos

Os tipos predefinidos em Pascal são representados pelas palavras integer, real, boolean e char que indicam respectivamente:

– conjunto dos valores inteiros (integer)– conjunto dos valores reais (real)– conjunto de valores lógicos (boolean)– conjunto de caracteres aceito pela linguagem

(char ou string)

tipo string tipo composto de componentes do tipo char

Page 6: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

6

Elaborando um Programa

A declaração de variáveis começa com o emprego da palavra reservada ‘var’. Em seguida são especificados os identificadores e os tipos de dados que esta variável será usada para manipular.

<identificador> : <tipo de dado>;Exemplo: Var v_total : real;

Inicia-se um programa em Pascal criando o cabeçalho com a palavra reservada program e um identificador. Este cabeçalho é encerrado com um ‘;’

Program <identificador>;Exemplo: Program media;

Page 7: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

7

Expressões e OperadoresAritméticos

Prioridade | Operadores 1 | * / div mod 2 | + -

Funções NuméricasLn(x) Trunc(x) SqRt(x)Exp(x) Round(x) Sin(x)Abs(x) Sqr(x) Cos(x)ArcTan(x)

onde (x) representa uma expressão aritmética

Literais

Funções LiteraisOrd(x)

é inteiro e indica a ordem de xChr(EA)

caractere que corresponde à expressão aritmética EA, se existir

Succ(x) sucessor de x

Pred(x) predecessor de x

Page 8: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

8

Operadores Lógicos

and para a conjunção or para a disjunçãonot para a negação

Operadores de expressões lógicas

Precedência nas Operações1 | not2 | * / div mod and3 | + - or4 | =, < >, <, <=, >=, >, in

Operadores Relacionais

= igual< > diferente> maior< menor>= maior ou igual<= menor ou igualin contido em (conjunto)

resultado é sempre um valor lógico (falso ou verdadeiro)

LógicasExpressões e Operadores

Page 9: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

9

Elaborando um ProgramaComandos de Saída write e writeln

Apresenta os valores desejados na <comando> (<identificadores/constantes/expressões>)

write imprime os valores mantendo o cursor ao finalwriteln imprime os valores saltando com o cursor para

a próxima linha

Formatando a saída: x = valor a ser escritox1= número mínimo de caracteres a escreverx2 = número de dígitos após o ponto decimal

Exemplo: write(25.2:6:3); apareceria na tela como 25.200

Page 10: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

10

Um exemplo usando notação convencional usando o comando WRITE e WRITELN

WRITE(2750.5:7:2);

WRITELN(1.5:7:1);

WRITE(4.48:7:2,40.5:10:2);

A tela de saída seria:

2570.50

1.5

4.58 40.50

Elaborando um Programa

Page 11: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

11

Comandos de Entrada read e readln

Fazem a leitura de valores do dispositivo de entrada, (teclado) Armazenam estes valores em variáveis indicadas na lista de identificadores.

<comando> (lista de identificadores)

read lê os valores mantendo o cursor ao final da leiturareadln lê os valores saltando com o cursor para a

próxima linha

Exemplo:read (v_nome);readln (nome, telefone, codigo);

Elaborando um Programa

Page 12: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

12

Bloco de InstruçõesUm bloco de instruções é iniciado com a expressão begin e encerrado com end. Dentro do bloco estão as instruções a serem executadas pelo programa.

Comando de Atribuição ( := )A variável e a expressão devem ter o mesmo tipo (ou compatível)

<variavel> := <expressão>

Estrutura SeqüencialAs instruções (ou comandos) devem ser executados de forma seqüencial como escritos no texto do programa, separados por ‘;’. End, não é necessário colocar-se um ‘;’ depois do comando que o precede.

Elaborando um Programa

Page 13: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

13

Cálculo da Porcentagem

Program porcentagem; {cabeçalho }Uses wincrt;Const

valor : real = 555.0; {Declaração }Var

percentual : integer;resultado : real;

Begin {Início do bloco de instrução }write('O valor constante é ',valor:3:2,'. Digite o percentual

desejado: ');read(percentual);resultado := (valor * percentual) / 100;writeln('O percentual representa = ', resultado:7:2,' do valor.')

End. {Fim do bloco de instrução }

Elaborando um Programa

Page 14: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

14

Estrutura CondicionalCompostaif <condição> then begin <sequência de comandos A> end { sem o ponto e vírgula ‘;’}else begin <sequência de comandos B> end;

a condição verdadeira executará os comandos A, senão executará os comandos B, saltando para o final da estrutura condicional, após o end

Simplesif <condição> thenbegin <sequência de comandos>end;

a sequência de comandos será executada se a condição for verdadeira, senão o comando executado é o que vier logo após o end

Elaborando um Programa

Page 15: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

15

Estrutura Condicional Composta

•A seqüência que possuir apenas um único comando poderá omitir o begin e o end da sua composição

•A palavra else não pode ser precedida de ‘;’ que deve ser usado como separador de comandos

Elaborando um Programa

Page 16: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

16

Program Menor_Valor;Var a, b, c, menor : integer; {declarando as variáveis}Begin read(a,b,c); {leitura dos valores} if a < b and a < c then {procurando o menor} menor := a else if b < c then menor := b else menor := c; write(‘O menor valor é ’,menor) {escrevendo o menor}End.

Exercício de Fixação (resolução)

Page 17: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

17

Comando Case

Algumas vezes o programa contém um código mutuamente exclusivo, onde um determinado comando é executado e os demais não o serão.Para estas situações existe o comando seletivo que executa o código alvo e prossegue a execução após o final do comando (seu respectivo end)

Forma Geralcase <seletor> of alvos : comando; alvos : comando;end;

Exemplo:case (v_suco) of 1: write(‘laranja’); 2: write(‘abacaxi’); 3: write(‘banana’);end;

Elaborando um Programa

Page 18: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

18

Função readkey

• Faz a leitura imediata de um caractere do teclado, armazenando o valor do caractere pressionado em uma variável do tipo char

• Não apresenta na tela o caractere pressionado

Exemplo:

Program Ler;

Uses wincrt;

Var c : char;

Begin

writeln (´Pressione uma tecla´);

c := readkey;

writeln (´A tecla é “´,c,´ ” com valor ASCII ´,ord(c));

End.

Elaborando um Programa

Page 19: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

19

A execução de um programa elaborado em Pascal é apresentado em uma janela com tamanho padrão. Este tamanho era fixo no ambiente DOS, mas agora, na versão para Windows, ela efetua a rolagem na janela, quando necessário (extrapola o tamanho padrão de apresentação).

Para aproveitar melhor toda a janela, sem usar a rolagem, trabalha-se com uma dimensão de 24 linhas, por 71 colunas.

Linhas (1 => 24)

Colunas (1 => 71)

Informe sua idade32

Sua fase é adulta

TELA DE SAÍDA OU DE EXECUÇÃO

Page 20: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

20

Conhecendo as medidas da janela de saída pode-se trabalhar melhor a execução de um programa (layout de saída).

Com este intuito, é usado o comando gotoxy que permite o posicionamento correto na janela de execução.

Comando gotoxy

Posiciona o cursor na tela de execução (vídeo). Sua localização é fornecida por meio da indicação de dois parâmetros: a coluna e a linha.

gotoxy(x,y); {x=> coluna , y=>linha}

TELA DE SAÍDA OU DE EXECUÇÃO

Page 21: Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com Universidade.

Paradigmas de Programação - prof Gláucya Carreiro Boechat

21

Program Tela;Uses WinCrt;Var j : integer; inicial,final : char;Begin clrscr; gotoxy(30,11); write('Programa em execução!! '); gotoxy(1,24); write('Pressione uma tecla para encerrar o programa e

fechar a janela '); readkey;End.

Exemplo