340 likes | 607 Views
Introdução à Linguagem PASCAL Prof. Luis Otavio Alvares. 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 dado s
E N D
Introdução à Linguagem PASCAL Prof. Luis Otavio Alvares
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.
Unidades léxicas (vocabulário) do Pascal Constantes • numéricas • inteirasex: 123 - 45 +6789 • constantes • identificadores • palavras reservadas • símbolos especiais reais (fracionárias) ex: 1.23 - 4.45 +0.6789 1.23E4 - 1.E+56 +0.67E-22
Constantes • numéricas • lógicastrue false • literaisstrings • ‘Nome’ ‘a12b/c’ • ‘12345’ ‘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: A12x_3i AnaTerra Valor1
Unidades léxicas do Pascal Símbolos especiais Ex: ; : , { } ( ) . := <= <> Palavras reservadas Identificadores que não podem ser utilizados como nomes de variáveis pelo programador Ex: if begin readln for end write
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 OiMundo; 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.
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 Valor1, Valor2 : integer; quociente: real; sexo: char; nome: string; Pascal NÃO diferencia letras maiúsculas de minúsculas!
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 tipodas variáveis da lista, • na ordem definida • Ex: readln(N1,N2,N3); • readln(n1);readln(n2);readln(n3);
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 Considerando: Soma=1234 A=12 B=7 • writeln (´A soma vale : ´); • writeln ( Soma ); • saída: A soma vale : • 1234 • writeln (´X=´ , A , ´ - Y=´ , B ); • saída: X=12 - Y=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; lemos: x recebe 4 y := x + 2; lemos: y recebe x mais 2 y := y + 4; lemos: y recebe y mais 4 valor := 2.5; sexo := 'F' constantes devem estar entre aspas simples (apóstrofe)
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 end. X := 5; X := 5 * 2; C := 'a'; C := ';'; Y := 7 + 3.5; Y := X / 2;
Expressões aritméticas Operandos • inteiros • variáveis numéricas • chamadas a funções • expressões aritméticas • (podem estar entre • parêntesis) Sintaxe: < operando >< operador aritmético > < operando > 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.
Expressões lógicas Operadores relacionais < > <= >= <> = Operandos • valores lógicos • variáveis booleanas • chamadas a funções • expressões lógicas • (podem estar entre • parêntesis) Tipos de dados compatíveis Sintaxe relação: < expressão >< operador relacional > < expressão > Sintaxe: < operando >< operador lógico > < operando > < operador lógico > < expressão lógica > Ex:Idade > 21 Nome = ‘Roberta’
Sintaxe: < operando >< operador lógico > < operando > not < expressão lógica > Ex:( A > B ) or (A>C) ( Valor >= 0 ) and ( Valor < 10 ) not (A>B) Operadores lógicos Os operandos devem estar entre parênteses quando têm operadores relacionais
Precedência de operadores Pascal Em dúvida, o melhor é colocar parênteses, para não haver problema
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
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
Usando o Dev-Pascal program OiMundo; begin writeln('Oi mundo!'); readln; end. Experimente executar sem o comando readln para ver o que acontece
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
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 ;
Exemplo Na Linguagem Pascal... Var n1, n2, n3: integer; media: real; begin readln(n1); readln(n2); readln(n3); media:=(n1+n2+n3)/3; writeln('a media eh: ', media); readln; {para não desaparecer} end. Algoritmo ler n1, n2, n3 Media(n1+n2+n3)/3 Mostrar media
Exercícios: fazer programas Pascal para: • Mostrar na tela o produto entre 28 e 43. • Mostrar a média aritmética entre 3 números fornecidos pelo usuário. • Ler um número inteiro e mostrar seu sucessor e seu antecessor na tela. • Ler dois números e mostrar a sua soma. Antes do resultado, deverá aparecer a mensagem: SOMA=. • Ler um número e mostrar a terça parte deste número. • Ler dois números e mostrar os seguintes resultados: • Quociente: • Resto (para calcular o resto de uma divisão utilize o operador MOD) • Leia 4 números e mostre a média ponderada, sabendo-se que os pesos são respectivamente: 1, 2, 3 e 4.
Comandos de decisão (if) Algoritmoprograma Pascal se < expressão lógica > então < comando > if < expressão lógica > then < comando > ; if < expressão lógica > then begin < comandos > end;
Algoritmoprograma Pascal se < expressão lógica > então < comando > senão < comando > if < expressão lógica > then < comando > else < comando >; If < condição > then begin < comandos > end else begin < comandos > end; 31
‘Ifs’ encadeados 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 > else < comando > else < comando >; if < condição 1 > then if < condição 2 > then if < condição 3 > then < comando > else < comando > else < comando >;
‘Ifs’ encadeados – cuidado ! if < condição 1 > then if < condição 2 > then begin if < condição 3 > then < comando >; end else < comando > else < comando >; if < condição 1 > then if < condição 2 > then if < condição 3 > then < comando > else < comando > else < comando >;
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.