programação em pascal 7 - armando hage – conteúdo de ... · prof. esp. armando hage...

32
Disciplina Programação Disciplina Programação Prof. Esp. Armando Hage Prof. Esp. Armando Hage Programação em Turbo Pascal Programação em Turbo Pascal

Upload: lengoc

Post on 14-Nov-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Disciplina ProgramaçãoDisciplina Programação

Prof. Esp. Armando HageProf. Esp. Armando Hage

Programação em Turbo Pascal Programação em Turbo Pascal

Introdução

A linguagem de programação pascal foi A linguagem de programação pascal foi escrita por Niklaus Wirth entre 1969 e 1971, e escrita por Niklaus Wirth entre 1969 e 1971, e deriva das linguagens ALGOL-60 que por deriva das linguagens ALGOL-60 que por sua vez, gerou ALGOL-69, que são muitos sua vez, gerou ALGOL-69, que são muitos complexas e extensas. Do Pascal derivam as complexas e extensas. Do Pascal derivam as linguagens Modula-2, Ada, Object Pascal, linguagens Modula-2, Ada, Object Pascal, Turbo Pascal entre outras. Turbo Pascal entre outras.

Conhecendo a FerramentaConhecendo a Ferramenta Os principais itens do primeiro Os principais itens do primeiro

menu são:menu são:– New: Cria um novo arquivoNew: Cria um novo arquivo– Open: Abre um código fonte Open: Abre um código fonte

de existentede existente– Save e Save as...: Servem Save e Save as...: Servem

respectivamente para salva e respectivamente para salva e salvar com outro nomesalvar com outro nome

– Print: Imprime o códigoPrint: Imprime o código– Printer setup: Mostra as Printer setup: Mostra as

configurações da impressoraconfigurações da impressora– Dos shell: Abre o MS-DOSDos shell: Abre o MS-DOS– Exit: Sai do Turbo PascalExit: Sai do Turbo Pascal

Conhecendo a FerramentaConhecendo a Ferramenta

O mais importante O mais importante deste menu é o deste menu é o comando Undo, que comando Undo, que serve para desfazer a serve para desfazer a ultima ação ultima ação executada executada

Conhecendo a FerramentaConhecendo a Ferramenta

Run:Compila e Roda o programa ao mesmo Run:Compila e Roda o programa ao mesmo tempotempo

Sempre usado para testar e verificar se seu Sempre usado para testar e verificar se seu programa pascal está corretoprograma pascal está correto

Conhecendo a FerramentaConhecendo a Ferramenta Compilar: Usado Compilar: Usado

somente para somente para compilara seu compilara seu programa fonte, programa fonte, verificando possíveis verificando possíveis erros.erros.

Conhecendo a FerramentaConhecendo a Ferramenta

Messages: Exibe uma caixa de mensagens na inferior do vídeo, onde são mostradas todas as mensagens e linhas de erros

Conhecendo a FerramentaConhecendo a Ferramenta

Editor de textos do Pascal, Editor de textos do Pascal,

é nele que serão digitados os códigos de é nele que serão digitados os códigos de programasprogramas

Comandos BásicosComandos Básicos

Tipo de dado realTipo de dado real Faixa de abrangênciaFaixa de abrangência

RealReal 2,9 E-39 a 1,7 E+382,9 E-39 a 1,7 E+38

SingleSingle 1,5 E-45 a 3,4 E+381,5 E-45 a 3,4 E+38

DoubleDouble 5,0 E-324 a 1,7 E+3085,0 E-324 a 1,7 E+308

ExtendedExtended 3,4 E-4.932 a 1,1 E+4.9323,4 E-4.932 a 1,1 E+4.932

CompComp -9,2 E+18 a 9,2 E+18-9,2 E+18 a 9,2 E+18

Tipos de VariáveisTipos de Variáveis

Comandos BásicosComandos Básicos

Tipo de dado inteiroTipo de dado inteiro Faixa de abrangênciaFaixa de abrangência

ShortintShortint -128 a 127-128 a 127

IntegerInteger -32.768 a 32.767-32.768 a 32.767

LongintLongint -2.147.483.648 a -2.147.483.648 a 2.147.483.6472.147.483.647

ByteByte 0 a 2550 a 255

WordWord 0 a 65.5350 a 65.535

Tipos de VariáveisTipos de Variáveis

String String : : Pode armazenar uma seqüência de Pode armazenar uma seqüência de letras, dígitos e caracteres especiais, desde que letras, dígitos e caracteres especiais, desde que tenham tamanho máximo de 255 caracterestenham tamanho máximo de 255 caracteres. .

Boolean : Armazena somente os valores Boolean : Armazena somente os valores verdadeiros (True) ou falso (False).verdadeiros (True) ou falso (False).

Char : Armazena um único caracter (letras, Char : Armazena um único caracter (letras, dígitos ou caracter especiais, como uma tecla dígitos ou caracter especiais, como uma tecla por exemplo)por exemplo)

Comandos BásicosComandos Básicos

Tipos de VariáveisTipos de Variáveis

Palavras ReservadasPalavras Reservadas

As palavras reservadas do Turbo Pascal As palavras reservadas do Turbo Pascal são palavras que fazem parte da sua são palavras que fazem parte da sua estrutura e têm significados pré-estrutura e têm significados pré-determinados. Elas não podem ser determinados. Elas não podem ser redefinidas e não podem ser utilizadas redefinidas e não podem ser utilizadas como identificadores de variáveis, como identificadores de variáveis, procedures, functions etc. procedures, functions etc.

absolute and array beginabsolute and array begin

case const div docase const div do

downto else end externaldownto else end external

file for forward functionfile for forward function

goto if in inlinegoto if in inline

label mod nil notlabel mod nil not

of or packed procedureof or packed procedure

program record repeat setprogram record repeat set

shl shr string thenshl shr string then

to type until varto type until var

while with xorwhile with xor

Palavras ReservadasPalavras Reservadas

Entrada e Saída de DadosEntrada e Saída de DadosWrite ou WriteLnWrite ou WriteLn : escreve algo num dispositivo de : escreve algo num dispositivo de saída, se o dispositivo não for especificado o default saída, se o dispositivo não for especificado o default será a tela do micro. será a tela do micro.

writeLn('Isto é uma string e sairá na tela'); writeLn('Isto é uma string e sairá na tela');

Podemos enviar dados para a impressora através das Podemos enviar dados para a impressora através das procedures Write e Writeln. Para tanto, devemos procedures Write e Writeln. Para tanto, devemos colocar, antes dos parâmetros a serem enviados à colocar, antes dos parâmetros a serem enviados à impressora, o nome lógico impressora, o nome lógico LSTLST. .

Read ou ReadLn Read ou ReadLn : Permite a entrada de dados via : Permite a entrada de dados via teclado.teclado.

write('Digite um valor para X: )' write('Digite um valor para X: )'

read(x); read(x);

Operadores AritméticosOperadores Aritméticos

+ adição+ adição

- subtração- subtração

* multiplicação* multiplicação

/ divisão entre números reais/ divisão entre números reais

DIV divisão entre números DIV divisão entre números inteirosinteiros

MOD resto da divisãoMOD resto da divisão

Operadores LógicosOperadores Lógicos

AND E lógicoAND E lógico

OR OU lógicoOR OU lógico

XOR OU EXCLUSIVO lógicoXOR OU EXCLUSIVO lógico

NOT Não lógico NOT Não lógico

Operadores Relacionais Operadores Relacionais

O Turbo Pascal possui ao todo 7 operadores O Turbo Pascal possui ao todo 7 operadores relacionais que são muitorelacionais que são muito

utilizados nas tomadas de decisões, são utilizados nas tomadas de decisões, são eles:eles:

= igual= igual

<> diferente<> diferente

> maior que> maior que

< menor que< menor que

>= maior ou igual que>= maior ou igual que

<= menor ou igual que<= menor ou igual que

IN testa se um elemento está incluso em IN testa se um elemento está incluso em um conjuntoum conjunto

Propriedades de Tela

O monitor tem a medida de 80 (altura) x 25 O monitor tem a medida de 80 (altura) x 25 (largura) e é expresso por X,Y. A cor padrão das (largura) e é expresso por X,Y. A cor padrão das letras são : Letra cinza clara e fundo preto.letras são : Letra cinza clara e fundo preto.

GOTOXY(X,Y)GOTOXY(X,Y) - Este comando faz com que o cursor vá - Este comando faz com que o cursor vá para o local desejado, de coordenadas X e Y, um para o local desejado, de coordenadas X e Y, um exemplo é : exemplo é : Gotoxy(12,5)Gotoxy(12,5). Após este comando o cursor . Após este comando o cursor vai para o local especificado e (se quiser) escreve algo vai para o local especificado e (se quiser) escreve algo lá ! lá !

TEXTCOLOR(TEXTCOLOR(corcor)), , TEXTBACKGROUND(TEXTBACKGROUND(corcor)) - Com - Com estes dois comandos é possível mudar a cor do texto estes dois comandos é possível mudar a cor do texto e do fundo respectivamente. A cor pode ser e do fundo respectivamente. A cor pode ser especificada em número ou com o nome.especificada em número ou com o nome.

A área de declarações é subdividida em A área de declarações é subdividida em seis sub-áreas.seis sub-áreas.

- Label- Label

- Const- Const- TypeType- VarVar

- Procedures- Procedures

- Functions- Functions

Corpo de um pr ograma em Corpo de um pr ograma em Pasc alPasc al

LabelLabel Serve como um rotulo dentro de um código Serve como um rotulo dentro de um código

fonte.Pode-se atribuir qualquer nome, e fonte.Pode-se atribuir qualquer nome, e quando invocado pelo comando quando invocado pelo comando GOTO(Nome_Label) voltará para aquela GOTO(Nome_Label) voltará para aquela marcação.marcação.

Uses Crt; Uses Crt; Label Nome1, Nome2,...;Label Nome1, Nome2,...;......Devemos declarar todos os labels que forem Devemos declarar todos os labels que forem

utilizados no corpo do programa. Os labels são utilizados no corpo do programa. Os labels são utilizados em conjunto com a instrução goto.utilizados em conjunto com a instrução goto.

Labels e GotoLabels e Goto A instrução A instrução GotoGoto permite desviar a seqüência de permite desviar a seqüência de

execução do programa para um determinado execução do programa para um determinado LabelLabelpré-definido. Para utilizarmos algum pré-definido. Para utilizarmos algum LabelLabel, ele deve, , ele deve, obrigatoriamente, ser declarado na subárea obrigatoriamente, ser declarado na subárea LabelLabel..

Uses CRT;Uses CRT; ..............

LabelLabel Inicio; Inicio;

Var x,y,z : Integer;Var x,y,z : Integer;

tecla : Char;tecla : Char;

BeginBegin

InicioInicio::

ClrScr;ClrScr;

If ((Tecla = 'S') OR (Tecla = 's')) Then Goto Inicio;

End.

Estrutura Condicional Estrutura Condicional As estruturas condicionais impõem uma condição para que uma As estruturas condicionais impõem uma condição para que uma tarefa seja realizada. tarefa seja realizada.

- Condição IF.. Then.. - Condição IF.. Then.. Else (Se.. Então.. Senão); Else (Se.. Então.. Senão);

- Se a condição for satisfeita e não executa um bloco de tarefas - Se a condição for satisfeita e não executa um bloco de tarefas senão executa outra tarefa ou cai fora da estrutura. senão executa outra tarefa ou cai fora da estrutura.

If If <condição> <condição>

ThenThen <bloco>; <bloco>;

OU OU

If If <Condição> <Condição>

ThenThen <bloco> <bloco>

Else Else <bloco>; <bloco>;

- Instrução CASE; - Instrução CASE;

O comando CASE é um seletor de opções, executando a opção que O comando CASE é um seletor de opções, executando a opção que for igual à expressão. for igual à expressão.

Ex.: Ex.:

CASE CASE <expressão> <expressão> Of Of

1:bloco; 1:bloco;

2:bloco; 2:bloco;

3:bloco; 3:bloco;

Else Else

bloco; bloco;

END; END;

Estrutura Condicional Estrutura Condicional

Estrutura de RepetiçãoEstrutura de RepetiçãoUma estrutura de repetição repete um bloco até que a Uma estrutura de repetição repete um bloco até que a condição seja satisfeita. condição seja satisfeita.

FORFOR

For For <variavel> := <valor inicial> <variavel> := <valor inicial> to/downtoto/downto <valor final> do <valor final> do <comando>;<comando>;

FORFOR X:=1 X:=1 toto 10 10 dodo

Begin Begin

<Bloco> { O bloco será repetido até que x tenha o valor <Bloco> { O bloco será repetido até que x tenha o valor 10} 10}

end; end;

ExemploExemplo

Program Exemplo_1;Program Exemplo_1;

Uses CRT;Uses CRT;

Var i : Integer;Var i : Integer;

BeginBegin

ClrScr;ClrScr;

For i:=10 to 15 do For i:=10 to 15 do Writeln(i); Writeln(i); (* para i igual a (* para i igual a 10 até 15 faça escreva i *)10 até 15 faça escreva i *)

End.End.

Program Exemplo_2;Program Exemplo_2;

Uses CRT;Uses CRT;

Var i : Integer;Var i : Integer;

BeginBegin

ClrScr;ClrScr;

For i:=10 downto 1 do For i:=10 downto 1 do Writeln(i);Writeln(i);

End.End.

WHILE WHILE

While <condição> Do While <condição> Do

Enquanto a condição não for satisfeita faça Enquanto a condição não for satisfeita faça

REPEAT REPEAT

RepeatRepeat

Comando_1;Comando_1;

Comando_2;Comando_2;

Comando_3;Comando_3;

. . .. . .

UntilUntil (expressão_lógica); (expressão_lógica);

Repete ATÉ a condição ser satisfeita. Repete ATÉ a condição ser satisfeita.

Estrutura de RepetiçãoEstrutura de Repetição

ExemplosExemplos Program Exemplo_1;Program Exemplo_1; Uses CRT;Uses CRT; {Programa exemplo para mostrar o funcionamento da {Programa exemplo para mostrar o funcionamento da

estrutura Repeat Until}estrutura Repeat Until} Var i : Integer;Var i : Integer; BeginBegin ClrScr;ClrScr; i:=1;i:=1; RepeatRepeat Writeln(i);Writeln(i); i:=i+1;i:=i+1; Until i=10; Until i=10; End.End.

ExemploExemplo

Program Exemplo_1;Program Exemplo_1; Uses CRT;Uses CRT;{Programa exemplo que escreve na tela de 0 até 10}{Programa exemplo que escreve na tela de 0 até 10} Var i : Integer;Var i : Integer; BeginBegin ClrScr; i:=0;ClrScr; i:=0; While (I < 11) DoWhile (I < 11) Do BeginBegin Writeln(i); i:=i+1;Writeln(i); i:=i+1; End End.End End.

Equivalência de Comandos de Equivalência de Comandos de LaçoLaço

va r I : lon gint ; b eg in va r I : lon gint ; b eg in wr ite ln(wr ite ln( 'fo r:''fo r:' ) ; f or I: =1 to 5 ); f or I: =1 to 5 do be gi n do be gi n {co man do s}{co man do s} wr ite ln( I) ; end ; wr ite ln( I) ; end ;

Tr ês m anei ras de contar de 1 a 5 Tr ês m anei ras de contar de 1 a 5

writel n(writel n( 're pe at:''re pe at:' ); I:= 1; ); I:= 1;

re pea t re pea t {Comand os }{Comand os }

Writel n(I ); I: =I+ 1; Writel n(I ); I: =I+ 1;

un til I>5 ; un til I>5 ;

writel n(writel n( 'while :''while :' ); ); I:= 0; I:= 0; while I<5 do be ginwhile I<5 do be gininc (I) ; inc (I) ; {Com and os}{Com and os} Writel n(I ); Writel n(I );

en d en d

en d. en d.

Exercícios BásicosExercícios Básicos

Faça um programa para ler as seguintes informações de Faça um programa para ler as seguintes informações de uma pessoa: Nome, Idade, Sexo, Peso, Altura, Profissão, uma pessoa: Nome, Idade, Sexo, Peso, Altura, Profissão, Rua, Bairro, Cidade, Estado, CEP, Telefone.Rua, Bairro, Cidade, Estado, CEP, Telefone.

Faça um programa para identificar o maior entre três Faça um programa para identificar o maior entre três números digitados.números digitados.

Faça um programa para ler a base e a altura de um Faça um programa para ler a base e a altura de um triângulo. Em seguida, escreva a área do mesmo.triângulo. Em seguida, escreva a área do mesmo.

Obs.: Área = ( Base * Altura ) / 2Obs.: Área = ( Base * Altura ) / 2

Faça um programa que leia os coeficientes de uma equação Faça um programa que leia os coeficientes de uma equação do segundo grau e calcule suas raízes. O programa deve do segundo grau e calcule suas raízes. O programa deve mostrar, quando possível o valor das raízes calculadas, o mostrar, quando possível o valor das raízes calculadas, o valor do delta e a classificação das raízes (“RAÍZES valor do delta e a classificação das raízes (“RAÍZES IMAGINÁRIAS”, “RAIZ ÚNICA”, RAÍZES DISTINTAS”).IMAGINÁRIAS”, “RAIZ ÚNICA”, RAÍZES DISTINTAS”).

O preço de um automóvel é calculado pela soma do preço de O preço de um automóvel é calculado pela soma do preço de fabrica com o preço dos impostos (fabrica com o preço dos impostos (45% do preço de fabrica45% do preço de fabrica) e a ) e a percentagem do revendedor (percentagem do revendedor (28% do preço28% do preço). Faça um programa em pascal ). Faça um programa em pascal que leia o nome do automóvel e o preço de fabrica e mostre na tela o nome que leia o nome do automóvel e o preço de fabrica e mostre na tela o nome do automóvel e o preço final. do automóvel e o preço final.

Obs: Imposto=Preço de Fábrica X (0,45 + 0,28)Obs: Imposto=Preço de Fábrica X (0,45 + 0,28)

Preço final= Preço de fábrica + impostoPreço final= Preço de fábrica + imposto

O departamento de trânsito do estado anotou dados de acidentes de O departamento de trânsito do estado anotou dados de acidentes de transito no ultimo ano. Para cada motorista envolvido no acidente, tem-se transito no ultimo ano. Para cada motorista envolvido no acidente, tem-se a seguinte informação: Ano de nascimento/ Sexo (M-masculino, F-a seguinte informação: Ano de nascimento/ Sexo (M-masculino, F-feminino) / Procedência (0-Capital, 1-Interior, 2-Outro Estado)feminino) / Procedência (0-Capital, 1-Interior, 2-Outro Estado)

Faça um programa que:Faça um programa que:

a) Calcule quantos motoristas tem menos de 21 anos;a) Calcule quantos motoristas tem menos de 21 anos;

b) Quantas mulheres são da capital e quantas são do interior;b) Quantas mulheres são da capital e quantas são do interior;

c) Calcule quantos motoristas do interior do estado tem idade maior que c) Calcule quantos motoristas do interior do estado tem idade maior que 60 anos; 60 anos;

d) Diga quantas mulheres de outro estado tem idade maior que 60 anos. d) Diga quantas mulheres de outro estado tem idade maior que 60 anos.

Bibliografia Bibliografia CARROL, D. CARROL, D. Programação em Turbo PASCAL.Programação em Turbo PASCAL.

São Paulo: McGraw-Hill,1988.São Paulo: McGraw-Hill,1988.

GHEZZI, C., JAZAYERI, M. GHEZZI, C., JAZAYERI, M. Conceitos de linguagens de Conceitos de linguagens de programação.programação.

Rio de Janeiro: Campus, 1988.Rio de Janeiro: Campus, 1988.

RINALDI, R. RINALDI, R. Turbo PASCAL 7.0: Turbo PASCAL 7.0: comandos e funções.comandos e funções.

São Paulo: Érica, 1993.São Paulo: Érica, 1993.

VILLAS, M. V., VILLASBOAS, L. F. VILLAS, M. V., VILLASBOAS, L. F. Programação:Programação: conceitos, técnicas e linguagens. Rio de Janeiro: Campus, conceitos, técnicas e linguagens. Rio de Janeiro: Campus, 1988.1988.