SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
APÊNDICE A - FUNDAMENTOS DA LINGUAGEM DE
PROGRAMAÇÃO PASCAL.
1 . INTRODUÇÃO
       Este apêndice tem o objetivo de fornecer as regras básicas para
transformar algoritmos (em Natural) em programas (em PASCAL).
Um programa Pascal é constituído por três áreas distintas, o
cabeçalho, as declarações e as instruções. A forma geral de um
programa Pascal obedece o seguinte formato:


                        PROGRAM nome_do_programa ;
                               <declarações de forma geral>
                               <rotinas>
                               BEGIN
                                      <comando_1>;
                                      <comando_2>;
                                      .............
                                      <,comando_n>;
                               END.
2 - ITENS SINTÁTICOS EM PASCAL
2.1 - SÍMBOLOS (Capítulo 2, Item 2.2.1)

 LETRAS: A B C ... U W V X Y Z (MAIÚSCULAS ou minúsculas)
 DÍGITOS: 0 1 2 ... 9
 Operadores :
      Relacionais : < , < =, > , > = , = e <>
      Aritméticos : + , - , * , / , DIV MOD
      Lógicos : AND, OR, NOT
      Outros : IN , + (concatenação de cadeias)
Caracteres especiais : ‘ ( ) , . : := ; [ ]           { } .. < >


OBS: Os símbolos anteriormente citados não constituem uma lista
exaustiva dos disponíveis na linguagem Pascal.
2.2 - Identificadores

- denotam constantes, tipos, variáveis, procedimentos, funções ,
unidades (unit) e programas
Os identificadores obedecem as seguintes regras de formação:
• Tamanho : até 6 4 caracteres alfanuméricos (reconhecidos).
• O primeiro caracter é obrigatoriamente uma letra.
• Pode ser também utilizado o caracter de quebra ( _ ).


2.2.1 Identificador “CONSTANTES”.
Pode- se utilizar constantes como habitualmente usa-se, ou seja,
inserindo no corpo do programa ou declarando através de
expressões que definem seu conteúdo , por exemplo :
           CONST
                 kbyte = 1024 ;
                 pi     = 3.1416;
                 sim    = TRUE;
As constantes assumem o tipo de seu conteúdo mas , pode serem
tipadas.


           CONST
                 s : STRING[12] = ‘LITERAL’;

2.2.2 Identificador “VARIÁVEIS”


Tipos de Variáveis Pré-definidos.


As variáveis podem ser classificadas em quatro tipos : Numéricas,
Alfanuméricas e Lógicas.


No pascal recebem a seguinte terminologia:
BOOLEAN, CHAR , INTEGER, LONGINT , REAL e STRING.
A declaração de variáveis tem a seguinte sintaxe :
              VAR
                    nome_da_variável [, nome_da_variável.....] : tipo;
                    .........
                    nome_da_variável[, nome_da_variável.....]:tipo;
por exemplo:
      VAR
      valor_1, valor_2 : real ; { [2.9 E –39, 1.7 E 38] }
      resp               : char ; { 1 Byte}
      quant             : integer ; {[ 32768 , 32767] }
      n                 : longint ; { [ -2147483648 , 2147483647 ]}
      palavra           : string[20] ; { 2 a 256 Bytes }
      logica            : boolean ; { 1 Byte TRUE/FALSE}

2.3 – COMPILAÇÃO

COMPILAÇÃO SEM ERRO:

A Tradução dos comandos dos para a linguagem de máquina é feita, verificando
para cada comando se foram observadas as regras que limitam as construções
dos mesmos. Caso alguma regra tenha sido desobedecida, o programa
Compilador fornecerá a descrição do erro detectado e passará a traduzir o
próximo comando. Ao atingir o comando END, o Compilador saberá que
terminaram os comandos a traduzir.
      Caso todos os comandos tenham sido traduzidos para a linguagem de
máquina com sucesso, isto é, nenhum erro foi cometido, o programa estará apto
a ser executado, Todos estes passos podem ser realizados através das teclas
CTRL mais a tecla de função F9. A execução é começada pelo primeiro
comando executável, neste caso, pelas especificações de tipo de variáveis. A
execução prossegue lendo, imprimindo, calculando, conforme os comandos
ordenados, até atingir o comando END quando o computador pára o programa,


COMPILAÇÃO COM ERRO
       Se, ao atingir o comando END o compilador detectou algum erro, o
computador devolve ao usuário uma listagem do programa com a indicação
do(s) erro(s) cometido(s), para que se providencie as correções.
(Rever - ETAPAS DO PROCESSAMENTO DE UM PROGRAMA).
.
Exemplo
a) Em NATURAL
ALGORTIMO ANEL
NUMHORAS : INTEIRA
RAIOEXT, RAIOINT, SALARIO, SALBRU : REAL
ALTURA, LARGURA, COMPRIM : REAL
NOME*30, CIDADE*20 : CADEIA
b) Em PASCAL
 PROGRAM ANEL;
 VAR
  NUMHORAS: INTEGER;
  RAIOEXT,RAIOINT,SALÁRIO,SALARIOBRU:REAL;
  ALTURA,LARGURA,COMPRIMENTO:REAL;
  CIDADE:STRING[20];
  NOME:STRING[30];

4 - ESTRUTURA DE SEQUÊNCIA EM PASCAL

     A estrutura de sequência é constituída por um conjunto de comandos de
ENTRADA, SAÍDA, ATRIBUIÇÃO e COMENTÁRIO, que são executados na
ordem em que são escritos.
a) Comando de ENTRADA em PASCAL .
       Comandos de Entrada.
Este procedimento permite a entrada de dados oriunda de diversos
dispositivos . O dispositivo padrão de entrada é o console ( teclado)
sua sintaxe geral é :
            READLN ([ var <f>: TEXT; ,v1. [,v2....,,vn.] );


exemplos:
                  READLN (S );
                  READLN (A,B);

EXEMPLOS
- LEIA, CIDADE, ESTADO, HABIT ---> READ(CIDADE, ESTADO, HABIT)
- LEIA, RAIOEXT, RAIOINT --------> READLN(RAIOEXT, RAIOINT)
b) Comando de SAÍDA em PASCAL
Procedimento que permite escrever em um dispositivo de saída, sua
sintaxe geral é :
            WRITE ( [varf : text,] v1 [,v2....., vn]);


a princípio usaremos somente o dispositivo padrão de E/S , ou seja ,
a CONSOLE (vídeo + teclado). Este comando imprime e mantém o
cursor onde ele parou.


Outro procedimento é WRITELN, que é idêntico ao anterior exceto
que ele e imprime a linha corrente e posiciona o cursor no início da
próxima linha.
EXEMPLOS
- ESCREVA, "RAIO EXTERNO .....:", RAIOEXT, "CM"
      ------> WRITELN(‘RAIO EXTERNO .....:’, RAIOEXT, ‘CM’)
- ESCREVA, "DEVO ESTUDAR COMPUTACAO"
      ------> WRITELN(‘DEVO ESTUDAR COMPUTACAO’)
Obs: Para exibir uma mensagem de texto deve-se usar apóstrofo, em lugar de
aspas, no comando WRITE.
Considere o seguinte segmento de programa:
                   A := 1;
                   B := 2;
                   C:= 3;
                   D:=10;
                   E:= 2;
            F:=100;
            X := 42.51;
            MATERIA := ‘COMPUTACAO’;
            WRITELN (A,B,C);                      {123}
            WRITELN (A,’ ‘,B,’ ‘,C);              {1 2 3}
           WRITELN (‘A’,MATERIA); {ACOMPUTACAO}
            WRITELN (‘A ’,MATERIA); {A COMPUTACAO}
            WRITELN (D,E,F);                      {102100}
            WRITELN (D:2,E:2,F:2);                {10 2100}
WRITELN (D:3,E:3,F:3);                 { 10 2100}
               WRITELN (D,E:2,F:4);                   {10 2 100}
               WRITELN (X);                           {4.2510000000E+01}
               WRITELN (X:5:3);                       {42.51}

c) Comando de ATRIBUIÇÃO em PASCAL
      A maioria das operações básicas são comandos de atribuição
cuja a sintaxe é:
                      identificador := expressão ;
         Em Natural: variável := expressão
         Em PASCAL: idêntico
d) Comando de COMENTÁRIO em PASCAL
         Em Natural: C comentário (C na primeira coluna da linha)
         Em PASCAL : (* *) ou { }


EXEMPLO DE ALGORITMO COMPLETO EM PASCAL (USANDO ESTRUTURA
DE SEQUÊNCIA)
PROGRAM VERIFICA;
                      VAR
                             A,B : INTEGER;
                             TESTE : BOOLEAN;
                      BEGIN
                             WRITE (‘Entre com dois números : );
                             READLN (A,B):
                             TESTE := A > B;
                             WRITELN (‘A É MAIOR QUE B’, TESTE);
                      END.


REGRAS DE PRECEDÊNCIA DE OPERADORES.


1) ( )
2) - (prefixo negativo)
3) NOT
4) * / DIV MOD AND
5) + - OR


        Exemplo e considerações:


        • ALT-F5 - Exibe a tela do usuário. (após rodar um programa mostra
          os resultados).

        • Para elevar ao quadrado e extrair a raiz quadrada de um número x
          utiliza-se respectivamente (p.ex.) Q := SQR (x) ; e RQ := SQRT
          (x) ;

        • A potenciação , NX pode ser obtida usando poten := EXP (X *(LN
          N));

        PROGRAM EXPO;
                USES CRT;
                VAR
                 EXPON,X,N:REAL;
                BEGIN
                 CLRSCR;
                 READ (N,X);
                 EXPON := EXP(X* (LN(N)));
                 WRITE ('EXPONENCIAL DE ',N:5:2,' ELEVADO A ',X:5:2, ' EH
        ',EXPON:6:2);
                END.


              - Exemplo de um algoritmo transformado em um programa na linguagem
        Pascal


        algoritmo média;                                  program media;
        inteira n1, n2, n3;                               var n1, n2, n3: integer;
        real resp;                                           resp: real;
        início                                            begin
                 escreva (‘Informe 3 nros. inteiros:’);           writeln(‘Informe 3 nros.
inteiros:’);
                 leia (n1,n2,n3);;                                read(n1,n2,n3);
                 resp := n1 + n2 + n3;                            resp := n1 + n2 + n3;
                 resp := resp / 3;                         resp := resp / 3;
                 escreva (‘Media:’, resp);                 write(‘Media:’, resp);
        fim.                                              end.
- Identificadores:
        - nomes que possuem um significado no programa
        - 2 tipos:
             a) Palavras reservadas: nomes pré -definidos da LP Pascal
(comandos,              cabeçalhos, seções de declaração). Exemplos: write,
program, var, read.
            b) Definidos pelo programador: quaisquer outros nomes (de
variáveis,              constantes, nome do programa, etc.). Apresentam
algumas regras:


                               - não podem ser declarados 2 ou mais nomes iguais
                               - não podem ser uma palavra reservada



       - Organização de um programa


                a) Comentários.
                      -     úteis   na   documentação    de   programas   (melhor
compreensão)
                      - descrito entre os caracteres: { e } ou (* e *)


                b) Indentação.
                      - organização da edição (digitação) de um programa (melhor
legibilidade)
                      - envolve: separação de comandos por linhas e tabulação


           - Funções pré-definidas da linguagem Pascal.
SQR (X), SQRT(X), EXP(X), SIN(X) ,COS(X), LN(X)
TRADUÇÃO DE COMANDOS DA LINGUAGEM ALGORÍTMICA PARA A
    LINGUAGEM PASCAL
             ALGORITMO                          PROGRAMA PASCAL


    SE condição ENTÃO comando n ;   IF condição THEN comando n ;


    SE condição ENTÃO início                IF condição THEN BEGIN

     comando 1 ;                                comando 1 ;

      ...........                      ......
     comando n;                        comando n ;

    fim                             END

    SENÃO início                    ELSE BEGIN

     comando 1 ;                                   comando 1 ;

    ...........                           ......
    comando n ;                         comando n ;

    fim                                   END;


    CASO expressão                     CASE          expressão OF

       ctt1 : comando 1 / bloco                      ctt1 : comando 1/ bloco ;

       ctt2 :comando 2 / bloco            ctt2 :comando 2/ bloco ;

       ...............                    ...............
       cttn :comando m/ bloco                        cttn :comando m / bloco
;

      [SENÃO comando / bloco ]        [ ELSE comando / bloco ; ]

    FIM                               END;


    ENQUANTO condição FAÇA          WHILE condição DO

       comando / bloco;                   comando / bloco;
REPITA                          REPEAT

 comando 1 ;                                comando 1 ;

  ...........                     ......

  comando n;                      comando n ;

ATE condição                               UNTIL condição ;



PARA var de vlr1 ate vlr2 FAÇA              FOR var := vlr1    {TO /
DOWNTO} vlr2 DO
    comando / bloco;                            comando / bloco;

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Alg aula 08 - modularizacao
Alg   aula 08 - modularizacaoAlg   aula 08 - modularizacao
Alg aula 08 - modularizacao
 
5423 c ou c++
5423 c ou c++5423 c ou c++
5423 c ou c++
 
Aula6 - Linguagem C
Aula6 - Linguagem CAula6 - Linguagem C
Aula6 - Linguagem C
 
Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
 
Algoritmos computacionais
Algoritmos computacionaisAlgoritmos computacionais
Algoritmos computacionais
 
Aula c++ estruturas de dados
Aula c++   estruturas de dadosAula c++   estruturas de dados
Aula c++ estruturas de dados
 
Linguagem c parte 1
Linguagem c parte 1Linguagem c parte 1
Linguagem c parte 1
 
Comandos e expressões
Comandos e expressõesComandos e expressões
Comandos e expressões
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
 
Linguagem c parte 2
Linguagem c parte 2Linguagem c parte 2
Linguagem c parte 2
 
Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01
 
Linguagem C - Funções
Linguagem C - FunçõesLinguagem C - Funções
Linguagem C - Funções
 
Aula 4 | Funções
Aula 4 | Funções Aula 4 | Funções
Aula 4 | Funções
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Ud2
Ud2Ud2
Ud2
 
Aula01
Aula01Aula01
Aula01
 
Algumas notas sobre pascal
Algumas notas sobre pascalAlgumas notas sobre pascal
Algumas notas sobre pascal
 
Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)
 

Destacado

Weird Landscapes – one finds on Earth!
Weird Landscapes – one finds on Earth!Weird Landscapes – one finds on Earth!
Weird Landscapes – one finds on Earth!Yaryalitsa
 
Potensi lulusan smk kota semarang 2009
Potensi lulusan smk kota semarang 2009Potensi lulusan smk kota semarang 2009
Potensi lulusan smk kota semarang 2009dewi1995
 
Gamification marts 2013
Gamification marts 2013Gamification marts 2013
Gamification marts 2013Bysted
 
M. Paciello - Nel segno dell’innovazione: le campagne di pubbliche relazioni
M. Paciello - Nel segno dell’innovazione: le campagne di pubbliche relazioniM. Paciello - Nel segno dell’innovazione: le campagne di pubbliche relazioni
M. Paciello - Nel segno dell’innovazione: le campagne di pubbliche relazioniIstituto nazionale di statistica
 
Alumna maría de los ángeles mendoza martínez
Alumna maría de los ángeles mendoza martínezAlumna maría de los ángeles mendoza martínez
Alumna maría de los ángeles mendoza martínez2maria
 
LA WEB Y NUESTRA VISION INTEGRAL
LA WEB Y NUESTRA VISION INTEGRALLA WEB Y NUESTRA VISION INTEGRAL
LA WEB Y NUESTRA VISION INTEGRALNucete
 
Жеребятьев Д. Системы лояльности в кризис
Жеребятьев Д.   Системы лояльности в кризисЖеребятьев Д.   Системы лояльности в кризис
Жеребятьев Д. Системы лояльности в кризисSeilbekCardpro
 
María de los ángeles mendoza martínez
María de los ángeles mendoza martínezMaría de los ángeles mendoza martínez
María de los ángeles mendoza martínez2maria
 
Evidence of editing and drafts
Evidence of editing and draftsEvidence of editing and drafts
Evidence of editing and draftsmollyjames16
 
Daniel gil ejercicios de funciones
Daniel gil ejercicios de funciones Daniel gil ejercicios de funciones
Daniel gil ejercicios de funciones daniel_gil
 
Анализ просмотров отелей на портале TopHotels.ru российскими пользователями в...
Анализ просмотров отелей на портале TopHotels.ru российскими пользователями в...Анализ просмотров отелей на портале TopHotels.ru российскими пользователями в...
Анализ просмотров отелей на портале TopHotels.ru российскими пользователями в...ATOR
 

Destacado (20)

Ets
EtsEts
Ets
 
Weird Landscapes – one finds on Earth!
Weird Landscapes – one finds on Earth!Weird Landscapes – one finds on Earth!
Weird Landscapes – one finds on Earth!
 
India inc to see 10
India inc to see 10India inc to see 10
India inc to see 10
 
Potensi lulusan smk kota semarang 2009
Potensi lulusan smk kota semarang 2009Potensi lulusan smk kota semarang 2009
Potensi lulusan smk kota semarang 2009
 
ENG PROJECT 1
ENG PROJECT 1ENG PROJECT 1
ENG PROJECT 1
 
Gamification marts 2013
Gamification marts 2013Gamification marts 2013
Gamification marts 2013
 
M. Paciello - Nel segno dell’innovazione: le campagne di pubbliche relazioni
M. Paciello - Nel segno dell’innovazione: le campagne di pubbliche relazioniM. Paciello - Nel segno dell’innovazione: le campagne di pubbliche relazioni
M. Paciello - Nel segno dell’innovazione: le campagne di pubbliche relazioni
 
Alumna maría de los ángeles mendoza martínez
Alumna maría de los ángeles mendoza martínezAlumna maría de los ángeles mendoza martínez
Alumna maría de los ángeles mendoza martínez
 
Question 3
Question 3Question 3
Question 3
 
LA WEB Y NUESTRA VISION INTEGRAL
LA WEB Y NUESTRA VISION INTEGRALLA WEB Y NUESTRA VISION INTEGRAL
LA WEB Y NUESTRA VISION INTEGRAL
 
Doe mestres
Doe mestresDoe mestres
Doe mestres
 
Жеребятьев Д. Системы лояльности в кризис
Жеребятьев Д.   Системы лояльности в кризисЖеребятьев Д.   Системы лояльности в кризис
Жеребятьев Д. Системы лояльности в кризис
 
The reputation industry
The reputation industryThe reputation industry
The reputation industry
 
María de los ángeles mendoza martínez
María de los ángeles mendoza martínezMaría de los ángeles mendoza martínez
María de los ángeles mendoza martínez
 
AW Post show_final
AW Post show_finalAW Post show_final
AW Post show_final
 
Evidence of editing and drafts
Evidence of editing and draftsEvidence of editing and drafts
Evidence of editing and drafts
 
Indices 13 mar2013051237
Indices 13 mar2013051237Indices 13 mar2013051237
Indices 13 mar2013051237
 
Daniel gil ejercicios de funciones
Daniel gil ejercicios de funciones Daniel gil ejercicios de funciones
Daniel gil ejercicios de funciones
 
Анализ просмотров отелей на портале TopHotels.ru российскими пользователями в...
Анализ просмотров отелей на портале TopHotels.ru российскими пользователями в...Анализ просмотров отелей на портале TopHotels.ru российскими пользователями в...
Анализ просмотров отелей на портале TopHotels.ru российскими пользователями в...
 
Novidades Legislativas Nº07 | 12/03/2013
Novidades Legislativas Nº07 | 12/03/2013Novidades Legislativas Nº07 | 12/03/2013
Novidades Legislativas Nº07 | 12/03/2013
 

Similar a Aula 6 1 linguagem pascal-parte_1

Similar a Aula 6 1 linguagem pascal-parte_1 (20)

Guia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psGuia para traducao algoritmos x l ps
Guia para traducao algoritmos x l ps
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Pascal
PascalPascal
Pascal
 
Módulo 2 pascal
Módulo 2  pascalMódulo 2  pascal
Módulo 2 pascal
 
Java2
Java2Java2
Java2
 
Introdução a programação
Introdução a programaçãoIntrodução a programação
Introdução a programação
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Estrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptxEstrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptx
 
Estruturação de Linguagens de Programação (Pascal e C++)
Estruturação de Linguagens de Programação (Pascal e C++)Estruturação de Linguagens de Programação (Pascal e C++)
Estruturação de Linguagens de Programação (Pascal e C++)
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlab
 
Aula 05 subprogramas
Aula 05   subprogramasAula 05   subprogramas
Aula 05 subprogramas
 
Algop - aula 04 pascal 1
Algop - aula 04 pascal 1Algop - aula 04 pascal 1
Algop - aula 04 pascal 1
 
Conceito de funçao e modularizaçao
Conceito de funçao e modularizaçaoConceito de funçao e modularizaçao
Conceito de funçao e modularizaçao
 
Introdução à linguagem c
Introdução à linguagem cIntrodução à linguagem c
Introdução à linguagem c
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
 

Aula 6 1 linguagem pascal-parte_1

  • 1. APÊNDICE A - FUNDAMENTOS DA LINGUAGEM DE PROGRAMAÇÃO PASCAL. 1 . INTRODUÇÃO Este apêndice tem o objetivo de fornecer as regras básicas para transformar algoritmos (em Natural) em programas (em PASCAL). Um programa Pascal é constituído por três áreas distintas, o cabeçalho, as declarações e as instruções. A forma geral de um programa Pascal obedece o seguinte formato: PROGRAM nome_do_programa ; <declarações de forma geral> <rotinas> BEGIN <comando_1>; <comando_2>; ............. <,comando_n>; END. 2 - ITENS SINTÁTICOS EM PASCAL 2.1 - SÍMBOLOS (Capítulo 2, Item 2.2.1) LETRAS: A B C ... U W V X Y Z (MAIÚSCULAS ou minúsculas) DÍGITOS: 0 1 2 ... 9 Operadores : Relacionais : < , < =, > , > = , = e <> Aritméticos : + , - , * , / , DIV MOD Lógicos : AND, OR, NOT Outros : IN , + (concatenação de cadeias) Caracteres especiais : ‘ ( ) , . : := ; [ ] { } .. < > OBS: Os símbolos anteriormente citados não constituem uma lista exaustiva dos disponíveis na linguagem Pascal.
  • 2. 2.2 - Identificadores - denotam constantes, tipos, variáveis, procedimentos, funções , unidades (unit) e programas Os identificadores obedecem as seguintes regras de formação: • Tamanho : até 6 4 caracteres alfanuméricos (reconhecidos). • O primeiro caracter é obrigatoriamente uma letra. • Pode ser também utilizado o caracter de quebra ( _ ). 2.2.1 Identificador “CONSTANTES”. Pode- se utilizar constantes como habitualmente usa-se, ou seja, inserindo no corpo do programa ou declarando através de expressões que definem seu conteúdo , por exemplo : CONST kbyte = 1024 ; pi = 3.1416; sim = TRUE; As constantes assumem o tipo de seu conteúdo mas , pode serem tipadas. CONST s : STRING[12] = ‘LITERAL’; 2.2.2 Identificador “VARIÁVEIS” Tipos de Variáveis Pré-definidos. As variáveis podem ser classificadas em quatro tipos : Numéricas, Alfanuméricas e Lógicas. No pascal recebem a seguinte terminologia: BOOLEAN, CHAR , INTEGER, LONGINT , REAL e STRING.
  • 3. A declaração de variáveis tem a seguinte sintaxe : VAR nome_da_variável [, nome_da_variável.....] : tipo; ......... nome_da_variável[, nome_da_variável.....]:tipo; por exemplo: VAR valor_1, valor_2 : real ; { [2.9 E –39, 1.7 E 38] } resp : char ; { 1 Byte} quant : integer ; {[ 32768 , 32767] } n : longint ; { [ -2147483648 , 2147483647 ]} palavra : string[20] ; { 2 a 256 Bytes } logica : boolean ; { 1 Byte TRUE/FALSE} 2.3 – COMPILAÇÃO COMPILAÇÃO SEM ERRO: A Tradução dos comandos dos para a linguagem de máquina é feita, verificando para cada comando se foram observadas as regras que limitam as construções dos mesmos. Caso alguma regra tenha sido desobedecida, o programa Compilador fornecerá a descrição do erro detectado e passará a traduzir o próximo comando. Ao atingir o comando END, o Compilador saberá que terminaram os comandos a traduzir. Caso todos os comandos tenham sido traduzidos para a linguagem de máquina com sucesso, isto é, nenhum erro foi cometido, o programa estará apto a ser executado, Todos estes passos podem ser realizados através das teclas CTRL mais a tecla de função F9. A execução é começada pelo primeiro comando executável, neste caso, pelas especificações de tipo de variáveis. A execução prossegue lendo, imprimindo, calculando, conforme os comandos ordenados, até atingir o comando END quando o computador pára o programa, COMPILAÇÃO COM ERRO Se, ao atingir o comando END o compilador detectou algum erro, o computador devolve ao usuário uma listagem do programa com a indicação do(s) erro(s) cometido(s), para que se providencie as correções. (Rever - ETAPAS DO PROCESSAMENTO DE UM PROGRAMA). . Exemplo
  • 4. a) Em NATURAL ALGORTIMO ANEL NUMHORAS : INTEIRA RAIOEXT, RAIOINT, SALARIO, SALBRU : REAL ALTURA, LARGURA, COMPRIM : REAL NOME*30, CIDADE*20 : CADEIA b) Em PASCAL PROGRAM ANEL; VAR NUMHORAS: INTEGER; RAIOEXT,RAIOINT,SALÁRIO,SALARIOBRU:REAL; ALTURA,LARGURA,COMPRIMENTO:REAL; CIDADE:STRING[20]; NOME:STRING[30]; 4 - ESTRUTURA DE SEQUÊNCIA EM PASCAL A estrutura de sequência é constituída por um conjunto de comandos de ENTRADA, SAÍDA, ATRIBUIÇÃO e COMENTÁRIO, que são executados na ordem em que são escritos. a) Comando de ENTRADA em PASCAL . Comandos de Entrada. Este procedimento permite a entrada de dados oriunda de diversos dispositivos . O dispositivo padrão de entrada é o console ( teclado) sua sintaxe geral é : READLN ([ var <f>: TEXT; ,v1. [,v2....,,vn.] ); exemplos: READLN (S ); READLN (A,B); EXEMPLOS - LEIA, CIDADE, ESTADO, HABIT ---> READ(CIDADE, ESTADO, HABIT) - LEIA, RAIOEXT, RAIOINT --------> READLN(RAIOEXT, RAIOINT) b) Comando de SAÍDA em PASCAL
  • 5. Procedimento que permite escrever em um dispositivo de saída, sua sintaxe geral é : WRITE ( [varf : text,] v1 [,v2....., vn]); a princípio usaremos somente o dispositivo padrão de E/S , ou seja , a CONSOLE (vídeo + teclado). Este comando imprime e mantém o cursor onde ele parou. Outro procedimento é WRITELN, que é idêntico ao anterior exceto que ele e imprime a linha corrente e posiciona o cursor no início da próxima linha. EXEMPLOS - ESCREVA, "RAIO EXTERNO .....:", RAIOEXT, "CM" ------> WRITELN(‘RAIO EXTERNO .....:’, RAIOEXT, ‘CM’) - ESCREVA, "DEVO ESTUDAR COMPUTACAO" ------> WRITELN(‘DEVO ESTUDAR COMPUTACAO’) Obs: Para exibir uma mensagem de texto deve-se usar apóstrofo, em lugar de aspas, no comando WRITE. Considere o seguinte segmento de programa: A := 1; B := 2; C:= 3; D:=10; E:= 2; F:=100; X := 42.51; MATERIA := ‘COMPUTACAO’; WRITELN (A,B,C); {123} WRITELN (A,’ ‘,B,’ ‘,C); {1 2 3} WRITELN (‘A’,MATERIA); {ACOMPUTACAO} WRITELN (‘A ’,MATERIA); {A COMPUTACAO} WRITELN (D,E,F); {102100} WRITELN (D:2,E:2,F:2); {10 2100}
  • 6. WRITELN (D:3,E:3,F:3); { 10 2100} WRITELN (D,E:2,F:4); {10 2 100} WRITELN (X); {4.2510000000E+01} WRITELN (X:5:3); {42.51} c) Comando de ATRIBUIÇÃO em PASCAL A maioria das operações básicas são comandos de atribuição cuja a sintaxe é: identificador := expressão ; Em Natural: variável := expressão Em PASCAL: idêntico d) Comando de COMENTÁRIO em PASCAL Em Natural: C comentário (C na primeira coluna da linha) Em PASCAL : (* *) ou { } EXEMPLO DE ALGORITMO COMPLETO EM PASCAL (USANDO ESTRUTURA DE SEQUÊNCIA) PROGRAM VERIFICA; VAR A,B : INTEGER; TESTE : BOOLEAN; BEGIN WRITE (‘Entre com dois números : ); READLN (A,B): TESTE := A > B; WRITELN (‘A É MAIOR QUE B’, TESTE); END. REGRAS DE PRECEDÊNCIA DE OPERADORES. 1) ( ) 2) - (prefixo negativo) 3) NOT 4) * / DIV MOD AND
  • 7. 5) + - OR Exemplo e considerações: • ALT-F5 - Exibe a tela do usuário. (após rodar um programa mostra os resultados). • Para elevar ao quadrado e extrair a raiz quadrada de um número x utiliza-se respectivamente (p.ex.) Q := SQR (x) ; e RQ := SQRT (x) ; • A potenciação , NX pode ser obtida usando poten := EXP (X *(LN N)); PROGRAM EXPO; USES CRT; VAR EXPON,X,N:REAL; BEGIN CLRSCR; READ (N,X); EXPON := EXP(X* (LN(N))); WRITE ('EXPONENCIAL DE ',N:5:2,' ELEVADO A ',X:5:2, ' EH ',EXPON:6:2); END. - Exemplo de um algoritmo transformado em um programa na linguagem Pascal algoritmo média; program media; inteira n1, n2, n3; var n1, n2, n3: integer; real resp; resp: real; início begin escreva (‘Informe 3 nros. inteiros:’); writeln(‘Informe 3 nros. inteiros:’); leia (n1,n2,n3);; read(n1,n2,n3); resp := n1 + n2 + n3; resp := n1 + n2 + n3; resp := resp / 3; resp := resp / 3; escreva (‘Media:’, resp); write(‘Media:’, resp); fim. end.
  • 8. - Identificadores: - nomes que possuem um significado no programa - 2 tipos: a) Palavras reservadas: nomes pré -definidos da LP Pascal (comandos, cabeçalhos, seções de declaração). Exemplos: write, program, var, read. b) Definidos pelo programador: quaisquer outros nomes (de variáveis, constantes, nome do programa, etc.). Apresentam algumas regras: - não podem ser declarados 2 ou mais nomes iguais - não podem ser uma palavra reservada - Organização de um programa a) Comentários. - úteis na documentação de programas (melhor compreensão) - descrito entre os caracteres: { e } ou (* e *) b) Indentação. - organização da edição (digitação) de um programa (melhor legibilidade) - envolve: separação de comandos por linhas e tabulação - Funções pré-definidas da linguagem Pascal. SQR (X), SQRT(X), EXP(X), SIN(X) ,COS(X), LN(X)
  • 9. TRADUÇÃO DE COMANDOS DA LINGUAGEM ALGORÍTMICA PARA A LINGUAGEM PASCAL ALGORITMO PROGRAMA PASCAL SE condição ENTÃO comando n ; IF condição THEN comando n ; SE condição ENTÃO início IF condição THEN BEGIN comando 1 ; comando 1 ; ........... ...... comando n; comando n ; fim END SENÃO início ELSE BEGIN comando 1 ; comando 1 ; ........... ...... comando n ; comando n ; fim END; CASO expressão CASE expressão OF ctt1 : comando 1 / bloco ctt1 : comando 1/ bloco ; ctt2 :comando 2 / bloco ctt2 :comando 2/ bloco ; ............... ............... cttn :comando m/ bloco cttn :comando m / bloco ; [SENÃO comando / bloco ] [ ELSE comando / bloco ; ] FIM END; ENQUANTO condição FAÇA WHILE condição DO comando / bloco; comando / bloco;
  • 10. REPITA REPEAT comando 1 ; comando 1 ; ........... ...... comando n; comando n ; ATE condição UNTIL condição ; PARA var de vlr1 ate vlr2 FAÇA FOR var := vlr1 {TO / DOWNTO} vlr2 DO comando / bloco; comando / bloco;