
























Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Programação
Tipologia: Notas de estudo
1 / 32
Esta página não é visível na pré-visualização
Não perca as partes importantes!

























João Batista dos Santos Pimentel Diego Melo dos Passos Bruno Robsosn dos Santos Ronilson Almeida Santos
Manaus – Am 2014
João Batista dos Santos Pimentel Diego Melo dos Passos Bruno Robsosn dos Santos Ronilson Almeida Santos
Projeto de pesquisa apresentado para obtenção de nota na disciplina Lógica de Programação do curso Técnico em Automação Industrial do Instituto Benjamin Constant - IBC.
Prof.(o): Alacy Serrão
Manaus – Am 2014
A linguagem Pascal, cujo nome é uma homenagem ao matemático francês Blaise Pascal, foi desenvolvida na década de 60 pelo professor Niklaus Wirth. Inicialmente, sua finalidade era ser uma linguagem para uso didático, que permitisse ensinar com clareza os principais conceitos envolvidos na programação estruturada de computadores. Hoje, numa versão mais moderna denominada Delphi, essa linguagem é também utilizada por profissionais de diversas áreas tais como processamento de dados, computação e engenharia.
1. História de Pascal
Linguagem de programação estruturada, recebeu este nome em homenagem ao matemático Blaise Pascal, foi criada em 1971 pelo suíço Niklaus Wirth, visando promover o uso de código estruturado, teve grande sucesso na década de 1980, sendo utilizada em computadores baseados na arquitetura 8080 e 8086, gera programas compilados (.EXE). Pascal e normalmente uma das linguagens de escolha para ensinar programação.
1.1 Histórico da Linguagem Pascal
Origem: desenvolvida nos anos entre 1968 e 1970 por Nicklaus Wirth na Universidade Técnica de Zurique, Suíça. Em 1970 é disponibilizado o primeiro compilador para a linguagem. Objetivo: desenvolver uma linguagem de programação disciplinada de alto nível para ensinar programação estruturada. Esta linguagem foi batizada com o nome de Pascal, em homenagem a Blaise Pascal, filósofo e matemático francês que viveu entre 1623 e 1662. Padronização: ANSI ( American National Standars Institute ) e IEEE ( Institute of Eletrical and Eletronics Engineers ) Padrão de Fato: Borland International cria em 1983 o Turbo Pascal. Atualizações: durante os últimos anos foram lançadas diversas variações da linguagem Pascal-Padrão, implementando recursos que não são encontrados na estrutura padrão da linguagem. Nas mãos da Borland, já foram lançadas as versões 3.0, 4.0, 5.0 e 5.5 na década de 80. Durante a década de 90 foram lançadas as versões 6.0, 7.0 e o lançamento da linguagem Delphi, para programação em ambiente Windows.
2. Estrutura de um programa em pascal
Todo programa escrito em Pascal é subdividido em três áreas distintas: cabeçalho do programa, área de declarações e corpo do programa.
3. Tipos de Dados Pré-definidos
Os dados são representados pelas informações a serem processadas por um computador. Um tipo de dados especifica os valores e operações possíveis de serem utilizados com um dado desse tipo. Toda variável e constante usada em um programa tem um tipo associado a ela. A linguagem Pascal fornece ao programador um conjunto de tipos de dados predefinidos.
3.1 Tipos de Dados Inteiros
São caracterizados tipos inteiros, os dados numéricos positivos ou negativos, excluindo-se qualquer número fracionário. Em Pascal, este tipo de dado pode ser referenciado por um dos seguintes identificadores: Tipo de dado inteiro Faixa de abrangência^ Tamanho(bytes ) shortint de – 128 até 127 1 byte integer de – 32.768 a 32.767 2 bytes longint de – 2.147.483.648 a 2.147.483.647 4 bytes byte de 0 até 255 1 byte word de 0 até 65535 2 bytes Tabela 1 – Identificadores de dados inteiros Exemplo: var NumAlunos : integer; Cont,cont1 : integer; 3.2 Tipos de Dados Reais
O tipo de dado real permite trabalhar com números fracionários, tanto positivos como negativos, sendo sua capacidade de armazenamento maior que dos números inteiros. Tipo de dado real Faixa de abrangência Tamanho(bytes ) real de 2.9 e-39 até 1.7 e38 6 bytes single de 1.5 e-45 até 3.4 e38 4 bytes double de 5.0 e-324 até 1.7e308 8 bytes extended de 3.4 e-4.932 até 1.1 e4.932 10 bytes comp de – 9.2 e18 até 9.2 e18 8 bytes Tabela 2 – Identificadores de dados reais Exemplo: var
Nota : real; Salario, media : real; 3.3 Tipos de Dados Caracteres
São considerados tipos caracteres, as seqüências contendo letras, números e símbolos especiais. Uma seqüência de caracteres, em Pascal, deve ser representada entre apóstrofos („‟). Este tipo de dado é referenciado pelo identificador string, podendo armazenar de 1 até 255 caracteres. Podemos ainda especificar um tamanho menor do que os 255 caracteres permitidos. Vejamos a sintaxe utilizada para criar uma variável do tipo string com tamanho limitado.
Sintaxe: variável : string[tamanho]; Exemplo do uso de strings: var Frase : string; Nome : string[45]; Existe ainda o tipo char , utilizado da mesma forma que o tipo string, porém com uma pequena diferença: é usado para strings de apenas um caractere. Exemplo do tipo de dado char : var Sexo : char;
3.4 Tipos Lógicos
São caracterizados tipos lógicos, os dados com valores true (verdadeiro) e false (false). Este tipo de dado também e chamado de tipo boleano. Ele é representado pelo identificador boolean. Exemplo da utilização do tipo de dado boolean: var Aprovado : boolean; Confirma : boolean;
4. Identificadores
Exemplo: var Soma, Total, Salario : real; Idade, Contador : integer;
6. Constantes
Constante e um determinado valor fixo que não se modifica ao longo do tempo, durante a execução de um programa. Conforme o seu tipo, a constante e classificada como sendo numérica, lógica e literal. Sintaxe: const identificador = expressão; ... identificador = expressão; Exemplo:
7. Comentários
program Area_Circulo; { Programa para calcular a área de um círculo. } const PI = 3.141519265; var Area, Comprimento, Raio : real; begin writeln( ´Digite o Raio : ´ ); readln( Raio ); Area := PI * Raio * Raio; Comprimento := 2 * PI * Raio; writeln( ´Área = ´, Area ); writeln( ´Comprimento da Circunferencia = ´, Comprimento ); end.
Comentários são textos escritos dentro do código-fonte para explicar ou descrever alguns aspectos relativos ao mesmo. Os comentários podem ser colocados em qualquer lugar do programa onde um espaço em branco possa existir. Você pode colocar comentários de duas formas: ou envolvendo o texto entre chaves “{..}” ou entre “ (* .. )”. Quando o compilador encontra o símbolo “{“ ele salta todos os caracteres até encontrar um “}”. Da mesma forma, todos os caracteres que seguem “(” são pulados até ser detectado o símbolo ”)”. Como resultado disso, qualquer uma das formas pode ficar dentro da outra; por exemplo {...(...*)...} é um comentário.
8. Comando de Atribuição (<-)
O comando de atribuição tem a forma:
Exemplos:
Na construção de algoritmos, é conveniente que o usuário possa informar dados externos, para serem operados pelo programa. Assim, um programa pode receber um dado informado por um operador através de um comando de leitura. Da mesma forma, pode ser necessário conhecer o resultado de determinada operação executada pelo computador, então será necessária uma forma de exibir os dados. Cada linguagem tem uma forma específica para entrada e saída de dados. Em algoritmos usaremos os comandos genéricos leia() e escreva(), para realizar a interface com o usuário.
10.1 Dados de Entrada e Saída
O Pascal oferece um conjunto de funções predefinidas (built-in functions), que são usadas com vários tipos de dados simples. As funções, na maioria das vezes, necessitam de dados como parâmetro. Nome Função Objetivo Tipo Parâmetro Tipo do Retorno abs( x ) Calcula o valor absoluto de x. inteiro ou real o mesmo que x cos( x ) Calcula o coseno de x em radianos inteiro ou real real exp( x ) (^) sistema natural de logaritmos neperianos.Calcula eˣ, em que e=2.7182818 é inteiro ou real real ln( x ) Calcula o logaritmo natural de x (x>0) inteiro ou real real exp(ln(x)*y) Retorna x elevado a y {utilizando regras de logaritmos}. inteiro ou real real sin( x ) Calcula o seno de x em radianos inteiro ou real real sqr( x ) Calcula o quadrado de x inteiro ou real o mesmo que x sqrt( x ) Calcula a raiz quadrada de x (x>=0) inteiro ou real real odd( x ) Determina se x é par ou impar TRUE, X é par / FALSE, X é impar inteiro boolean random( x )
Retorna um número pseudo-aleatório entre 0 e x. Se x não for especificado retorna um valor entre 0.0 e 1.
inteiro real pi Retorna o valor de PI (3.1415...) Nenhum real Tabela 3 - Funções Matemáticas
Nome Função Objetivo Tipo Parâmetro Tipo do
Retorno length( x ) Determina o número de caracteres de x string inteiro concat( x1, x2, x3,...)
Concatena duas ou mais strings (máx 255 caracteres) string^ string
copy( x, y, z )
Retorna uma subcadeia da cadeia x, com z caracteres, começando no caracter y.
string, inteiro, inteiro string
UpCase( x ) Retorna x convertido para maiúscula char char Tabela 4 - Funções Literais
Nome Função Objetivo Tipo Parâmetro Tipo doRetorno trunc( x ) Trunca x para um número inteiro real inteiro int( x ) Retorna a parte inteira de x real real real real frac( x ) Retorna a parte fracionária de x real real round( x ) Arredonda x para um inteiro real inteiro chr( x ) Determina o caracter por xe^ ASCII representado inteiro char Tabela 5 - Funções para Conversão Nome Função Objetivo Tipo Parâmetro Tipo do Retorno sizeof( x ) Retorna o número de byte de x qualquer tipo inteiro gotoxy(x,y) Move o curso para a coluna x e linha y inteiro Tabela 6 - Funções e Procedimentos de Uso Geral
10.2 Dados de Entrada
Um comando de entrada serve para que o programa solicite dados no momento em que o mesmo está sendo executado. Esses dados fornecidos serão armazenados em variáveis na memória. Em geral a unidade de entrada é o teclado, podendo também ser uma memória auxiliar como o winchester. Considerando a unidade de entrada padrão, o teclado, o comando seria: READ (<identificador-1>,...<identificador-n>) ou READLN (<identificador-1>,...,<identificador-n>) Com READ o cursor permanece na mesma linha após a execução do comando; com o READLN o cursor muda para a próxima linha.
10.3 Dados de Saída
if (x > 10) then writeln (“O valor da variavel X e 10”); ... Caso venha a existir mais de uma instrução verdadeira para uma determinada condição, estas deverão estar inseridas em um bloco. Um bloco é o conjunto de instruções estar entre begin e end. Sintaxe: if <condição> then begin <instrução para condição verdadeira > <instrução para condição verdadeira > <instrução para condição verdadeira > <instrução para condição verdadeira > end; <instrução para condição falsa ou após condição ser verdadeira > Observe que o end é finalizado com um ponto-e-vírgula ( ; ) e não apenas ponto. O uso de ponto ao final de um end ocorre somente na finalização de um programa. Exemplo de um trecho de programa com a utilização de um bloco de instruções: ... if (x > 10) then begin writeln (“O valor da variavel X e 10”); x : = x + 1; writeln (“O valor da variavel X agora e11”); end; ... Exemplo completo de um programa com o uso da instrução if...then. “Ler dois valores inteiros e independentemente da ordem em que foram inseridos, estes deverão ser exibidos em ordem crescente, ou seja, se forem fornecidos 5 e 3 respectivamente, deverão ser apresentados 3 e 5. O programa em questão deverá efetuar a troca dos valores entre as duas variáveis”
11.2 A instrução if...then...else
Assim como a instrução if...then, a instrução if...then...else tem por finalidade tomar uma decisão e efetuar um desvio no processamento. Se a condição for verdadeira será executada a instrução logo abaixo do if. Sendo a condição falsa , será executada a instrução que estiver posicionada logo após a instrução else. O conceito de blocos de instruções vale também para esta instrução. Sintaxe: if < condição > then < instruções para condição verdadeira > else < instruções para condição falsa >; Caso venha a existir mais de uma instrução verdadeira ou falsa para uma condição, estas deverão estar inseridas em um bloco. Sintaxe: if < condição > then begin < instruções para condição verdadeira >; < instruções para condição verdadeira >; end else begin < instruções para condição falsa >; < instruções para condição falsa >; end; Observe que nos dois casos abordados acima, qualquer instrução que antecede a instrução else está escrita sem o ponto-e-vírgula (;). Isto ocorre pelo fato de a instrução else ser uma extensão da instrução if...then , e sendo assim, o final da condição somente ocorre após o processamento da instrução else. Exemplo: “ Ler dois valores numéricos e efetuar a adição. Caso o valor somado seja maior ou igual a 10, este deverá ser apresentado somando-se a ele mais 5. Caso o valor somado não seja maior ou igual a 10, esta deverá ser apresentado subtraindo-se 7. ” 11.3 Estrutura while....do
A estrutura de controle FOR permite que um comando simples ou composto seja repetido um número específico de vezes. A sua forma geral é: FOR :=
12. Múltiplas Seleções: case else
O comando case é um comando que permite selecionar um ou mais comandos para serem executados conforme o valor de uma expressão escalar (ou seja, o valor deve ser simples, não pode ser, por exemplo, uma string). Somente os tipos inteiro, caractere, lógico, e tipos enumerados podem ser usados. Neste comando o valor da expressão é comparado com os valores dos casos previstos de execução. No máximo um caso pode ser verdadeiro.
Os valores dos casos podem ser: um valor de uma constante escalar. uma lista de valores escalares, separados por vírgulas. uma faixa de valores da forma <valor-1> .. <valor-2>, significando o conjunto de valores contidos no intervalo de <valor-1> a <valor-2>. uma combinação de faixas de valores e listas de valores, separados por virgulas. Além disso os valores não podem ser repetidos, ou seja, um valor só pode aparecer em apenas um dos casos. Sintaxe: case <expressão> of Lista Constantes Escalares-1: Comando-1; Lista Constantes Escalares-2: Comando -2;
... Lista Constantes Escalares-k: Comando-k; else Comando; ... Comando;
end
13. Estrutura de Dados Homogêneos
Ao utilizamos variáveis, podemos armazenar apenas um valor por vez. Agora, imagine um programa onde precisa-se armazenar as notas de 5 provas realizadas por um aluno. Com os conhecimentos que você possui até agora, seria necessário criar cinco variáveis para armazenar as notas. Exemplo: NOTA1, NOTA2, NOTA3, NOTA4, NOTA5 : integer ;
13.1 Vetores