Introduo Linguagem PASCAL Prof Luis Otavio Alvares 1

  • Slides: 34
Download presentation
Introdução à Linguagem PASCAL Prof. Luis Otavio Alvares 1

Introdução à Linguagem PASCAL Prof. Luis Otavio Alvares 1

Histórico da Linguagem PASCAL • Criada por Niklaus Wirth , em 1969 e 1970,

Histórico da Linguagem PASCAL • Criada por Niklaus Wirth , em 1969 e 1970, como uma linguagem pequena e eficiente, para encorajar as boas práticas de programação, com o uso de programação estruturada e estruturação de dados • Foi baseada na linguagem ALGOL • O nome é em homenagem ao matemático e filósofo francês Blaise Pascal. 2

Unidades léxicas (vocabulário) do Pascal • constantes • identificadores • palavras reservadas • símbolos

Unidades léxicas (vocabulário) do Pascal • constantes • identificadores • palavras reservadas • símbolos especiais Constantes • numéricas inteiras ex: 123 - 45 +6789 reais (fracionárias) ex: 1. 23 E 4 - 4. 45 - 1. E+56 +0. 6789 +0. 67 E-22

Constantes • numéricas • lógicas • literais true false strings ‘Nome’ ‘ 12345’ ‘a

Constantes • numéricas • lógicas • literais true false strings ‘Nome’ ‘ 12345’ ‘a 12 b/c’ ‘true’ caractere branco: ‘ ’

Unidades léxicas do Pascal Identificador Sintaxe de identificador: < letra > < letras e/ou

Unidades léxicas do Pascal Identificador Sintaxe de identificador: < letra > < letras e/ou dígitos e/ou ´_´ > • 63 caracteres significativos • não pode conter espaços brancos • tem que começar por letra Ex: A 12 x_3 i Ana. Terra Valor 1

Unidades léxicas do Pascal Palavras reservadas Identificadores que não podem ser utilizados como nomes

Unidades léxicas do Pascal Palavras reservadas Identificadores que não podem ser utilizados como nomes de variáveis pelo programador Ex: if begin readln for end ( ) write Símbolos especiais Ex: ; : , : = { <= } <> .

Estrutura de programas Pascal Cabeçalho: • opcional • nome único no programa Program <nome

Estrutura de programas Pascal Cabeçalho: • opcional • nome único no programa Program <nome do programa> ; <declarações, separadas por ponto e vírgula> ; begin <comandos, separados por ponto e vírgula> end. Definir todas as palavras que não fazem parte da linguagem: • nomes de todas as variáveis, com tipo de valor que vai ser armazenado • . . .

Exemplo 1 {meu primeiro programa Pascal } program Oi. Mundo; begin write('Oi mundo!'); {mostra}

Exemplo 1 {meu primeiro programa Pascal } program Oi. Mundo; begin write('Oi mundo!'); {mostra} readln; {espera} end. O que está entre { } é um comentário apenas, não é considerado pelo computador O que está em verde são palavras reservadas do Pascal. 8

Declarações • Declaram as variáveis e seus tipos • Os nomes das variáveis devem

Declarações • Declaram as variáveis e seus tipos • Os nomes das variáveis devem conter apenas letras, dígitos e o símbolo _ e iniciar com letra • Os principais tipos são: integer, real, double, char, string e boolean • Exemplos var Valor 1, Valor 2 : integer; quociente: real; sexo: char; nome: string; Pascal NÃO diferencia letras maiúsculas de minúsculas! 9

Entrada e Saída de Dados 10

Entrada e Saída de Dados 10

Comando de leitura entrada de dados Sintaxe: readln ( < lista de variáveis, separadas

Comando de leitura entrada de dados Sintaxe: readln ( < lista de variáveis, separadas por vírgulas > ) • os dados fornecidos pelo usuário devem concordar com o tipo das variáveis da lista, na ordem definida Ex: readln(N 1, N 2, N 3); readln(n 1); readln(n 2); readln(n 3);

Comandos de saída de dados Sintaxe: write ( < lista de variáveis e strings,

Comandos de saída de dados Sintaxe: write ( < lista de variáveis e strings, sep. por vírgulas > ) writeln ( < lista de variáveis e strings, sep. por vírgulas > ) • write - o próximo comando de escrita será executado na mesma linha deste, logo após o último valor impresso • writeln - o próximo comando de escrita será executado a partir do início de nova linha • strings - mensagens que se deseja que sejam mostradas - qualquer seqüência de caracteres, entre apóstrofes

Exemplos de comandos de saída de dados • write (´A soma vale : ´,

Exemplos de comandos de saída de dados • write (´A soma vale : ´, Soma); saída: A soma vale : 1234 • write (´A soma vale : ´); writeln ( Soma ); saída: A soma vale : 1234 • writeln (´X=´ , A , ´ - Y=´ , B ); saída: X=12 - Y=7 Considerando: Soma=1234 A=12 B=7

Comando de atribuição : = • Atribui o valor da direita à variável da

Comando de atribuição : = • Atribui o valor da direita à variável da esquerda • O valor pode ser: – uma constante, – uma variável ou – uma expressão • Exemplos x : = 4; y : = x + 2; y : = y + 4; valor : = 2. 5; sexo : = 'F' simples (apóstrofe) lemos: x recebe 4 lemos: y recebe x mais 2 lemos: y recebe y mais 4 constantes devem estar entre aspas 14

Atribuição o resultado da expressão deve ser compatível com o tipo da variável Ex:

Atribuição o resultado da expressão deve ser compatível com o tipo da variável Ex: var X: integer; Y: real; C: char; begin X : = 5; C : = 'a'; Y : = 7 + 3. 5; end. X : = 5 * 2; C : = '; '; Y : = X / 2;

Expressões aritméticas 16 Sintaxe: < operando > < operador aritmético > < operando >

Expressões aritméticas 16 Sintaxe: < operando > < operador aritmético > < operando > Operador Significado + Adição - Subtração * Produto / Divisão real div mod ** Divisão inteira Resto da divisão inteira Potenciação Operandos • inteiros • variáveis numéricas • chamadas a funções • expressões aritméticas (podem estar entre parêntesis) Ex: A+1 A * 2 + 7. 32 X div C 2 + cos(X)

CUIDADO!!!! • OBS: o operador “/” (divisão) exige que a variável que recebe o

CUIDADO!!!! • OBS: o operador “/” (divisão) exige que a variável que recebe o resultado da divisão seja do tipo real. Exemplo: var X, Y, U: integer; Z: real; Begin X: =2; Y: =3; U: =3; Z: =X/Y; { Z terá o valor 0. 666667} U: =X/Y; {dá erro de compilação, pois U deveria ser real} End. 17

Expressões lógicas 18 Sintaxe: < operando > < operador lógico > < expressão lógica

Expressões lógicas 18 Sintaxe: < operando > < operador lógico > < expressão lógica > Operandos • valores lógicos • variáveis booleanas • chamadas a funções • expressões lógicas (podem estar entre parêntesis) Operadores relacionais < > <= >= <> = Ex: Idade > 21 Nome = ‘Roberta’ Tipos de dados compatíveis Sintaxe relação: < expressão > < operador relacional > < expressão >

Operadores lógicos 19 Operador Tipo Significado and V F or V F and binário

Operadores lógicos 19 Operador Tipo Significado and V F or V F and binário “e” V V F V F or binário “ou” F F F not unário negação not V F F V Sintaxe: 1. < operando > < operador lógico > < operando > 2. not < expressão lógica > Ex: ( A > B ) or (A>C) ( Valor >= 0 ) and ( Valor < 10 ) not (A>B) Os operandos devem estar entre parênteses quando têm operadores relacionais

Precedência de operadores Pascal Ordem Precedência Operador 1 Maior not 2 div mod and

Precedência de operadores Pascal Ordem Precedência Operador 1 Maior not 2 div mod and + 3 4 / Menor = < > <= - or >= < > Em dúvida, o melhor é colocar parênteses, para não haver problema

Funções pré-definidas Pascal Função abs(X) arctan(X) cos(X) sin(X) exp(X) frac(X) int(X) trunc(X) round(X) ln(X)

Funções pré-definidas Pascal Função abs(X) arctan(X) cos(X) sin(X) exp(X) frac(X) int(X) trunc(X) round(X) ln(X) Pi sqr(X) sqrt(X) Argumentos integer / real integer / real integer / real integer / real Resultado integer real real integer real Ação Valor absoluto Arco tangente Cosseno Seno ex Parte fracionária Parte inteira Trunca p/ inteiro Inteiro + próximo Log. neperiano Valor de Quadrado Raiz quadrada

22 Aula prática 1: - o ambiente de programação - estrutura de programa Pascal

22 Aula prática 1: - o ambiente de programação - estrutura de programa Pascal - comandos de entrada / saída - programas seqüenciais

O ambiente Dev-Pascal • O Dev-Pascal é um ambiente de desenvolvimento de programas em

O ambiente Dev-Pascal • O Dev-Pascal é um ambiente de desenvolvimento de programas em Pascal (editor, compilador, bibliotecas. . . ) • Pode ser baixado de http: //www. bloodshed. net/devpascal. html 23

Usando o Dev-Pascal • Inicie o Dev-Pascal pelo ícone ou pelo menu • Crie

Usando o Dev-Pascal • Inicie o Dev-Pascal pelo ícone ou pelo menu • Crie um novo arquivo, com o comando – Arquivo, Novo Arquivo Fonte – ou clicando no ícone • Digite o programa da página seguinte 24

Usando o Dev-Pascal program Oi. Mundo; begin writeln('Oi mundo!'); readln; end. Experimente executar sem

Usando o Dev-Pascal program Oi. Mundo; begin writeln('Oi mundo!'); readln; end. Experimente executar sem o comando readln para ver o que acontece 25

Usando o Dev-Pascal • Salve o programa com o nome exemplo. pas • Compile

Usando o Dev-Pascal • Salve o programa com o nome exemplo. pas • Compile o programa pressionando • • Se houver algum erro de sintaxe, aparece uma ou mais mensagens no rodapé da janela. Neste caso, corrija o programa e repita. • e depois pressione para executar o programa 26

Dicas • Termine todos os comandos com ; • Quando ocorrer um erro de

Dicas • Termine todos os comandos com ; • Quando ocorrer um erro de compilação, dê um duplo clique sobre a mensagem de erro para destacar o comando errado no programa • Verifique também a linha anterior, que pode ser a responsável pelo erro, especialmente se faltar o caracter ; 27

Exemplo Algoritmo ler n 1, n 2, n 3 Media (n 1+n 2+n 3)/3

Exemplo Algoritmo ler n 1, n 2, n 3 Media (n 1+n 2+n 3)/3 Mostrar media Na Linguagem Pascal. . . Var n 1, n 2, n 3: integer; media: real; begin readln(n 1); readln(n 2); readln(n 3); media: =(n 1+n 2+n 3)/3; writeln('a media eh: ', media); readln; {para não desaparecer} end. 28

Exercícios: fazer programas Pascal para: 1. Mostrar na tela o produto entre 28 e

Exercícios: fazer programas Pascal para: 1. Mostrar na tela o produto entre 28 e 43. 2. Mostrar a média aritmética entre 3 números fornecidos pelo usuário. 3. Ler um número inteiro e mostrar seu sucessor e seu antecessor na tela. 4. Ler dois números e mostrar a sua soma. Antes do resultado, deverá aparecer a mensagem: SOMA=. 5. Ler um número e mostrar a terça parte deste número. 6. Ler dois números e mostrar os seguintes resultados: 1. Quociente: 2. Resto (para calcular o resto de uma divisão utilize o operador MOD) 7. Leia 4 números e mostre a média ponderada, sabendo-se que os pesos são respectivamente: 1, 2, 3 e 4. 29

Comandos de decisão (if) Algoritmo programa Pascal se < expressão lógica > if <

Comandos de decisão (if) Algoritmo programa Pascal se < expressão lógica > if < expressão lógica > então < comando > then < comando > ; if < expressão lógica > then begin < comandos > end;

Algoritmo programa Pascal se < expressão lógica > if < expressão lógica > então

Algoritmo programa Pascal se < expressão lógica > if < expressão lógica > então < comando > then < comando > senão < comando > else < comando >; If < condição > then begin < comandos > end else begin < comandos > end; 31 31

‘Ifs’ encadeados 32 if < expressão lógica > then < comando > else <

‘Ifs’ encadeados 32 if < expressão lógica > then < comando > else < comando >; if < condição 1 > then if < condição 2 > then if < condição 3 > then < comando > else < comando >; if < condição 1 > then if < condição 2 > then if < condição 3 > then < comando > else < comando >;

‘Ifs’ encadeados – cuidado ! if < condição 1 > then if < condição

‘Ifs’ encadeados – cuidado ! if < condição 1 > then if < condição 2 > then if < condição 3 > then < comando > else < comando >; if < condição 1 > then if < condição 2 > then begin if < condição 3 > then < comando >; end else < comando >; 33

Exercícios • Faça um programa Pascal para ler 3 números reais e verificar se

Exercícios • Faça um programa Pascal para ler 3 números reais e verificar se o primeiro é maior que a soma dos outros dois. Informar se é maior ou não. • Faça um programa Pascal que leia 5 números e informe quantos desses números são maiores que 10 • Faça um programa Pascal para ler 3 números reais e verificar se o maior deles é maior que a soma dos outros dois. Informar se sim ou não. • Faça um programa Pascal para ler três números diferentes e mostrá-los em ordem crescente. Idem para ordem decrescente. • Faça um programa Pascal para ler os três coeficientes de uma equação de segundo grau e determinar suas raízes. • Faça um programa Pascal para ler 4 números inteiros e calcular a soma dos que forem par. 34