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

Post on 22-Apr-2015

115 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

LINGUAGENS DE PROGRAMAÇÃO

PASCAL

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.

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.

PROGRAMAÇÃO ESTRUTURADA

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

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.

ESTRUTURA CONDICIONAL

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

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.

ELEMENTOS DA LINGUAGEM

ITENS FUNDAMENTAIS

CONSTANTES

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.

. 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

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

CONSTANTES LÓGICAS

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

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’ , ‘’ ‘’

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.

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.

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.

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

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

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

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

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

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

OPERADORES RELACIONAIS

= Igualdade

> Maior do que

< Menor do que

>= Maior ou igual que

<= Menor ou igual que

<> Diferente de

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.

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.

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

. 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}

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.

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

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.

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

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

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 )

COMANDOS

COMANDO SIMPLES:

READLN (NOME);

COMANDO COMPOSTO:

BEGIN

WRITELN (‘DIGITE O SEU NOME’);

READLN (NOME)

END

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 ;

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, ....

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

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.

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

{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;

{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);

{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;

{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.

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

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.

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;

top related