Laboratório de Programação (DPADF 0063) -...
Transcript of Laboratório de Programação (DPADF 0063) -...
![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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/1.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/2.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/3.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/4.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/5.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/6.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/7.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/8.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/9.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/10.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/11.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/12.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/13.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/14.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/15.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/16.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/17.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/18.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/19.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/20.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/21.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/22.jpg)
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 ...](https://reader033.fdocumentos.tips/reader033/viewer/2022052306/5cc4fc8d88c993296f8cec02/html5/thumbnails/23.jpg)
Exercícios para fixação
http://www.cafw.ufsm.br/~bruno/disciplinas/lab_programacao/exercicios/lista1.html