Sei sulla pagina 1di 35

Introduo a Pascal

Introduo Lgica de Programao

Algoritmos
Sequncia de instrues que especifica os passos para a resoluo de um problema ou realizao de uma tarefa.

Lgica de Programao
Raciocnio que visa ao desenvolvimento de algoritmos. Dado um problema, determinar uma seqncia de instrues para um processador tal que, fornecidos os dados de entrada, a execuo da seqncia de instrues redunde como sada a soluo do problema. Pseudocdigo
Sem formalismo rgido

Linguagens de Alto Nvel


Linguagens que utilizam caracteres, palavras e expresses de um idioma, ou seja, uma linguagem cujos smbolos bsicos e cujas palavras esto no nosso cotidiano. Pascal, C, Delphi, Visual Basic, Java e C+ +.

Linguagens de Alto Nvel


Um algoritmo escrito numa linguagem de alto nvel chamado programa fonte ou simplesmente programa. Um programa fonte deve ser traduzido para a linguagem de mquina
Interpretadores Compiladores

Linguagens de Alto Nvel


Sintaxe
Conjunto de regras preestabelecidas que determinam como cada instruo deve ser escrita

Semntica
Ao resultante da execuo de uma instruo

Pascal
Linguagem de programao desenvolvida em 1970 por Niklaus Wirth Simples para estimular boas prticas de programao Linguagem usada para ensino de programao Linguagem imperativa Compilada

Pascal
Tipos primitivos de dados Constantes e variveis Expresses lgicas e aritmticas, precedncia entre operadores Identificadores, smbolos especiais, nmeros, cadeias de caracteres Comandos de atribuio Comandos de entrada e sada Estruturas de deciso Estruturas de repetio

Hello World em Pascal


program Hello; begin writeln ('Hello, world.'); end.

Estrutura Bsica
program ProgramName; uses (* declarao de bibliotecas usadas *) const (* declarao de constantes *) type (* declarao de tipos *) var (* declarao de variveis *) (* definies de procedimentos e funes *) begin (* programa principal *) end.

Variveis
var Lista de identificadores: tipo de dado; var Quant: integer; Num, Soma, Media: real; Falhou: boolean; Resposta: char;

Contantes
Uma constante armazena um valor fixado pelo programa que no pode ser alterado durante sua execuo.
const Identifier1 = value; Identifier2 = value; Identifier3 = value; const nome = claudio'; primeiraLetra = 'c'; ano = 2008; pi = 3.1415926535897932; achou = TRUE; a : real = 12;

Identificadores
Seqncia de letras, dgitos e caractere para sublinhamento O primeiro caractere do identificador no pode ser um dgito Palavras reservadas
Uso -> Erro sinttico

No diferencia minsculas e maisculas

Identificadores
Palavras reservadas

Tipos de Dados
char: letras, dgitos e caracteres especiais como :, ?, e * shortint: nmeros inteiros do intervalo [-128, 127] integer: nmeros inteiros do intervalo [32768, 32767] longint: nmeros inteiros do intervalo [-2147483648, 2147483647] byte: nmeros inteiros do intervalo [0, 255] word: nmeros inteiros do intervalo [0, 65535] real: nmeros reais do conjunto [3,4x1038, 3,4x1038] boolean: conjunto dos valores false (falso) e true (verdadeiro)

Comentrios
(* isso um comentrio *) { isso um comentrio }

Expresses aritmticas
+ : adio - : subtrao * : multiplicao / : diviso div : quociente : ex: 30 div 7 = 4, 5 div 7 = 0 mod : resto : 30 mod 7 = 2, 5 mod 7 = 5 Parnteses

Ex: 2 + (3 * 4) Precedncia
() operador unrio div, mod, *, / +, -

Expresses Relacionais
> maior do que >= maior do que ou igual a < menor do que <= menor do que ou igual a = igual <> diferente

3 > 5 resulta false 7 <= 7 resulta true 3*4 - 5 < 2*3 - 4 resulta false

Expresses Lgicas
and or not operadores relacionais tm prioridade mais baixa que os operadores lgicos not (5 > 3) or (5 < 3)
false

Comando de Atribuio
Identificador de varivel := expresso; a := 2.8; b := a*a/2;

Entrada e Sada de Dados


readln(lista de identificadores); read(lista de identificadores); writeln(lista de identificadores/Expresso/Mensagem); write(lista de identificadores/Expresso/Mensagem);

program TesteEntradaSaida; var c: char; begin writeln('Digite um caractere'); readln(c); writeln('Voce digitou ', c, '.'); end.

Entrada e Sada de Dados


program MediaDe3; var a, b, c : real; begin write('Digite trs nmeros reais: '); readln(a, b, c); writeln('A mdia dos nmeros ', a,' , ', b , ' e ', c, ' ', (a + b + c) / 3) ); end.

Digite trs nmeros reais: 8.43 6.1 13.145 A mdia dos nmeros 8.4300000000E+00, 6.1000000000E+00 e 1.3145000000E+01 9.2250000000E+00

Entrada e Sada de Dados


writeln(a:20:2); writeln; writeln(b:20:2); writeln; writeln(c:20:2);

exibe na tela
1.25 567.89 42.46

Exemplo
program converteC2F; var celsius, fahrenheit: real; begin readln(celsius); fahrenheit := (9*celsius)/5 + 32; writeln (fahrenheit:0:2); end.

Exerccio
Escreva um programa em Pascal que determine o algarismo da casa das unidades de um inteiro fornecido pelo usurio.

Exerccio
{Programa que determina o algarismo da casa das unidades de um inteiro} program AlgarismoDasUnidades; var n, Unid : integer; begin writeln('Digite um inteiro'); readln(n); Unid := n mod 10; writeln('O algarismo das unidades de ', n, ' ', Unid); end.

Exerccio
Escreva um programa em Pascal que inverta um nmero com dois algarismos.

Exerccio
{Programa que inverte um nmero com dois algarismos} program InverteNumeroComDoisAlgarismos; var n, Inv, Unid, Dez : integer; begin writeln('Digite um inteiro com dois algarismos'); readln(n); Unid := n mod 10; Dez := n div 10; Inv := Unid * 10 + Dez; writeln('O invertido de ', n, ' ', Inv ); end.

Exerccio
Escreva um programa em Pascal que permute os contedos de duas variveis.

Exerccio
{Programa que permuta os contedos de duas variveis} program Troca; var x, y, Xant, Yant : real; begin readln(x, y); writeln('Entrada: x = ', x, ' e y = ', y); Xant := x; Yant := y; x := Yant; y := Xant; writeln('Saida: x = ', x, ' e y = ', y); end.

Exerccio
{Programa que permuta os contedos de duas variveis} {com apenas uma varivel auxiliar} program Troca; var x, y, Aux : real; begin readln(x, y); writeln('Entrada: x = ', x, ' e y = ', y); Aux := x; x := y; y := Aux; writeln('Saida: x = ', x, ' e y = ', y); end.

Algumas Funes Predefinidas


Funes da unidade System

Funes Predefinidas
Outras unidades -> depende do compilador. program LimpaTela; uses Crt; begin ClrScr; end.

Exemplo
Programa em Pascal que determina a rea de um tringulo de lados de comprimentos dados a rea do tringulo cujos lados tm comprimentos x, y e z dada por

onde

o semipermetro do tringulo

Exerccio
{Programa que determina a rea de um tringulo a partir de seus lados} program AreaTriangulo; var a, b, c, SemiPer, Area : real; begin writeln('Digite os lados do tringulo'); readln(a, b, c); SemiPer := (a + b + c)/2; Area := SqrT(SemiPer*(SemiPer - a)*(SemiPer - b)*(SemiPer - c)); writeln('rea do tringulo = ', Area); end.

Potrebbero piacerti anche