INTRODUÇÃO A
LINGUAGEM PASCAL
Profº.: Tácito Henrique
tacito.graca@gmail.com
CEMA – Centro Educacional Miguel Alves
REVISÃO
Introdução à Pascal
Algoritmos
• São compostos de sintática e semântica
• Sintática > É a forma que se escreve
• Semântica > É o sentido que se escreve
• Os algoritmos estão no nosso dia-a-dia nas tarefas
simples e complexas
• Regras básicas do algoritmo:
• Deve realizar alguma tarefa ou resolver algum problema
• As instruções devem ser claras e sem repetições desnecessárias
• As instruções não podem transmitir dúvida
• As instruções devem ser executadas num tempo finito
Estrutura de blocos no Pascal
Área de Declarações
• Uses: Define as bibliotecas de funções que serão
utilizadas
• Label: Utilizados em conjunto com a instrução GOTO
• Const: Define as constantes que serão utilizadas
• Var: Define as variáveis que serão utilizadas
• Procedure: Define as sub-rotinas necessárias
• Function: Define as funções necessárias
Principais Bibliotecas
• As Bibliotecas de Rotinas, chamadas no Pascal de UNITs
(ou Unidades)
• São arquivos contendo um conjunto de pequenas rotinas,
denominadas Procedures e Functions, reutilizáveis em
diversos outros programas
• Sintaxe:
• Uses
<lista-de-units>;
Exemplo:
Uses
Crt, Dos;
CONCEITOS BÁSICOS
Variáveis
• Em programação, uma variável simples (ou simplesmente
variável) é uma posição de memória cujo conteúdo pode
ser modificado durante a execução de um programa,
devendo ser-lhe associados um identificador e um tipo
de dado.
• O identificador é uma sequência de letras, dígitos ou
underline (sublinhado), escolhida pelo programador e
será utilizado no programa para se fazer referência
àquela variável
Variáveis
• A linguagem Pascal fixa alguns identificadores para a
sintaxe de suas instruções.
• Estes identificadores não podem ser utilizados nos
programas, sendo conhecidos por palavras reservadas.
• A tabela a seguir apresenta algumas destas palavras
reservadas:
Variáveis
• O tipo de dado associado a uma variável é um conjunto
cujos elementos podem ser nela armazenados.
• A linguagem Pascal dispõe dos tipos de dados
discriminados na tabela a seguir.
Variáveis
• A utilização, quando possível, de um dos tipos byte, shortint,
integer e word é ditada pela necessidade de economia de
memória.
• Já que variáveis do tipo byte e shortint requerem apenas um
byte de memória. Enquanto que variáveis dos tipos integer e
word requerem dois bytes.
• Assim, se uma variável deve armazenar números inteiros
pequenos, a ela deve ser associado o tipo byte ou o tipo
shortint.
• Exemplo:
var <Lista de identificadores>: <tipo de dado>;
Variáveis
• Uma constante é uma posição de memória na qual o sistema
armazena um valor fixado pelo programa, este valor não pode ser
alterado durante sua execução.
• A uma constante é associado um identificador e qualquer referência
posterior a este identificador será substituída pelo tal valor fixado.
• Exemplo:
const identificador = valor;
const ReacaoQuimAleatoria = 6.023E+23;
• Obs: para valores com notação cientifica podemos utilizar o padrão
da variável ReacaoQuimAleatoria, onde utiliza o tipo de dado real:
6.023E+23 = 6.023 x 10²³
Exercícios de Fixação
• Exercício A
• Crie um programa que obtenha do usuário dois números e
armazene nas variáveis A e B.
• O programa deverá inverter os valores de A e B, colocando o valor
de B em A e A em B.
• Ao final o programa deverá exibir o valor das variáveis A e B;
• Exercício B
• Faça um algoritmo onde o usuário preencha o prenome,
sobrenome e nome.
• O programa deverá guardar os valores do nome, prenome e
sobrenome em variáveis distintas, ao final exibir nas seguintes
ordens:
• Nome, prenome, sobrenome
• Sobrenome, nome, prenome
• Prenome, sobrenome, nome
Expressões Aritméticas
• Os compiladores da linguagem PASCAL são capazes de avaliar expressões
aritméticas que envolvam as operações binárias de soma, subtração,
multiplicação, divisão e a operação unária de troca de sinal.
• Para isto são usados os operadores aritméticos binários e o operador
aritmético unário - para a troca de sinal.
Expressões Aritméticas
• Os operadores +, -, * atuam com operandos dos tipos integer ou real
fornecendo resultado do tipo real se pelo menos um dos operandos é
do tipo real e resultado do tipo integer se ambos os operandos são
deste tipo.
• integer a = 17, b = 3;
integer x, y;
real z = 17. , z1, z2;
x = a / b;
y = a % b;
z1 = z / b;
z2 = a/b;
RESULTADO: x = 5, y = 2, z1 = 5.666666 e z2 = 5.0
Obs.: Podemos ver que na linha correspondente a z2, primeiramente é
feita uma divisão inteira (pois os dois operandos são inteiros). Somente
após efetuada a divisão é que o resultado é atribuído a uma variável
real.
Expressões Aritméticas
• Na avaliação de expressões, o sistema efetua:
• Primeiro as operações envolvendo div, mod, *, /. Em
seguida efetua-se as operações envolvendo (+) e (-). Isto
é chamado de prioridade dos operadores.
Exemplos de equações
• r1 := a / b;
• Resulta o valor real do quociente de a ÷ b.
• r2 := a div b;
• Resulta o valor inteiro do quociente de a ÷ b.
• r3 := a mod b;
• Resulta o valor inteiro do resto da divisão a ÷ b.
• r3 := 2*a+b;
• Resulta o valor inteiro ou real da equação 2.a+b.
• r4 := Sqr(a)+b;
• Resulta o valor inteiro ou real da equação a2+b. Onde Sqr é uma
função predefinida do Pascal que retorna o quadrado de um número.
• r5 := a+Sqrt(b);
• Resulta o valor real da equação a+b. Onde Sqrt é uma função
predefinida do Pascal que retorna a raiz-quadrada de um número.
Exemplos
• Quais das variáveis a seguir devem ser do tipo real?
• n1 := a*b/c*b; {n1 = 7.0}
• n2 := a+b/c+b; {n2 = 9.5}
• n3 := a+b*c; {n3 = 15}
• n4 := (a+b)*c; {n4 = 36}
• n5 := (3*c+b) div c; {n5 = 3}
• n6 := (3*c+b) mod c; {n6 = 2}
• n7 := Sqr(b+c)-a; {n7 = 29}
• n8 := c-Sqrt(a+b); {n8 = 1.0}
Exercícios de Fixação
• Exercício A (4)
• Escrever um algoritmo que leia o nome de um vendedor, o seu salário
fixo e o total de vendas efetuadas por ele no mês (em dinheiro).
Sabendo que este vendedor ganha 15% de comissão sobre suas
vendas efetuadas, informar o seu nome, o salário fixo e salário no final
do mês.
• Exercício B (5)
• Escrever um algoritmo que leia o nome de um aluno e as notas das
três provas que ele obteve no semestre. No final informar o nome do
aluno e a sua média (aritmética).
• Exercício C (8)
• Elaborar um algoritmo que efetue a apresentação do valor da
conversão em real (R$) de um valor lido em dólar (US$). O algoritmo
deverá solicitar o valor da cotação do dólar e também a quantidade de
dólares disponíveis com o usuário.
Relações
• Os compiladores da linguagem Pascal realizam
comparações entre valores numéricos, realizadas no
sentido usual da matemática, e entre cadeias de
caracteres, realizadas de acordo com a ordenação do
código ASCII.
Relações
• O resultado da avaliação de uma relação é true, se a relação
for verdadeira, ou false se a relação for falsa.
• Assim:
• 3 > 5 resulta no valor false, enquanto que 7 <= 7 resulta no valor true.
• Sendo um valor true ou false, o resultado da avaliação de uma
relação pode ser armazenado numa variável do tipo boolean.
• Os operandos de uma relação podem ser expressões
aritméticas. Nestes casos, as expressões aritméticas são
avaliadas em primeiro lugar para, em seguida, ser avaliada a
relação. Por exemplo, a relação 3*4 - 5 < 2*3 - 4 resulta no
valor false, pois 3*4 - 5 = 7 e 2*3 - 4 = 2. Isto significa que os
operadores relacionais têm prioridade mais baixa que os
aritméticos.
Expressões lógicas
• Os compiladores da linguagem Pascal também avaliam
expressões lógicas obtidas através da aplicação dos
operadores lógicos binários and e or.
• Ou da aplicação do operador lógico unário not a uma
relação.
• Se r1 e r2 são duas relações, a avaliação da aplicação
dos operadores lógicos binários, de acordo com os
valores de r1 e r2, são dados na tabela abaixo.
Expressões lógicas
• Uma expressão lógica do tipo (r1) and (r2) só recebe o
valor true se os valores de r1 e de r2 forem iguais a true;
uma expressão lógica do tipo (r1) or (r2) só recebe o
valor false se os valores de r1 e de r2 forem iguais a
false.
• A aplicação do operador unário not simplesmente inverte
o valor original da relação:
Estrutura dos Programas em Pascal
• As áreas de um programa em Pascal são:
• Identificação do programa,
• relação das unidades utilizadas,
• definições de tipos de dados,
• declaração de constantes,
• declaração de variáveis,
• definições dos procedimentos e funções e
• programa principal.
Estrutura dos Programas em Pascal
• Identificação do programa
• Inicia-se com a utilização da palavra reservada program
• Em seguida o seu identificador
• A identificação do programa termina com o ; (ponto e virgula)
Estrutura dos Programas em Pascal
• Área de declarações
• Uma unidade é um programa dos compiladores Pascal que
contém vários procedimentos e funções pré-definidos, cujas
utilizações facilitam muitas tarefas de programação.
• Exemplos: Biblioteca CRT que tem a função ClrScr
• Esta é a sintaxe para o uso de bibliotecas:
uses lista das unidades;
• Exemplo:
program LimpaTela;
uses Crt;
begin
ClrScr;
end.
Estrutura dos Programas em Pascal
• Além da unidade Crt, os compiladores Pascal, de um
modo geral, possuem as unidades Dos, Graph, Printer e
System.
• A unidade System contém procedimentos e funções básicas de
programação e não há necessidade de ser incluída na lista de
unidades, pois ela é "carregada" na memória juntamente com o
sistema.
• A unidade Dos contém procedimento e funções que permitem ao
compilador Pascal interagir com o sistema operacional DOS;
• A unidade Graph contém procedimentos que permitem incluir
gráficos nos programas
• A unidade Printer permite interações do sistema com
impressoras.
Exercícios de Fixação
• Exercício A (7)
• Ler uma temperatura em graus Celsius e apresentá-la convertida
em graus Fahrenheit. A fórmula de conversão é: F=(9*C+160) / 5,
sendo F a temperatura em Fahrenheit e C a temperatura em
Celsius.
• Exercício B (9)
• Faça um algoritmo que receba um valor que foi depositado e exiba
o valor com rendimento após um mês. Considere fixo o juro da
poupança em 0,70% a. m.

Aula 02 operadores aritiméticos

  • 1.
    INTRODUÇÃO A LINGUAGEM PASCAL Profº.:Tácito Henrique tacito.graca@gmail.com CEMA – Centro Educacional Miguel Alves
  • 2.
  • 3.
    Algoritmos • São compostosde sintática e semântica • Sintática > É a forma que se escreve • Semântica > É o sentido que se escreve • Os algoritmos estão no nosso dia-a-dia nas tarefas simples e complexas • Regras básicas do algoritmo: • Deve realizar alguma tarefa ou resolver algum problema • As instruções devem ser claras e sem repetições desnecessárias • As instruções não podem transmitir dúvida • As instruções devem ser executadas num tempo finito
  • 4.
  • 5.
    Área de Declarações •Uses: Define as bibliotecas de funções que serão utilizadas • Label: Utilizados em conjunto com a instrução GOTO • Const: Define as constantes que serão utilizadas • Var: Define as variáveis que serão utilizadas • Procedure: Define as sub-rotinas necessárias • Function: Define as funções necessárias
  • 6.
    Principais Bibliotecas • AsBibliotecas de Rotinas, chamadas no Pascal de UNITs (ou Unidades) • São arquivos contendo um conjunto de pequenas rotinas, denominadas Procedures e Functions, reutilizáveis em diversos outros programas • Sintaxe: • Uses <lista-de-units>; Exemplo: Uses Crt, Dos;
  • 7.
  • 8.
    Variáveis • Em programação,uma variável simples (ou simplesmente variável) é uma posição de memória cujo conteúdo pode ser modificado durante a execução de um programa, devendo ser-lhe associados um identificador e um tipo de dado. • O identificador é uma sequência de letras, dígitos ou underline (sublinhado), escolhida pelo programador e será utilizado no programa para se fazer referência àquela variável
  • 9.
    Variáveis • A linguagemPascal fixa alguns identificadores para a sintaxe de suas instruções. • Estes identificadores não podem ser utilizados nos programas, sendo conhecidos por palavras reservadas. • A tabela a seguir apresenta algumas destas palavras reservadas:
  • 10.
    Variáveis • O tipode dado associado a uma variável é um conjunto cujos elementos podem ser nela armazenados. • A linguagem Pascal dispõe dos tipos de dados discriminados na tabela a seguir.
  • 11.
    Variáveis • A utilização,quando possível, de um dos tipos byte, shortint, integer e word é ditada pela necessidade de economia de memória. • Já que variáveis do tipo byte e shortint requerem apenas um byte de memória. Enquanto que variáveis dos tipos integer e word requerem dois bytes. • Assim, se uma variável deve armazenar números inteiros pequenos, a ela deve ser associado o tipo byte ou o tipo shortint. • Exemplo: var <Lista de identificadores>: <tipo de dado>;
  • 12.
    Variáveis • Uma constanteé uma posição de memória na qual o sistema armazena um valor fixado pelo programa, este valor não pode ser alterado durante sua execução. • A uma constante é associado um identificador e qualquer referência posterior a este identificador será substituída pelo tal valor fixado. • Exemplo: const identificador = valor; const ReacaoQuimAleatoria = 6.023E+23; • Obs: para valores com notação cientifica podemos utilizar o padrão da variável ReacaoQuimAleatoria, onde utiliza o tipo de dado real: 6.023E+23 = 6.023 x 10²³
  • 13.
    Exercícios de Fixação •Exercício A • Crie um programa que obtenha do usuário dois números e armazene nas variáveis A e B. • O programa deverá inverter os valores de A e B, colocando o valor de B em A e A em B. • Ao final o programa deverá exibir o valor das variáveis A e B; • Exercício B • Faça um algoritmo onde o usuário preencha o prenome, sobrenome e nome. • O programa deverá guardar os valores do nome, prenome e sobrenome em variáveis distintas, ao final exibir nas seguintes ordens: • Nome, prenome, sobrenome • Sobrenome, nome, prenome • Prenome, sobrenome, nome
  • 14.
    Expressões Aritméticas • Oscompiladores da linguagem PASCAL são capazes de avaliar expressões aritméticas que envolvam as operações binárias de soma, subtração, multiplicação, divisão e a operação unária de troca de sinal. • Para isto são usados os operadores aritméticos binários e o operador aritmético unário - para a troca de sinal.
  • 15.
    Expressões Aritméticas • Osoperadores +, -, * atuam com operandos dos tipos integer ou real fornecendo resultado do tipo real se pelo menos um dos operandos é do tipo real e resultado do tipo integer se ambos os operandos são deste tipo. • integer a = 17, b = 3; integer x, y; real z = 17. , z1, z2; x = a / b; y = a % b; z1 = z / b; z2 = a/b; RESULTADO: x = 5, y = 2, z1 = 5.666666 e z2 = 5.0 Obs.: Podemos ver que na linha correspondente a z2, primeiramente é feita uma divisão inteira (pois os dois operandos são inteiros). Somente após efetuada a divisão é que o resultado é atribuído a uma variável real.
  • 16.
    Expressões Aritméticas • Naavaliação de expressões, o sistema efetua: • Primeiro as operações envolvendo div, mod, *, /. Em seguida efetua-se as operações envolvendo (+) e (-). Isto é chamado de prioridade dos operadores.
  • 17.
    Exemplos de equações •r1 := a / b; • Resulta o valor real do quociente de a ÷ b. • r2 := a div b; • Resulta o valor inteiro do quociente de a ÷ b. • r3 := a mod b; • Resulta o valor inteiro do resto da divisão a ÷ b. • r3 := 2*a+b; • Resulta o valor inteiro ou real da equação 2.a+b. • r4 := Sqr(a)+b; • Resulta o valor inteiro ou real da equação a2+b. Onde Sqr é uma função predefinida do Pascal que retorna o quadrado de um número. • r5 := a+Sqrt(b); • Resulta o valor real da equação a+b. Onde Sqrt é uma função predefinida do Pascal que retorna a raiz-quadrada de um número.
  • 18.
    Exemplos • Quais dasvariáveis a seguir devem ser do tipo real? • n1 := a*b/c*b; {n1 = 7.0} • n2 := a+b/c+b; {n2 = 9.5} • n3 := a+b*c; {n3 = 15} • n4 := (a+b)*c; {n4 = 36} • n5 := (3*c+b) div c; {n5 = 3} • n6 := (3*c+b) mod c; {n6 = 2} • n7 := Sqr(b+c)-a; {n7 = 29} • n8 := c-Sqrt(a+b); {n8 = 1.0}
  • 19.
    Exercícios de Fixação •Exercício A (4) • Escrever um algoritmo que leia o nome de um vendedor, o seu salário fixo e o total de vendas efetuadas por ele no mês (em dinheiro). Sabendo que este vendedor ganha 15% de comissão sobre suas vendas efetuadas, informar o seu nome, o salário fixo e salário no final do mês. • Exercício B (5) • Escrever um algoritmo que leia o nome de um aluno e as notas das três provas que ele obteve no semestre. No final informar o nome do aluno e a sua média (aritmética). • Exercício C (8) • Elaborar um algoritmo que efetue a apresentação do valor da conversão em real (R$) de um valor lido em dólar (US$). O algoritmo deverá solicitar o valor da cotação do dólar e também a quantidade de dólares disponíveis com o usuário.
  • 20.
    Relações • Os compiladoresda linguagem Pascal realizam comparações entre valores numéricos, realizadas no sentido usual da matemática, e entre cadeias de caracteres, realizadas de acordo com a ordenação do código ASCII.
  • 21.
    Relações • O resultadoda avaliação de uma relação é true, se a relação for verdadeira, ou false se a relação for falsa. • Assim: • 3 > 5 resulta no valor false, enquanto que 7 <= 7 resulta no valor true. • Sendo um valor true ou false, o resultado da avaliação de uma relação pode ser armazenado numa variável do tipo boolean. • Os operandos de uma relação podem ser expressões aritméticas. Nestes casos, as expressões aritméticas são avaliadas em primeiro lugar para, em seguida, ser avaliada a relação. Por exemplo, a relação 3*4 - 5 < 2*3 - 4 resulta no valor false, pois 3*4 - 5 = 7 e 2*3 - 4 = 2. Isto significa que os operadores relacionais têm prioridade mais baixa que os aritméticos.
  • 22.
    Expressões lógicas • Oscompiladores da linguagem Pascal também avaliam expressões lógicas obtidas através da aplicação dos operadores lógicos binários and e or. • Ou da aplicação do operador lógico unário not a uma relação. • Se r1 e r2 são duas relações, a avaliação da aplicação dos operadores lógicos binários, de acordo com os valores de r1 e r2, são dados na tabela abaixo.
  • 23.
    Expressões lógicas • Umaexpressão lógica do tipo (r1) and (r2) só recebe o valor true se os valores de r1 e de r2 forem iguais a true; uma expressão lógica do tipo (r1) or (r2) só recebe o valor false se os valores de r1 e de r2 forem iguais a false. • A aplicação do operador unário not simplesmente inverte o valor original da relação:
  • 24.
    Estrutura dos Programasem Pascal • As áreas de um programa em Pascal são: • Identificação do programa, • relação das unidades utilizadas, • definições de tipos de dados, • declaração de constantes, • declaração de variáveis, • definições dos procedimentos e funções e • programa principal.
  • 25.
    Estrutura dos Programasem Pascal • Identificação do programa • Inicia-se com a utilização da palavra reservada program • Em seguida o seu identificador • A identificação do programa termina com o ; (ponto e virgula)
  • 26.
    Estrutura dos Programasem Pascal • Área de declarações • Uma unidade é um programa dos compiladores Pascal que contém vários procedimentos e funções pré-definidos, cujas utilizações facilitam muitas tarefas de programação. • Exemplos: Biblioteca CRT que tem a função ClrScr • Esta é a sintaxe para o uso de bibliotecas: uses lista das unidades; • Exemplo: program LimpaTela; uses Crt; begin ClrScr; end.
  • 27.
    Estrutura dos Programasem Pascal • Além da unidade Crt, os compiladores Pascal, de um modo geral, possuem as unidades Dos, Graph, Printer e System. • A unidade System contém procedimentos e funções básicas de programação e não há necessidade de ser incluída na lista de unidades, pois ela é "carregada" na memória juntamente com o sistema. • A unidade Dos contém procedimento e funções que permitem ao compilador Pascal interagir com o sistema operacional DOS; • A unidade Graph contém procedimentos que permitem incluir gráficos nos programas • A unidade Printer permite interações do sistema com impressoras.
  • 28.
    Exercícios de Fixação •Exercício A (7) • Ler uma temperatura em graus Celsius e apresentá-la convertida em graus Fahrenheit. A fórmula de conversão é: F=(9*C+160) / 5, sendo F a temperatura em Fahrenheit e C a temperatura em Celsius. • Exercício B (9) • Faça um algoritmo que receba um valor que foi depositado e exiba o valor com rendimento após um mês. Considere fixo o juro da poupança em 0,70% a. m.