linguagens de programaÇÃo pascal. turbo pascal linguagem com o objetivo de ensinar programação...

45
LINGUAGENS DE PROGRAMAÇÃO PASCAL

Upload: internet

Post on 22-Apr-2015

115 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

LINGUAGENS DE PROGRAMAÇÃO

PASCAL

Page 2: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

TURBO PASCAL

Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos para implementação das estruturas fundamentais de controle.

Page 3: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

PROGRAMAÇÃO ESTRUTURADAProgramação Estruturada é uma técnica

de programação baseada no princípio de que todo algoritmo pode ser desenvolvido usando-se certas estruturas fundamentais de controle.

Page 4: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

PROGRAMAÇÃO ESTRUTURADA

Estrutura Seqüêncial Estrutura Condicional Estrutura de Iteração ( Repetição )

Page 5: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

ESTRUTURA SEQÜÊNCIAL

A Estrutura Seqüêncial é aquela caracterizada pela execução seqüêncial dos passos de um algoritmo, isto é, passo após passo.

Isto é natural em PASCAL porque os comandos são executados um após o outro, na ordem que foram codificados.

Page 6: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

ESTRUTURA CONDICIONAL

A Estrutura Condicional é o meio pelo qual podemos tomar caminhos diferentes dependendo de certa condição.

Page 7: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

ESTRUTURA DE ITERAÇÃO (REPETIÇÃO)A Estrutura de Iteração (Repetição) é usada para

repetirmos a execução de um certo procedimento (LOOP).

Esta estrutura se divide em 3 formas básicas: Repetição de um procedimento um certo número de

vezes. Repetição com teste no início, isto é, repetir

“ENQUANTO” uma certa condição for verdadeira. Repetição com teste no final, isto é, repetir “ATÉ” que

uma certa condição seja verdadeira.

Page 8: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

ELEMENTOS DA LINGUAGEM

ITENS FUNDAMENTAIS

CONSTANTES

Page 9: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

Constantes NuméricasUma constante numérica é formada por um seqüência de dígitos que: pode estar ou não precedida de um sinal positivo(+) ou negativo(-);

Ex.: 25, +3412, -315 pode estar ou não seguida de um ponto decimal(.) e outra seqüência

de dígitos; Ex.:3.14, +3421.3, 5 pode terminar ou não pela letra E seguida de outra seqüência de

dígitos. Entre a letra E e esta outra seqüência de dígitos pode existir ou não um sinal positivo(+) ou negativo(-). Ex.:7.8E3, -315.21E-3, +53E+4

As constantes numéricas podem ser de dois tipos: inteiras ou reais.

Page 10: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

. CONSTANTES INTEIRAS

São números inteiros compreendidos num intervalo, dependente da implantação da linguagem no nosso caso entre: -32768 a 32767.

Exemplos: 21345, -21345, 2, +2, -2, 90, +90

Page 11: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

CONSTANTES REAIS

São os números reais compreendidos em certos intervalos no nosso caso entre (-10 -37 a -10 37 e 10 -37 a 10 37 )

e representados com uma determinada precisão (por exemplo: 6 ou 7 algarismos significativos).

Exemplo:

3.1421, -8.16E-9, 2345.34, 0.0

Page 12: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

CONSTANTES LÓGICAS

São representadas pelas palavras TRUE e FALSE e são denominadas constantes booleanas.

Page 13: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

CONSTANTES LITERAIS

Pré-definidas na linguagem PASCAL, são formadas por uma seqüência de caracteres aceitos pela implantação da linguagem, incluindo as 26 letras do alfabeto latino, os 10 algarismos arábicos, o espaço em branco e outros caracteres disponíveis no computador. Num programa em PASCAL as constantes literais são representadas pelos caracteres correspondentes colocados entre apóstrofos (‘).

Exemplos: ‘EXEMPLO.01’ , ‘*’ , ‘12345’ , ‘’ ‘’

Page 14: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

VARIÁVEIS Variáveis é um nome (rótulo) dado a uma

parte da memória, e que pode ser alterado durante a execução do programa.

O nome de uma variável (identificador) é formado por uma única letra ou então por uma letra seguida de letras ou dígitos em qualquer quantidade.

Porém, para dois identificadores serem considerados distintos deve haver diferença entre os seus oito primeiros caracteres pelo menos.

Page 15: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

VARIÁVEIS

Não é permitido o uso de espaço em branco ou de qualquer outro caracter que não seja letra ou dígito exceto o sublinha ( _ ) na formação de um identificador.

Na linguagem PASCAL não há distinção entre letras maiúsculas e minúsculas ( IDENTI = identi ).

Exemplos: A, NOTA, nota, matrícula, X5, A32B, ETC, Etc, nota_prova.

Page 16: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

PALAVRAS RESERVADAS

Alguns identificadores só podem ser usados com um sentido pré-fixado na linguagem e por isso mesmo são denominados palavras reservadas ou palavras chaves.

Page 17: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

As palavras reservadas do PASCAL são as seguintes:

AND INT NIL SET

ARRAY FILE NOT THEN

BEGIN FOR OF TO

CASE FUNCTION OR TYPE

CONST GOTO PACKED UNTIL

DIV IF PROCEDURE VAR

DO IN PROGRAM WHILE

DOWNTO LABEL RECORD WITH

ELSE MOD REPEAT

Page 18: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

Existem, ainda, identificadores que possuem na linguagem PASCAL um significado pré-definido, mas que não são palavras reservadas, como por exemplo:

INPUT, OUTPUT, INTEGER, REAL, READ, WRITE

Page 19: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

OPERADORES ARITMÉTICOS

São símbolos que indicam as operações aritméticas:+ Adição

- Subtração

* Multiplicação

/ Divisão Real

DIV Divisão Inteira

MOD Resto da Divisão Inteira

Page 20: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

EXEMPLOS

2 + 5 o resultado é 7

2 + 3 * 3 o resultado é 11

(2 + 3) * 3 o resultado é 15

11 DIV 4 o resultado é 2

11 MOD 4 o resultado é 3

Page 21: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

OPERADORES LÓGICOS

BINÁRIO– AND Conjunção ( as duas ao mesmo tempo )– OR Disjunção Inclusiva– XOR Disjunção Exclusiva ( uma das

duas )

UNÁRIO– NOT Negação

Page 22: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

TABELA VERDADE

AND V F OR V FV V F V V VF F F F V F

XOR V FV F VF V F

Page 23: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

OPERADORES RELACIONAIS

= Igualdade

> Maior do que

< Menor do que

>= Maior ou igual que

<= Menor ou igual que

<> Diferente de

Page 24: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

EXPRESSÕES ARITMÉTICAS

As expressões aritméticas são escritas linearmente, usando-se a notação matemática com as seguintes restrições:– O sinal de multiplicação é indicado com asterisco (*)

e nunca deve ser subentendido.

– A divisão é indicada com a barra (/).

– Não existe sinal para a potenciação e a radiciação, devendo-se indicá-las com combinações de produtos ou funções pré-definidas.

Page 25: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

EXPRESSÕES ARITMÉTICAS Prioridade entre as operações são:

• expressões entre parênteses.

• multiplicações ou divisões ou DIV ou MOD.

• somas e ou subtrações.

Numa expressão quando houver cálculos envolvendo operações de mesma prioridade, os mesmos serão efetuados da esquerda para direita executando a operação que aparecer em primeiro lugar.

Page 26: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

EXPRESSÕES ARITMÉTICAS DIV e MOD são operadores que só podem ser aplicados com

operandos inteiros dando, respectivamente o quociente inteiro (obtido por divisão e truncamento, sem arredondamento) e o resto inteiro da divisão entre operandos.

)Uma expressão que só tenha operandos inteiros e operadores *, MOD, DIV, + e - terá como resultado um valor inteiro. Se, pelo menos, um dos operandos for real será real.

)O operador / sempre conduz a um resultado do tipo real, mesmo que os dois operandos sejam inteiros.

Exemplo:

A - B * ( C + D / ( E - 1 ) - F ) + G

Page 27: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

. EXPRESSÕES LÓGICAS São expressões cujos operadores são

operadores lógicos e cujos operandos são relações e/ou variáveis do tipo lógicos. O resultado da relação é sempre “False” ou “True”.

Exemplos:– ( D + C = 0 ) AND ( G <> 1 )– TESTE OR ( A * C > B )

{TESTE = FALSE - variável lógica}

Page 28: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

FUNÇÕES NUMÉRICAS PRÉ-DEFINIDAS

Existe na linguagem PASCAL algumas funções pré-definidas, também denominadas funções de Bibliotecas, as quais têm prioridade sobre qualquer operação dentro de uma expressão.

Page 29: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

Nome Resultado Tipo de Resultado

LN (expressão) Logaritmo nepereano de expressão real

EXP (expressão) Número “e” elevado a expressão real

ABS (expressão) Valor absoluto de expressão real ou inteiro

TRUNC (expressão) Trunca o valor de expressão inteiro

ROUND (expressão) Arredonda o valor real de expressão inteiro

SQR (expressão) Quadrado de expressão real ou inteiro

SQRT(expressão) Raiz quadrada de expressão real

SIN (expressão) Seno de expressão real

COS (expressão) Cosseno de expressão real

ARCTAN (expressão) Arco tangente de expressão real

FUNÇÕES NUMÉRICAS PRÉ-DEFINIDAS

Page 30: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

FUNÇÕES NUMÉRICAS PRÉ-DEFINIDAS

As funções ABS e SQR podem receber um argumento real ou inteiro e produzem respectivamente resultado real ou inteiro. As funções TRUNC e ROUND recebem argumento real e produzem resultado inteiro. As demais recebem argumentos reais ou inteiros e produzem resultados reais.

Page 31: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

TIPOS DE DADOS Tipo de dados é um conjunto finito de valores.

Um dado pertence a este tipo, se este dado pertence a este conjunto.

Page 32: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

TIPOS DE DADOS

Em PASCAL, existem os tipos padrão e os tipos criados pelo programador. Os tipos padrão são os seguintes:NOME DO TIPO VALORES

Integer (inteiros) -32768 ... +32767

Real 1*10 (elevado a -38) ... 1*10 (elevado a 38)

Char qualquer caracter da tabela ASCII, escrito entre

apóstrofos

String conjunto de caracteres escrito ente apóstrofos

Boolean ( true - false )

Page 33: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

COMANDOS

COMANDO SIMPLES:

READLN (NOME);

COMANDO COMPOSTO:

BEGIN

WRITELN (‘DIGITE O SEU NOME’);

READLN (NOME)

END

Page 34: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

ATRIBUIÇÃO DE VALORES

Atribuição de valores às variáveis em PASCAL tem a seguinte sintaxe:

< IDENTIFICADOR> : = <EXPRESSÃO>

onde: identificador - é o nome da variável

: = - é denominado operador de atribuição

expressão - é uma expressão dos tipos definidos

Exemplo:

A : = 3 * B + C ;

Page 35: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

SAÍDA DE DADOS

WRITELN ( item, item, .... );

Este comando escreve todas as informações e quando acabar ele pula para a linha seguinte.

WRITE ( item, item, .... );

Este comando escreve as informações e permanece na mesma linha.

Para itens numéricos é possível especificar o tamanho do campo de saída:

.... item : N1:N2, item, ....

Page 36: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

Exemplos:WRITELN (‘3 + 4 * ( 8 - 32.8 ) = ‘, 3 + 4 * ( 8 - 32.8 ));

Quando este comando for executado irá imprimir:

3 + 4 * ( 8 - 32.8 ) = -9.6200000000E+01

Especificando o tamanho do campo de saída:

WRITELN (‘3 + 4 * ( 8 - 32.8 ) = ‘, 3 + 4 * ( 8 - 32.8 ) : 5: 3);

Quando este comando for executado irá imprimir:

3 + 4 * ( 8 -32.8 ) = -96.20

Page 37: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

ENTRADA DE DADOS ( VIA TECLADO )

READ ( < lista de variáveis > ); Este comando lê todas as informações contidas na

<lista de variáveis> e permanece na mesma linha, não se recomenda o uso deste comando com variaveis do tipo string e charREADLN ( < lista de variáveis > );

Este comando lê todas as informações contidas na <lista de variáveis> e quando termina pula para a linha seguinte.

A <lista de variáveis> é uma lista de nome de variáveis, separados por vírgula.

Page 38: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

Etapas de um programa

1. Cabeçalho2. Definição de tipos de variaveis3. Estrutura do programa principal

3.1. Início 3.2. Entradas de Dados 3.3. Cálculos 3.4. Saída de Dados 3.5. Fim

Page 39: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

{programa para calcular a area e o perimetro do retangulo, do triangulo retangulo e do círculo programa feito em sala de aula no dia 05/03/2004}

{cabecalho do programa}

program areas;

uses wincrt; {declaração necessária para o funcionamento da e/s do tpw}

{delaracao dos tipos de identificadores}

var

lr1, lr2, lt1, lt2, lt3, ht, rc: real;

ar, pr, at, pt, ac, pc: real;

Page 40: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

{corpo do programa principal}begin {entrada de dados} write (' Insira o valor do 1º lado do retangulo '); readln (lr1); write (' Insira o valor do 2º lado do retangulo '); readln (lr2); write (' Insira o valor do 1º lado do triangulo '); readln (lt1); write (' Insira o valor do 2º lado do triangulo '); readln (lt2); write (' Insira o valor do 3º lado do triangulo '); readln (lt3); write (' Insira o valor da altura do triangulo '); readln (ht); write (' Insira o valor do raio do circulo '); readln (rc);

Page 41: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

{calculo da area e do perimetro do retangulo}

ar := lr1 * lr2;

pr := 2 * (lr1 + lr2);

{calculo da area e do perimetro do triangulo}

at := lt2 * ht / 2;

pt := lt1 + lt2 + lt3;

{calculo da area e do perimetro do circulo}

ac := pi * rc * rc;

pc := 2 * pi * rc;

Page 42: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

{saida de dados} writeln (' A area do retangulo e ',ar:6:3); writeln (' O perimetro do retangulo e ',pr:6:3); writeln; writeln (' A area do triangulo e ',at:6:3); writeln (' O perimetro do triangulo e ',pt:6:3); writeln; writeln (' A area do circulo e ',ac:6:3); writeln (' O perimetro do circulo e ',pc:6:3); writeln; {encerramento do programa} writeln; writeln (‘ Digite qualquer tecla? '); readkey; donewincrt;end.

Page 43: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

Execução do Programa

Compile o programa (Compile/compile)– Se houver erros de digitação arrume-os

Execute o programa (Run/run)– Se houver erros de run-time arrume-os– Senão rode o programa colocando os

dados usados na simulação do algoritmo, não se esqueça de verificar todas as possibilidades de respostas do programa

Page 44: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

CONDICIONAIS

COMANDO IFSintaxe: IF <condição> THEN

comando1

ELSE

comando2;

Onde: <condição> é uma condição que pode ser Falsa ou Verdadeira.

Comando1, Comando2 pode ser simples (representa apenas um comando a ser executado), ou composto (representado por comandos simples ou compostos, escritos entre delimitadores “BEGIN” e “END”), e separados entre si por “;”.

ELSE esta parte do comando é opcional, isto é, se o programador não quiser utilizá-lo, ele poderá omití-lo.

Page 45: LINGUAGENS DE PROGRAMAÇÃO PASCAL. TURBO PASCAL Linguagem com o objetivo de ensinar programação por ter fácil aprendizado, possuir comandos específicos

Exemplos:.Exemplo com comandos compostos:

IF X < 2 THEN

BEGIN

X := X * 3;

END

ELSE

BEGIN

X := X / 3;

WRITELN(X);

END;

Exemplo com comando simples:IF X>0 THEN

X := X + 3

ELSE

X := X - 3;