laboratório de programação (dpadf 0063) -...

23
Laboratório de Programação (DPADF 0063) Aula 2 Características Básicas da Linguagem Pascal Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno

Upload: vuongminh

Post on 28-Apr-2019

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Laboratório de Programação

(DPADF 0063)Aula 2 – Características Básicas da Linguagem Pascal

Universidade Federal de Santa Maria

Colégio Agrícola de Frederico Westphalen

Curso Superior de Tecnologia em Sistemas para Internet

Prof. Bruno B. Boniati – www.cafw.ufsm.br/~bruno

Page 2: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Características

Page 3: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Estrutura básica de um programa

PASCAL

program nome_programa;

uses crt; //bibliotecas

var //Declaração de variáveis

instituicao : string;

cont : integer;

begin //Início do programa

instituicao := “UFSM”;

write(instituicao);

end.

Page 4: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Básico da Linguagem

• Comentários (indicam a intenção do código)

x := 13; //atribui 13 à variável x

{este é um comentário de bloco

usado quando tem mais de uma

linha para comentar}

• Instruções

▫ Programas, procedimentos e funções são todos

compostos por instruções;

▫ Instruções são sempre terminadas por “;” (ponto-e-vírgula)

e última instrução é terminada por “.” (ponto final);

Page 5: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Instruções podem ser ...

• Simples

write('UFSM');

• Compostasif (a > 100) then

write('O valor é maior que 100')

else

write('Valor inferior a 100');

Page 6: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Operadores

• Atribuição (dois pontos + igual)

x := 40; //atribui 40 à variável x

• Igualdade (igual)

if x = 40 then; //testa o valor de x

write(„Quarenta');

Page 7: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Numéricos

Operador Operação

+ Adição

- Subtração

* Multiplicação

/ Divisão

div Divisão de inteiros

mod Resto da divisão

Page 8: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

RelacionaisOperador Operação

= igual

<> não igual

< menor que

> maior que

<= menor ou igual

>= maior ou igual

not negação

and e lógico

or ou lógico

Page 9: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Precedência dos Operadores

Precedência Operador

1º ( ) Parêntesis mais internos

2º Funções

3º NOT (relacional)

4º *, /, DIV, MOD (numéricos)

AND (lógico)

5º +, - (numéricos)

OR (lógico)

6º >,>=,<,<=,= (operadores relacionais)

Page 10: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Tamanhos, faixas de valores, exemplos

Page 11: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Tipos de Dados Inteiros

Tipo Tamanho Faixa de Valores

shortint 1 -128..127

byte 1 0..255

integer 2 -32768..32767

word 2 0..65535

longint 4 -2147483648..2147483647

cardinal 4 0..4294967295

Page 12: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Tipos de Dados Reais(ponto flutuante)

Tipo Faixa Dígitos Tamanho

(bytes)

single 1,5-45 .. 3,438 7-8 4

real 2,9-39 .. 1,738 11-12 6

double 5-324 .. 1,7308 15-16 8

comp -9,218 .. 9,218 19-20 8

extended 3,4-4932 .. 1,14932 19-20 10

Page 13: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Tipos Texto(caracteres)

• Char▫ Um único caractere ASCII;

• String▫ Texto alocado dinamicamente limitado a 255

caracteres;

Page 14: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Tipos Booleanos(lógicos)

• true▫ Verdadeiro

A B not A A and B A or B

false false true false false

false true true false true

true false false false true

true true false true true

• false▫ Falso

Page 15: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Comandos de entrada e saída

Page 16: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

E/S – Entrada e Saída

• Comando de Leitura (Entrada)

program TesteEntrada;

var

nome : string;

x, y : integer;

begin

read(nome);

readln(x);

readln(y);

end.

Page 17: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

E/S – Entrada e Saída

• Comando de Impressão (Saída)

program TesteSaida;

var

nome : string;

salario : real;

begin

nome := „TESTE‟;

salario := 510.42;

write(nome);

writeln(salario:5:2); //5 espaços de tabulação e 2 casas decimais

end.

Page 18: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Dá para programar em Pascal para WEB?

Page 19: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Programando para WEB

• Um usuário, através de um navegador (browser) faz uma requisição

através de uma URL;

• O programa é executado em um servidor de páginas (Web Server);

• O resultado da execução é enviado para o navegador na forma de uma página HTML.

Page 20: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Pascal e programação para internet

• Experimente produzir um programa Pascal com o

seguinte código ...

program appWeb;

begin

writeln('Content-Type: text/html');

writeln('');

writeln('<html>');

writeln('<head><title> Testando </title></head>');

writeln('<body><h1> Pascal & Web </h1></body>');

writeln('</html>');

end.

Page 21: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Para instalar

• Você vai precisar de um servidor web instalado em

seu computador

▫ Ex. http://httpd.apache.org/

• O executável produzido você terá que colocar na pasta cgi-bin do ser servidor web

▫ No Windows, normalmente em ...

C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin

▫ No Linux, normalmente em ...

/usr/lib/cgi-bin

Page 22: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Para testar

• Acesse, através de um navegador web o endereço IP

do computador onde seu servidor web está instalado ...

Page 23: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula2... · instituicao : string; cont : integer; begin //Início do programa

Exercícios para fixação

http://www.cafw.ufsm.br/~bruno/disciplinas/lab_programacao/exercicios/lista1.html