Introduo Linguagem PASCAL Prof Luis Otavio Alvares 1


































- Slides: 34
Introdução à Linguagem PASCAL Prof. Luis Otavio Alvares 1
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 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 12 b/c’ ‘true’ caractere branco: ‘ ’
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 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 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} 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 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
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, 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 : ´, 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 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: 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 > 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 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 > 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 “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 + 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) 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 - comandos de entrada / saída - programas seqüenciais
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 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 o comando readln para ver o que acontece 25
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 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 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 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 < 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 < 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 < 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 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 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


































