









































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
Muito bom pra aqueles que estão iniciando em programação pois muitas faculdades adotam o pascal como primeira liguagem de programação
Tipologia: Notas de estudo
1 / 49
Esta página não é visível na pré-visualização
Não perca as partes importantes!










































SITEMA DE INFORMAÇÃO – PROF: EDUARD HOLFH
SITEMA DE INFORMAÇÃO – PROF: EDUARD HOLFH
TURBO PASCAL
Niklaus WirthProfessor da Escola Politécnica de Zurique.
Linguagem de programação estruturada para o desenvolvimento de aplicações de uso geral
Linguagem Turbo Pascal 6.0, produzida pela Borland Intemational.
SITEMA DE INFORMAÇÃO – PROF: EDUARD HOLFH
= Igual a <> Diferente de <= Menor ou igual a
= Maior ou igual a
not - negação and - e or - ou xor - ou exclusivo
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. Exemplos: Variável inteira A, real B e booleana C. Var A : integer; B : real;C : boolean;
Naextensão. Esta declaração da extensão reserva uma área fixa na memória para o declaração de uma variável string, necessita-se informar a sua máxima processamento. Exemplo: A variável string R com 13 caracteres, seria assim declarada:
SITEMA DE INFORMAÇÃO – PROF: EDUARD HOLFH
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 x : integer; y : integer;z : integer;
O símbolo := equivale á uma flecha ( <- ), indicando que é uma atribuição.
O ponto e vírgula no Turbo Pascal indica o fim do comando e sua presença éobrigatória
Todos os programas em Turbo Pascal devem começar e terminar desse modo: program Exemplo; .. begin. .. .
SITEMA DE INFORMAÇÃO – PROF: EDUARD HOLFH
Exemplo 3: Program Prog01 ; var LARGURA, COMPRIMENTO, ALTURA: integer; begin LARGURA := 10;COMPRIMENTO := 3; ALTURA := 2;writeln('VOLUME = ', LARGURACOMPRIMENTOALTURA,' Cm3'):
end.
O resultado do programa acima ficaria assim no vídeo:VOLUME = 60 cm
Os comandos que acionam a impressora são os mesmos do vídeo, ou seja, writee writeIn, acrescidos do parâmetro (lst).
Exemplo: writeIn(lst,'VOLUME = ', LARGURACOMPRIMENTOALTURA,' cm3'); OBS.: O comando de mudança de linha (line feed) é dado após a impressão noexemplo anterior. A saida do comando de impressão (VOLUME = 60 cm3) seria a mesma com os comandos abaixo: write(lst,'VOLUME = ');write(lst,LARGURACOMPRIMENTOALTURA); write(lst,'cm3');
SITEMA DE INFORMAÇÃO – PROF: EDUARD HOLFH
read - Não inclui "tine feed" após a operação. readln - inclui "line feed" após operação Exemplo: readIn(QUANTIDADE); 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. readln(COMPRIMENTO,LARGURA,ALTURA); OBS.: É conveniente pedir apenas uma entrada de dado por cada comando readou readIn, para que não ocorra inconvenientes na entrada de textos.
Exemplo: Program Prog02; varC,L,A : integer;
begin write('DlGlTE COMPRIMENTO');readln(C); write('DIGITE LARGURA');readln(L); write('DIGITE ALTURA'); readln(A); writein('VOLUME = ',cLA,' cm3'); end. OBS.: Quando usado o comando writeIn sem variáveis a serem impressas, causará apenas o envio de um line feed (mudança de linha) para a tela ouimpressora.
SITEMA DE INFORMAÇÃO – PROF: EDUARD HOLFH
begin writel'DIGITE UM VALOR: ');readIn(VALOR) if VALOR > lo thenbegin endwriteln('O VALOR É MAIOR QUE 10'); elsebegin end;writeln('o VALOR É MENOR DO QUE lo'); end. Program Prog05; var VALOR : real; begin write('DIGITE UM VALOR POSITIVO MENOR QUE 100:'); readIn(VALOR) if (VALOR > 0) and (VALOR < 100) thenbegin endwriteln('fol DIGITADO CORRETAMENTE')j else beginwriteln('fol DIGITADO ERRADO'); end; end.
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.
Exemplo:
SITEMA DE INFORMAÇÃO – PROF: EDUARD HOLFH
Program Prog06; var VALOR : integer; begin write('DIGITE UM NÚMERO ENTRE 0 e 2 INCLUSIVE');readIn(VALOR); case VALOR of 0 : begin end;writeIn('NÚMERO DIGITADO = ZERO'); 1 : beginwriteIn('NÚMERO DIGITADO = UM'); end; 2 : beginwriteIn('NÚMERO DIGITADO = DOIS'); end; end; {case) end. O comando case oferece uma opção de else (se não). Veja o exemplo abaixo: Program Prog07; var VALOR : integer; begin write('DIGITE UM NÚMERO ENTRE 0 E 2 INCLUSIVE');readln(VALOR); case VALOR of 0 : begin writelnl'Número Digitado = zero');
SITEMA DE INFORMAÇÃO – PROF: EDUARD HOLFH
OBS:comparação deve ser feita em relação a um string. A presença dos apóstrofos limitando as letras S e N indica que a
abs(X) - Retorna o valor absoluto de X. arctan(X) - Retorna o arco tangente de X em radianos. cos(X) - Retorna o cosseno de X (X deve estar em radianos). exp(X) - Retoma o valor de e elevado à X. frac(X) - Retorna a parte decimal (fracionária) de X. int(X) - Retorna o valor inteiro de X. ln(X) - Retorna o logaritimo natural ou neperiano de X. sin(X) ~ Retorna o seno de X (X em radianos). sqr(X) ~ Retoma o quadrado de X. sqrt(X) - Retoma a raiz quadrada de X.
A potenciação A = BC^ ( A é igual a B elevado à C ) obtem-se da seguinte forma: A := exp(C*In(B))
concat(X,Y,...) , Concatena as strings X, Y, ... OBS : Pode-se também usar a soma (+) de strings. Exemplo: A :='AERO';
SITEMA DE INFORMAÇÃO – PROF: EDUARD HOLFH
B := 'DINAMICA'; concat(A,B) retorna AERODINAMICA. copy(X,Y,Z) - Extrai Z caracteres a partir do Y-ésimo caractere da string X. Exemplo: A := 'AERODINAMICA'; copy(A,5,4) retoma DINA. lenght(X) - Retorna o comprimento da string X. Exemplo: A := 'AERODINAMICA'; lenght(A) retorna 12. pos(X,Y) - Retorna a posição da string X dentro da string Y. Se não for encontradaretornará 0.
Exemplo: A := 'FUMEC'; B :='M'; pos(A,B) retorna 3. delete(A,B,C) - Remove C caracteres a partir da posição B da string A. Exemplo: A:='PANCADARIA'; delete(A,3,3); a variável A conterá Padaria. insert(A,B,C) - Insere A na string B, a partir da posição C. Exemplo: A :='NCA';
SITEMA DE INFORMAÇÃO – PROF: EDUARD HOLFH
round(X) retoma 17. trunc(X) - Retorna o maior inteiro não maior que X (menor ou igual a X)
keypressed - É uma função booleana que devolve o valor true se alguma teclaestiver sendo pressionada e false em caso contrário.
random - Retorna um número real randômico entre 0 e 1. random(X) - Retoma um número real randômico entre 0 e X. upcase(X)maiúsculo. Caso contrário, não há alteração. - Se o caractere X do tipo char for minúsculo, converte-o para
OBS: As funções e os procedimentos descritos até aqui são chamados predefinidos ou predeclarados. Mais adiante estudaremos como se utilizam asfunções e os procedimentos declarados pelo próprio usuário.
os comandos a serem repetidos , ou seja, aqueles que serão submetidos ao loop, devem estar limitados por begin e end. A condição de repetição é testado antes, e portanto, os comandos envolvidos no while podem não ser executados nenhuma vez. Exemplo: Programa para calcular e imprimir os números inteiros de 0 a 100. Program Prog09; var I : real; begin I:=o;
SITEMA DE INFORMAÇÃO – PROF: EDUARD HOLFH
while 1 <= 100 dobegin writeIn(I); end;I := I+1; end. As condições que acompanham o while podem ser compostas de not, and, or exor, tal como o comando if.
para outra Iinha do programa que está marcada com um Iabel (rótulo). Este Iabel^ O comando goto desvia o processamento do ponto em que for encontrado, necessita ser declarado no início do programa.Este recurso (goto / Iabel) nos permite abandonar de forma "radical" um Ioop, antes que seja executado até o final por vias normais. O goto é um comando"forte" que pode abandonar não só o loop controlado pelo while como também os Ioops gerados pelos outros dois comando de repetição que estudaremos maisadiante (for e repeat).
Exemplo:O programa abaixo permite a entrada de no máximo dez números para serem somados dentro da variável SOMA, ou até ser digitado zero: Program Prog10;var I, SOMA : integer; labelFIM; begin1 := 0; SOMA := 0; while I <= lo do beginwrite('DIGITE VALOR: '); readln(NUm); if NUM o 0 thenbegin endSOMA := SOMA + NUM;
SITEMA DE INFORMAÇÃO – PROF: EDUARD HOLFH
varI : integer;
begin for I := 10 downto 1 dobegin writeIn(I); end; end.
outro for, a escrita do programa ficará assim:Quando houver necessidade da existência de um for dentro da estrutura de Program Prog varI,J ; integer;
begin for I := 1 to 10 dobegin .for J := 1 to 10 do begin.
.. end;
end;. end. OBS: O comando repetitivo for deve ser utilizado nos locais em que a quantidadede vezes a ser repetida já está determinada antes da sua execução. Isto significa que não devemos fazer atribuições à variável de controle do for dentro da própriaestrutura. Esta variável pode ser utilizada para ser impressa ou para cálculos, mas jamais deve receber algum valor.
SITEMA DE INFORMAÇÃO – PROF: EDUARD HOLFH
for, mas há duas diferenças fundamentais:^ O comando repeat controla repetições de trecho de programa tal como o
do repeat / until não precisa estar predefinido. Os próprios comandos situados- O número de vezes que se repetirá as linhas de programa situadas dentro entre o repeat e o until podem determinar a saída ou não do loop de repetição.
do loop.- A verificação da suficiência ou não da condição de repetição é feita no fila Exemplo: Suponha um programa que só termina quando for digitado um número negativo: Program Progl 4; varVALOR : real; beginVALOR := 0;
repeat readln(VALOR);writel'DIGITE UM NÚMERO NEGATIVO') ; until VALOR < 0; end.
end. - Os comandos a serem repetidos não necessitam ser limitados por begin e
única vez.- Os comandos internos ao repeat / until são executados pelo menos uma