Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Uesb – Introdução à Ciência da Computação - Linguagem Pascal Prof.Fabrício Sousa Página 1 de 11 Uesb- Universidade Estadual do Sudoeste da Bahia Linguagem Pascal Curso:Licenciatura em Física Disciplina: Introdução à Ciência da Computação Semestre: 7º Prof.Esp. Fabrício de Sousa Pinto 2008 Uesb – Introdução à Ciência da Computação - Linguagem Pascal Prof.Fabrício Sousa Página 2 de 11 INDÍCE CAPITULO I - Introdução ............................................................................... 2 1.1 A LINGUAGEM PASCAL ...................................................................................... 2 1.2 COMPILADOR..................................................................................................... 2 1.3 AMBIENTE DE DESENVOLVIMENTO............................................................ 3 CAPITULO II – Sintaxe Básica....................................................................... 3 1 ALGORITMO .......................................................................................................... 3 2 SINTAXE DA LINGUAGEM PASCAL ......................................................................... 3 3 VARIÁVEIS ............................................................................................................ 4 3.1 TIPOS DE VARIÁVEIS .......................................................................................... 4 3.1.1 Variáveis Numéricas.................................................................................. 4 3.1.2 Variáveis Alfanuméricas............................................................................ 4 3.1.3 -Variáveis Lógicas..................................................................................... 5 4 OPERADORES ARITMÉTICOS .................................................................................. 5 5 OPERADORES RELACIONAIS .................................................................................. 5 6- OPERADORES LÓGICOS ........................................................................................ 5 7 EXPRESSÃO DE ATRIBUIÇÃO DE VALORES ............................................................ 5 8 PONTO E VÍRGULA ................................................................................................ 5 9 INÍCIO E FIM DO PROGRAMA .................................................................................. 5 10 COMENTÁRIOS .................................................................................................... 6 11 COMANDO DE ENTRADA DE DADOS..................................................................... 6 12 COMANDO DE SAÍDA DE DADOS .......................................................................... 6 13 PRIMEIRO PROGRAMA EM PASCAL....................................................................... 6 CAPITULO III – Estruturas ............................................................................. 7 1 ESTRUTURA DE DECISÃO....................................................................................... 7 1.1 Estrutura Condicional Simples.................................................................... 7 1.2 ESTRUTURA CONDICIONAL COMPOSTA.............................................................. 8 2 ESTRUTURA DE REPETIÇÃO – WHILE - DO ............................................................. 8 2.1 Interrupção no inicio .................................................................................... 8 3 ESTRUTURA DE REPETIÇÃO – FOR-TO-DO ............................................................. 9 4 ESTRUTURA DE REPETIÇÃO – FOR-DOWNTO-DO ................................................... 9 5 ESTRUTURA DE REPETIÇÃO – REPEAT-UNTIL ...................................................... 10 6 COMANDO CASE.................................................................................................. 10 7 RESUMO .............................................................................................................. 11 8 EXERCÍCIOS......................................................................................................... 11 CAPITULO I - Introdução 1.1 A Linguagem Pascal A linguagem Pascal foi desenvolvida em 1968 pelo professor Niklaus Wirth, na Suíça. Seu nome é em homenagem ao matemático e filosofo, Blaise Pascal, que inventou a primeira calculadora mecânica. A escolha da linguagem Pascal é em virtude de sua simplicidade, facilidade e legibilidade, tornando-a bem didática. Outra motivação é em virtude de ser um curso técnico, será pré-requisito para o aprendizado da programação em Delphi® nos próximos anos. Pascal é uma linguagem de programação estruturada. 1.2 Compilador Um computador não pode entender nem tão pouco executar instruções em linguagens de alto nível. Ele só entende linguagem de máquina. Desta forma, os programas em linguagens de alto nível devem ser traduzidos antes de serem executados pelo computador. Quem faz essa tradução são os programas tradutores: o interpretador e o compilador. Os dois aceitam como entrada um programa em linguagem de alto nível (código fonte) e produzem como saída um programa em linguagem de máquina (objeto). A diferença entre eles está na forma de executar a tarefa de tradução. O interpretador traduz para a linguagem de máquina e roda uma linha por vez, até que todo programa seja executado. Já o compilador traduz para a linguagem de máquina todo o programa fonte e só então ele é executado. Uesb – Introdução à Ciência da Computação - Linguagem Pascal Prof.Fabrício Sousa Página 3 de 11 1.3 Ambiente de Desenvolvimento Pascal é uma linguagem compilada, embora um dos compiladores mais utilizado seja o Turbo Pascal®, adotaremos o Dev- Pascal®, versão freeware, por causa de sua interface gráfica amigável. Após a digitação do código fonte, o programa deverá ser compilado, caso tenha erros será exibidos, e posteriormente quando eliminarmos todos, estará pronto para execução. Abaixo temos a janela do Dev-Pascal® Os arquivos em Pascal possui a extensão .pas Aconselhamos ao programador o uso da endentação (recuos) sempre que possível, possibilitando uma maior legibilidade do código- fonte. Além disso é interesse a inserção de comentário com informações úteis para o programador. Como sabemos não existe melhor forma de aprendizagem do que praticando, então como programador implemente o máximo de programas possível e alcancará o sucesso! CAPITULO II – Sintaxe Básica 1 Algoritmo Descrição passo-a-passo para solucionar um problema. Ex.: Receita de um bolo. Ex.1: Fazer um algoritmo para calcular o volume de um cubo. Algoritmo Volume_Cubo Variáveis Altura, comprimento, largura Tipo Real; Inicio Escreva (‘Informe a altura’) Leia (altura) Escreva (‘Informe a largura’) Leia (largura) Escreva (‘Informe o comprimento’) Leia (comprimento) Volume <- altura*comprimento*largura Escreva (‘O volume do cubo eh:’, volume) Fim O computador não entende a linguagem natural utilizada na descrição dos algoritmos, utilizaremos a linguagem de alto nível Pascal para implementarmos os programas. 2 Sintaxe da linguagem Pascal Um programa em Pascal é inicializado com a palavra reservada program seguido do nome do programa e um ponto e vírgula (;) program nome_do_programa ; Ex2.: program teste; Uesb – Introdução à Ciência da Computação - Linguagem Pascal Prof.Fabrício Sousa Página 4 de 11 3 Variáveis O próximo passo é a declaração das variáveis que serão utilizados no programa. Var nome(s)_da(s)_variável(is): tipo ; Caso tenha mais de uma variável, elas devem vir separadas por virgula (,). O tipo das variáveis são os valores que podem ser atribuídos a essas variáveis, como por exemplo, real, inteiro, etc. Ex.3: var nota : real; codigo : integer; Quando declaramos uma variável estamos alocando um espaço na memória para armazenar o valor que aquela variável possuirá. No Turbo Pascal a declaração de variáveis é obrigatória no início do programa pois, caso isso não acorra, o compilador acusará erro de compilação. Não é permitido o uso de acentos nos identificadores. Ex.4: Declarar a variável inteira A, real B e booleana C. Var A : integer; B : real; C : boolean; Na declaração de uma variável string, necessita-se informar a sua máxima extensão. Esta declaração da extensão reserva uma área fixa na memória para o processamento. Ex.5: A variável string R com 13 caracteres, seria assim declarada: Var R : string[13]; Para declarar mais de uma variável do mesmo tipo, pode-se proceder das duas seguintes formas: Var x, y, z : integer; ou Var x : integer; y : integer; z : integer; 3.1 Tipos de Variáveis 3.1.1 Variáveis Numéricas integer - Números inteiros entre -32768 e 32767. real - Números reais de 11 algarismos significativos. byte - Números inteiros entre 0 e 255. 3.1.2 Variáveis Alfanuméricas string - Caracteres alfanuméricos entre apóstrofos. char - String de apenas um caractere entre apóstrofos. Uesb – Introdução à Ciência da Computação - Linguagem Pascal Prof.Fabrício Sousa Página 5 de 11 3.1.3 -Variáveis Lógicas boolean - Assume apenas valores booleanos, que são: true (verdadeiro) ou false (falso). 4 Operadores Aritméticos Operador Significado + Soma - Subtração / Divisão * Multiplicação Div Divisão inteira Mod Resto da divisão 5 Operadores Relacionais Operador Significado = Igual a > Maior que < Menor que >= Maior ou igual a <= Menor ou igual a <> Diferente 6- Operadores Lógicos Operador Significado not negação and e or ou xor ou exclusivo 7 Expressão de Atribuição de Valores Utilizamos o simbolo := (dois pontos igual) para atribuímos um determinado valor à uma variável. Ex6: A:=B+5; O símbolo := equivale a uma flecha ( <- ), no algoritmo, indicando que é uma atribuição, ou seja, será armazenado na variável A o valor de B+5. 8 Ponto e Vírgula O ponto e vírgula no Turbo Pascal indica o fim do comando e sua presença é obrigatória. 9 Início e fim do Programa Todos os programas em Turbo Pascal devem começar e terminar desse modo: Ex.7: program Exemplo; ... begin ... end. O "program" indica o início do programa; "Exemplo" é um nome qualquer dado ao programa; "begin" indica o início e “end" o fim do programa. Uesb – Introdução à Ciência da Computação - Linguagem Pascal Prof.Fabrício Sousa Página 6 de 11 10 Comentários Comentário é uma informação utilizada pelo programador para comentar partes do código fonte é que irá apenas auxilia-lo, sendo ingnorado pelo compilador. Os comentários devem ser escritos entre chaves , {....} ou parênteses com asterisco - (*....*). Não há necessidade de terminar a linha do comentário com ponto e vírgula. Ex.8: {Exemplo de como escrever um comentário} (* Pode-se escrever também desta foram *) 11 Comando de Entrada de dados read – Utilizado para leitura dos dados digitados pelo usuário. É seguido por um parênteses e a variável deverá vir entre parênteses ( ‘ ). readln – Diferencia do anterior, pelo fato de mudar de linha após a leitura da informação. Ex.9: readln(altura) ; OBS.: Quando for necessário mais de uma entrada read ou readIn, os dados a serem digitados não devem ser separados por vírgulas e sim por espaço. Ex.10: readln(comprimento,largura,altura); É conveniente pedir apenas uma entrada de dado por cada comando read ou readIn, para que não ocorra inconvenientes na entrada de textos. 12 Comando de Saída de dados write – Imprime na tela uma determinada informação para o usuário. É seguido por um parênteses e a mensagem deverá vir entre aspas simples ( ‘ ). writeln - Diferencia do anterior, pelo fato de mudar de linha após a exibição da informação. Ex.11 Writeln (‘Digite a altura do cubo’) ; OBS.: Quando usado o comando writeIn sem mensagem ou variáveis a serem impressas, ocorre-se apenas mudança de linha. Ex.12 Writenln(‘’); 13 Primeiro programa em Pascal Antes de vermos o primeiro programa em Pascal, iremos comentar sobre a função readKey(); ela será utilizada para que a janela do Dos não feche automaticamente após a execucao do programa, aguardando que o usuário digite um tecla qualquer para fechá-la. Para usarmos essa função devemos incluir a biblioteca Uses Crt; no inicio do programa. Ex.13- Fazer um programa para calcular o volume de um cubo. Uesb – Introdução à Ciência da Computação - Linguagem Pascal Prof.Fabrício Sousa Página 7 de 11 Program Volume_Cubo; Uses Crt; var comprimento, largura, altura, volume : real; begin writeln('Digite o comprimento'); readln(comprimento); writeln('Digite a largura'); readln(largura); writeln('Digite a altura'); readln(altura); volume:=altura*comprimento*largura; writeln(’O volume do cubo eh:’, volume, ‘cm3’); readKey(); end. O resultado do programa acima ficaria assim no vídeo, por exemplo, caso digite-se, 4 , 5 e 3: O volume do cubo eh: 60 cm3 CAPITULO III – Estruturas 1 Estrutura de Decisão 1.1 Estrutura Condicional Simples if condição then begin seqüência A de comandos end; onde: if- then – são palavras reservadas; condição – é uma expressão lógica. A seqüência A de comandos só será executada caso a condição seja verdadeira. O begin e end são obrigatórios apenas, caso exista mais de um comando. Ex: 14 Program Condicional; Uses Crt; Var a, b, c : integer; if (a+b) < c then writeln ( ‘ A soma de A com B eh menor do que C’); Readkey(); end. Uesb – Introdução à Ciência da Computação - Linguagem Pascal Prof.Fabrício Sousa Página 8 de 11 1.2 Estrutura Condicional Composta If condição then begin Sequência A de commandos end else begin Sequência B de commandos end; Na estrutura de decisão composta em PASCAL, é necessário tomar alguns cuidados. O comando end que precede o else do exemplo abaixo, não deve levar ponto e vírgula. O ponto e vírgula ali posicionado, indicaria que já chegou ao fim da atuação do comando if anterior. Portanto, somente o segundo e último end deve receber o ponto e vírgula. Veja o exemplo a seguir: Ex.15: Program Maior_ Dez; {Estrutura de Decisão Composta} Uses Crt; var valor : real; begin writeln ( 'Digite um Valor: '); readln(valor) if (valor > 10) then begin writeln('O valor é maior que 10'); end else begin writeln('O valor é menor do que 10'); end; readKey(); end. Exercício 1: Escreva um programa que leia um número menor que 100 , e caso a informação seja digitada corretamente exiba a mensagem: ‘ Valor digitado corretamente’, caso contrário, exiba : ‘O valor foi digitado incorretamente’. Exercício 2: Fazer um programa que leia três valores inteiros , determine e imprima o menor deles. Exercício 3 : Implemente um programa que leia os três lados de um triangulo é determine se o mesmo é eqüilátero, isósceles ou escaleno. 2 Estrutura de Repetição – While - do 2.1 Interrupção no inicio while condição C do begin seqüência B de comandos. end. Onde: While – do – são palavras reservadas Condição C – é a expressão lógica. A seqüência de comandos B será repetida enquanto a condição C for verdadeira. Quando a condição for falsa,o laço não será mais executado e o que vier após o end será executado. Caso tenha um único comando, o begin e end podem ser omitidos. Uesb – Introdução à Ciência da Computação - Linguagem Pascal Prof.Fabrício Sousa Página 9 de 11 Ex.16: program SomaPares; Uses Crt; var Soma, par : integer ; begin soma:=0; par:=100; while par <=200 do begin soma:= soma + par; par:= par + 2; end; writeln(‘ A soma eh: ‘, soma); ReadKey(); end. 3 Estrutura de Repetição – For-to-do for variável_ de_controle := valor_inicial to valor_final do begin seqüência B de comandos end onde: for- to – do – são palavras reservadas variável_ de_controle – é o nome da variável valor_inicial – é o primeiro valor que a variável de controle assume. valor_final - é o valor máximo que a variável de controle pode assumir. Nessa estrutura a variável de controle recebe o valor inicial; verificada se ela ultrapassa o valor final; se não ultrapassa, a seqüência B de comandos é executada; a seguir , a variável de controle recebe o valor sucessor; verifica se ele ultrapassa o valor final ; se não ultrapassa , a seqüência B de comandos é executada ; e assim sucessivamente. Ex.17: program SomaPares; Uses Crt; var Soma, N : integer ; begin for N:=50 to 100 do Soma:= Soma + 2*N; writeln(‘ A soma eh: ‘, soma); ReadKey(); end. Exercício 4 : Fazer um programa para calcular e imprimir os valores numéricos de 1 a 10. 4 Estrutura de Repetição – For-downTo-do for variável_ de_controle := valor_inicial downTo valor_final do begin seqüência B de comandos end A única diferença entre for-to-do e for-downTo-do é que no primeiro á variável é incrementada(aumentada em uma unidade) até o valor máximo, enquanto que no segundo a variável é decrementada (diminuída em uma unidade), até atingir o valor mínimo. Uesb – Introdução à Ciência da Computação - Linguagem Pascal Prof.Fabrício Sousa Página 10 de 11 Ex.18: program SomaPares; Uses Crt; Var Soma, N : integer ; begin Soma:=0; for N:=100 downTo 50 do Soma:= Soma + 2*N; writeln(‘ A soma eh: ‘, soma); ReadKey(); end. 5 Estrutura de Repetição – repeat-until repeat seqüência A de comandos until condição Onde: Repeat-until – são palavras reservadas Condição – é a expressão lógica. Nessa estrutura, a seqüência A de comandos será repetida até enquanto a condição for verdadeira. Quando for falsa, a repetição é interrompida, e a seqüência de comandos, que vier logo após a estrutura, passa a ser executada. Ex.19: program SomaPares; Uses Crt; var Soma, Par : integer ; begin Soma:=0; Par:=100; repeat Soma:= Soma + Par; Par:= Par + 2; Until Par > 200; writeln(‘ A soma eh: ‘, soma); ReadKey(); end. Exercício 5 : Implemente um programa que só termina quando for digitado um número negativo. 6 Comando Case O comando case é extremamente importante para estruturação de um programa que possua diversas opções de execução, tomando-o bem legível e estruturado, evitando o uso repetido do if. Para a execução de um determinado comando CASE, somente uma dessas seções será selecionada. A seleção está baseada numa série de testes de comparação, sendo todos executados sobre um valor desejado. A estrutura CASE também é chamada de seleção múltipla. Uesb – Introdução à Ciência da Computação - Linguagem Pascal Prof.Fabrício Sousa Página 11 de 11 Ex.20: Program Prog06; Uses Crt; var valor : integer; begin write('Digite um no. inteiro entre 1 e 4'); readln(valor); case valor of 2 : begin writeln('Número Digitado = Dois'); end; 3 : begin writeln('Número Digitado = Três'); end; 4 : begin writeln('Número Digitado = Quatro'); end; end; {case} ReadKey(); end. Exercício 6: Escreva um programa em que o usuário digite o número do mês e exiba o mês corresponde por extenso. Caso seja um número inválido informar ao usuário. 7 Resumo Os três tipos de comandos de controle de repetição devem ser utilizados visando às seguintes características: - Comando for: Utiliza-se no caso de saber o número de repetições antecipadamente e o passo de incremento ou decremento for sempre 1. Não se deve alterar o valor da variável de controle. - Comando repeat: Controla a condição de repetição após sua execução. Este comando é sempre executado pelo menos uma vez. - Comando while: Controla a condição de repetição antes da sua execução. Pode ocorrer situações em que o comando while não seja executado. 8 Exercícios Exercício 7: Implementar um programa em Pascal que leia quatros notas de uma determinada disciplina e calcule sua média. Exercício 8: Fazer um programa para calcular a área de um triângulo. Exercício 9: Fazer um programa que leia três números e calcule a soma do quadrado desses números. Exercício 10: Implementar um programa que leia números inteiros e retorne o maior deles. Exercício 11: Fazer um programa que faça a conversão de graus Fahrenheit para centígrados ( C=5/9 (F-32) ) CASE valor OF Opcao1: comando 1; Opcao2: comando 2; ... OpcaoN: comando N; ELSE Comandos; END;