Professional Documents
Culture Documents
Mensagens: 37
Data de inscrição: 17/12/2010
Localização: Brasil
Oc
Oc Mensagem nº1
Fala ae pessoal, aqui é sobre programação em Pascal, para todos aqueles que querem
aprender, tirei do 0fx66.com , quem escreveu foi o d4rwin, e estou aqui postando, (; !
Tudo passo a passo, ;D
Programação em Pascal
=========== == ======
E aí galera, beleza? Só eu(tio d4rwin) mais uma vez, =). Bom, resolvi escrever sobre
pascal, porque visto que o público alvo do e-zine são newbies(como eu), seria legal para
pessoas que estão começando, ou mesmo os já iniciados, aprender ou primorar seus
conhecimentos em programação. O pascal, além de ser uma linguagem de alto nível,
não é difícil de se aprender, basta dedicação e programação.Programação se aprende
programando. Lógico que a parte teórica é importante, mas praticar sempre foi e sempre
será a melhor forma de se aprender. Agora vamos deixar de blá blá blá e vamos ao que
interessa«
Index
1 Introdução
1.1 Lógica de Programação
1.2 Quem criou o Pascal?
2 Compiladores
2.1 Borlando Pascal 7.0
2.2 FreePascal
2.3 Outros compiladores
3 Estrutura do programa em Pascal
3.1 Cabeçalho
3.2 Comentário
3.3 Título
3.4 Bibliotecas
3.5 Constantes
3.6 Tipo
3.7 Variáveis
3.7.1 Declarando Variáveis
3.8 Corpo do Programa
3.9 O uso do ;
4 Sinais
5 Comandos Básicos
6 Estruturas
6.1 Estruturas de Atribuição
6.2 Estruturas Condicionais
7.0 Laços
7.1 Laço FOR
7 WHILE
7 Repeat
8 Vetores
9 Matrizes
10 Registros
11 Tratamento de Arquivos
12 Procedimentos e Funções
13 Agenda Eletrônica em Pascal
14 Exercícios
15 Agradecimentos
16 Links
1.0 ± Introdução
~~~~~~~~~~>
Você deve estar se perguntando: ³Porque eu, em pleno ano 2004, uma época em que já
lançaram o Delphi 8, vou aprender Pascal, uma linguagem antiga e orientada a
eventos?´. Aí eu te respondo meu amigo, a primeira linguagem que aprendemos, nós
nunca esquecemos. É como andar de bicicleta. Com base nisso, o Pascal é uma ótima
linguagem para se começar. O Pascal daria uma boa base pra você, depois, aprender
uma outra linguagem. E tem aquela história, todo conhecimento é bem vindo.
Entende-se por lógica de programação, uma sequência de passos a serem tomados para
resolver determinado problema(no nosso caso, construir um programa). Não adianta o
cara saber colocar textos e figurinhas na tela, se este não tiver uma boa lógica de
programação, é isto que difere o bom programador do programador ruim. Ter uma boa
lógica, significa conseguir resolver os problemas(construir os programas), para que o
resultado final seja satisfatório. Portanto, vá com calma. Não vá com muita sede ao
pote«primeira aprenda a andar, pra depois correr.(Filosofei bonito agora, hein, =)).
1.2 ± Quem criou o Pascal?
~~~~ ~~~~~ ~ ~~~~~~~
2.0 ± Compiladores
~~~~~~~~~~~~
³Não vou entrar em detalhes sobre o que são compiladores, pois já falei sobre eles na
Zine MOTD GUIDE 01, no texto ³Introdução à Programação´. O que basicamente os
compiladores fazem são transformar o código de alto nível(código em Pascal), para
linguagem de máquina.´
Para quem não viu esse artigo, um compilador é um programa que traduz um programa
descrito em uma linguagem para um programa equivalente em código de máquina para
um processador. Em geral, um compilador não produz diretamente o código de máquina
mas sim um programa em linguagem simbólica (assembly) semanticamente equivalente
ao programa em linguagem de alto nível. O programa em linguagem simbólica é então
traduzido para o programa em linguagem de máquina através de montadores.
Para desempenhar suas tarefas, um compilador deve executar dois tipos de atividade. A
primeira atividade é a análise do código fonte, onde a estrutura e significado do
programa de alto nível são reconhecidos. A segunda atividade é a síntese do programa
equivalente em linguagem simbólica. Embora conceitualmente seja possível executar
toda a análise e apenas então iniciar a síntese, em geral estas duas atividades ocorrem
praticamente em paralelo.
2.2 ± FreePascal
~~~~~~~~~~
O FPC(Free Pascal Compiler) é um projeto Open Source que visa continuar com o
desenvolvimento da linguagem Pascal. Além de ser compatível com o Turbo Pascal 7.0,
possui vários projetos em andamentos. Possui mais recursos que o Turbo Pascal 7.0, e
ainda permite interagirmos com alguns GUIs(Graphics User Internface) e APIs. O site
do projeto é: www.freepascal.org ,em português: http://www.freepascal.eti.br.
Program Nome_do_Programa;
Uses ;
Const
= µvalor_da_constante¶;
Type
:;
Var
:;
Begin
comandos;
comandos;
comandos;
.
.
.
comandos;
End.
3.1 ± Cabeçalho
~~~~~~~~~
3.2 ± Comentário
~~~~~~~~~~
Comentários são frases ou pequenos parágrafos autoexplicativos que visam deixar mais
claro ao programador o funcionamento de seu programa, assim como ajudá-lo na hora
de atualizá-lo. Um exemplo de comentário em Pascal:
{ Este é um exemplo de comentário em Pascal. Tudo o que for escrito entre CHAVES,é
desconsiderado pelo compilador. O comentário pode continuar por várias linhas, até a
segunda chave. }
(* Este é outro exemplo de comentário em Pascal. Tanto este como o exemplo acima
são válidos. *)
3.3 ± Título
~~~~~~
Título é o nome que o seu programa vai ter. Não tem segredo, ele é declarado da
seguinte forma:
Program ;
3.4 ± Bibliotecas
~~~~~~~~~~~
por exemplo:
Uses CRT,DOS,Graph;
3.5 ± Constantes
~~~~~~~~~~
Constantes são ³variáveis´ que nunca mudam. Uma vez declarado um valor para uma
constante, esse valor jamais mudará. Um exemplo de declaração de constantes:
Const = 'valor_da_constante';
por exemplo:
3.6 ± Tipo
~~~~
Type = ;
por exemplo:
3.7 ± Variáveis
~~~~~~~~~
Numéricas -> Podem ser números inteiros ou reais, pelos dígitos de 0 a 9, sinais + ou ±
e ³.´ para casas decimais.
Alfanuméricas -> Podem ser formadas por qualquer caractere da tabela ASCII.
Tipos de variáveis:
-------------------------------------------------------------------------------------------
| Classe | Tipo | Valores Comportados | Tamanho em bytes |
| ------------|--------------|-----------------------------|------------------------------|
| Boolean | Lógico | TRUE ou FALSE | 1 byte |
| ----------- |--------------|-----------------------------|------------------------------|
| Byte | Num. Inteiro | 0 a 255 | 1 byte |
| ----------- |--------------|-----------------------------|------------------------------|
| Char | Caracter | Tabela ASCII | 1 byte |
| ----------- |--------------|-----------------------------|------------------------------|
| Comp | Num. Real | -9.2E18 a 9.2E18 | 8 bytes |
| ----------- |--------------|-----------------------------|------------------------------|
| Double | Num. Real | 5.0E-324 a 1.7E308 | 8 bytes |
| ----------- |--------------|-----------------------------|------------------------------|
| Extended | Num. Real | 3.4E-4932 a 1.1E4932 | 10 bytes |
| ----------- |--------------|-----------------------------|------------------------------|
| Integer | Num. Inteiro | -32768 a 32767 | 2 byt es |
| ----------- |--------------|-----------------------------|------------------------------|
| Longint | Num. Inteiro | -2147483648 a 2147483647 | 4 bytes |
| ----------- |--------------|-----------------------------|------------------------------|
| Real | Num. Real | 2.9E-39 a 1.7E38 | 6 bytes |
| ----------- |--------------|-----------------------------|------------------------------|
| Shortint | Num. Inteiro | -128 a 127 | 1 byte |
| ----------- |--------------|-----------------------------|------------------------------|
| Single | Num. Real | 1.5E-45 a 3.4E38 | 4 bytes |
| ----------- |--------------|-----------------------------|------------------------------|
| String | Caracter | Cadeia de Caracteres | Varia de 2 a 256 |
| ----------- |--------------|-----------------------------|------------------------------|
| Word | Num. Inteiro | 0 a 65535 | 2 bytes |
-------------------------------------------------------------------------------------------
Bem, existem variáveis globais e locais. Mas não vamos entrar nisso por enquanto. A
declaração de uma variável em Pascal segue a seguinte sintaxe:
por exemplo:
{Repare no string[15]. O número entre parênteses indica que a variável terá no máximo
15 caracteres. Quando não se coloca o valor entre parênteses, o programa considera a
variável com o limita máximo de 256 caracteres.}
Vimos até agora, Constantes,Tipo e Variáveis. Esses três campos servem para dizermos
ao compilador quais recursos iremos utilizar, para que assim ele reserve um espaço na
memoria para tais recursos. Depois de declarados o que iremos utilizar no programa,
vamos ao bloco principal ou corpo do programa. O bloco principal começa no momento
em que digitamos BEGIN, e acaba quando digitamos END. Veja um exemplo:
Begin
comandos;
comandos;
comandos;
comandos;
End.
É importante ressaltar o uso do ³;´. O ³;´ é muito importante, pois é ele quem indica
que a linha terminou. Se nos esquecermos de por o ³;´ o programa na compilará, por
isso sempre preste muita atenção.
4.0 ± Sinais
~~~~~~
+ -> Soma
- -> Subtração
/ -> Divisão entre números reais
* -> Multiplicação
Div -> Divisão entre números inteiros
Mod -> Retorna o resto de uma divisão entre inteiros
Agora a coisa está começando a ficar legal«=). Vamos aprender agora alguns
comandos básicos, que nos auxiliarão na criação do programa, e também deixá-lo com
uma cara mais bonita. São eles:
Write ->O comando write é utilizado para imprimir alguma coisa na tela. Sua sintaxe é:
{Observe a aspa simples, tudo o que estiver dentro de aspas simples, é considerados
texto pelo compilador }
WriteLN -> Faz a mesma coisa que o write, mas depois de impresso o texto ele
posiciona o cursor na primeira coluna da linha abaixo. LN = Line. Sua sintaxe é igual a
do Write.
Read -> O comando read serve para lermos dados vindos do teclado. Por exemplo, eu
faço uma pergunta, então utilizo o read para ler a resposta e armazenar esta resposta
numa variável(declarada na área Var, antes do
bloco principal). Sua sintaxe é:
read(variável);
{Sendo variável aonde vai ser armazenado o valor lido}
ClrScr -> Este comando limpa a tela e posiciona o cursor na primeira linha,primeira
coluna. Sua sintaxe é:
ClrScr;
Delay -> O comando delay serve para pausar a execução do programa por um tempo
determinado. O tempo é determinado em milissegundos, portanto 1000 milissegundos
equivalem a 1 segundo. Sua sintaxe é:
Delay(milisegundos);
Trunc -> Este comando pega a parte inteira de um cálculo ou número real. Sua sintaxe
é:
Trunc(num_real);
por exemplo
Gotoxy (coluna,linha);
UpCase -> Este comando pega caracteres em letras minúsculas e os converte para caixa
alta. Sua sintaxe é:
var_do_tipo_string := UpCase(var_do_tipo_string);
ReadKey ->Este comando pausa o programa até que alguma tecla seja pressionada. Sua
sintaxe é:
Readkey;
ou
var_do_tipo_char := readkey;
textbackground(numero_da_cor);
ou
textcolor -> Este comando defini a cor da letra. Sua sintaxe é:
textcolor(numero_da_cor);
ou
textcolor(nome_da_cor);
Cores Disponíveis:
·BLUE
·GREEN
·CYAN
·RED
·MAGENTA
·BROWN
·LIGHTGRAY
·DARKGRAY
·LIGHTBLUE
·LIGHTGREEN
·LIGHTCYAN
·LIGHRED
·LIGHMAGENTA
·YELLOW
·WHITE
·BLACK
{Nós podemos também somar duas cores, por exemplo : ³textcolor (RED + BLUE);´.
Adicionando a string ³Blink´ a cor, temos um efeito piscante, por exemplo: ³textcolor
(RED + Blink);´ .}
6.0 ± Estruturas
~~~~~~~~~~
Bom, como o próprio nome já diz, estruturas de atribuição são utilizadas para atribuir
valores a variáveis. Por exemplo, eu tenho uma variável A, uma variável B e uma
variável chamada Resultado. Eu quero que os valores da soma de A + B sejam
atribuídos a variável Resultado. Isso ficaria da seguinte forma:
Resultado := A + B;
{No exemplo acima, calculamos a média do aluno, e de acordo com a média, maior ou
menor que 70, damos o resultado.}
Existe também outra estrutura condicional, a estrutura CASE. Abaixo segue sua sintaxe:
CASE escolha of
begin
1..100 : begin
writeln ('Você digitou um número.');
end;
'A'..'Z' : begin
writeln ('Você digitou uma letra maiúscula');
end;
'a'..'z' : begin
writeln ('Você digitou uma letra minúscula');
end;
else ;
{Quando utilizarmos apenas uma writeln, um readln, ou qualquer outro comando, não
há a necessidade de se usar o begin e end; (eu usei de tongo mesmo, hehehe).}
7.0 ± Laços
~~~~~
Laços de repetição são utilizados quando queremos que determina situação se repita até
que algo aconteça, fazendo com que a situação pare de ser executada. Por exemplo,
estou fazendo um programa que cadastra clientes. Para que o usuário não tenha de abrir
mais uma vez o programa toda vez que quiser cadastrar um novo cliente, criamos um
laço de repetição. O laço ficaria se repetindo até o momento em que o usuário não
desejasse mais cadastrar usuários.
O laço FOR permite que determinemos a quantidade de vezes que tal bloco do
programa será executado. Sua sintaxe é:
OBS.: FOR = De | TO = a | DO = Faça
FOR contador := 1 to do
begin
comandos;
comandos;
comandos;
end;
por exemplo:
FOR contador := 1 to 5 do
begin
writeln ('MotdLabs');
writeln (' by d4rwin');
end;
O laço FOR também nos permite determinar o número de vezes de forma decrescente.
Por exemplo:
7.2 ± WHILE
Aqui está mais uma estrutura ou laço de repetição. Utilizamos o WHILE quando
queremos que determinado bloco do programa se repetia até que algo aconteça. Sua
sintexe é:
WHILE condição DO
Begin
comandos;
comandos;
comandos;
...
End;
por exemplo:
{No exemplo acima temos a seguinte condição, num > 10. Enquanto essa condição for
verdadeira(maior que 10), o programa executará aquilo que estiver dentro do bloco de
repetição. Quando o programa encontra num := 8, ele sai do laço, pois a condição se
tornou falsa.}
7.3 ± Repeat
~~~~~~
Podemos dizer que o Repeat é o contrário do WHILE. Ele executa o que está no bloco
de repetição até que a condição seja verdadeira. Enquanto a condição for falsa, ele
executa o bloco de repetição. Sua sintaxe é:
Repeat
comandos;
comandos;
comandos;
...
comandos;
Until (condição_for_verdadeira);
por exemplo
Repeat
write ('Digite um num: ');
readln (num);
write ('Digite outro num: ');
readln (num2);
result := num + num2;
writeln ('Resultador: ',result);
Until (result < 0);
8.0 ± Vetores
~~~~~~~
A partir do momento em que precisamos declarar um número muito grande de
variáveis, faz-se necessário o uso de vetores, denominado em Pascal como ³array´, para
que não tenhamos o desconforto de declarar todas as variáveis. Por exemplo, estou
fazendo um programa que cadastre os 300 clientes de uma empresa. Imagina o trabalho
que daria declarar 300 variáveis do mesmo tipo, e pior, o desconforto que seria criar a
estrutura para ler essas 300 variáveis. Por isso nós utilizamos arrays. Sua sintaxe é:
por exemplo
Var clientes : array [1..300] of string[15];
{A estrutura acima é a forma como declaramos arrays em Pascal.}
Para acessar essas variáveis no programa, utilizamos o nome do array mais seu índice.
Por exemplo:
Mesmo utilizando-se de arrays, o processo de ler os 300 clientes seria penoso. Por isso,
utilizando-se de um laço FOR, podemos ler todos os clientes, com apenas algumas
linhas. Segue o exemplo:
{
No Laço acima, o programa lê do cliente 1 ao 300. Note que entre parenteses encontra-
se ³contador´. Portanto, o programa ficará lendo os nomes dos clientes, até chegar em
300.}Para imprimir o nome de um cliente, faríamos assim:
9.0 ± Matrizes
~~~~~~~~
12345
------------------------
1 | 1,1| 1,2| 1,3| 1,4| 1,5|
|----|----|----|----|----|
2 | 2,1| 2,2| 2,3| 2,4| 2,5|
------------------------
Como você pode observar no desenho acima, temos 5 colunas e 2 linhas. Quando
estamos mexendo com matrizes, sempre nos referimos primeiro a linha, depois a
coluna. Abaixo segue um exemplo de declaração de matrizes:
: array [1..10,1..10] of integer;
por exemplo:
numero : array [1..10,1..10] of integer;
{No exemplo acima, declaramos uma matriz que possui 10 linhas e 10 colunas. Quando
queremos acessar alguma variável armazenada numa matriz, utilizamos um índice com
as coordenadas.}
Por exemplo:
writeln ('Numero: ',numero[2,6]);
{No exemplo acima, será impresso na tela o número que está na linha 2, coluna 6.}
for linha := 1 to 10 do
begin
for coluna := 1 to 10 do
begin
write ('Digite um numero: ');
readln (numero[linha,coluna]);
end;
end;
{Agora vamos analisar o laço acima, o programa pede para o usuário digitar um
número. Este número é armazenado na linha 1,coluna 1. Depois o laça se repetirá, então
o próximo número a ser lido será armazenado na linha 1, coluna 2, e assim por diante.
Quando a coluna chega a 10, o laço passa para a linha 2, e tudo se repete, =)}
10.0 ± Registros
~~~~~~~~~
Registros são utilizados para armazenas várias variáveis de tipos diferentes. Por
exemplo, estou criando um programa para o CENSO. Eu preciso do nome da pessoa,
sua idade, telefone e endereço. Nome,idade,telefone e endereço são variáveis de tipos
diferentes. Por isso, veja como ficaria este exemplo utilizando registros:
{Analisando a estrutura acima, vemos que registro é igual a record. Portanto, toda vez
que quisermos nos referir a um registro que tenha nome,idade,telefone e endereço,
utilizaremos : ³var : registro´. Isto declararia
do tipo registro, isto significa que na variável poderíamos gravar nome,idade,telefone e
endereço.}
.variavel;
por exemplo:
registro.nome;
registro.idade;
registro.telefone;
registro.endereço;
Em pascal, nós podemos mexer, mesmo que indiretamente, com arquivos binários e .txt.
Para começarmos a trabalhar com tratamento de arquivos, é necessário declarar a
variável-arquivo. Abaixo segue a sintaxe da declaração de arquivos binários:
ou
Var Numeros : File of Integer;
ou
ASSIGN -> Este comando serve para informar ao programa, onde localiza se o arquivo
(binário ou texto), no HD. Sempre que formos trabalhar com tratamento de arquivos em
Pascal, devemos utilizar este comando. Sua sintaxe é:
Assign(Variavel,'C:\MotdLabs\Texto.txt');
Assing(Variavel,'C:\MotdLabs\Numeros.bin');
Reset(nome_do_arquivo);
APPEND -> Abre o arquivo para inserção de mais coisas. Somente para arquivos texto.
Sintaxe:
Append(nome_do_arquivo);
REWRITE -> Este programa verifica a existência do arquivo. Se o arquivo existir, ele
apaga tudo o que tem dentro do arquivo. Se o arquivo não existir, ele cria o arquivo no
local especificado pelo Assign. Sintaxe:
ReWrite(nome_do_arquivo);
Close(nome_do_arquivo);
Read(nome_do_arquivo,variável);
Write(nome_do_arquivo,valor_a_ser_escrito);
Program exemplo_01;
Uses CRT,DOS;
Begin
clrscr;
textbackground (blue);
textcolor (white);
clrscr;
gotoxy (14,2);
writeln (µPrograma Exemplo 01ƍ); gotoxy (14,3);
writeln (µ²²± ²²- ±¶);
writeln ;
writeln ;
delay (500);
Assign (List,Arq_real);
{$i-}
Reset(List);
{$i+}
write (List,nome);
Close(List);
writeln ;
writeln ;
writeln (µ²²²²²²²²±EoF²²²²²²²²±¶);
writeln;
writeln;
readkey;
End.
Procedimentos
^^^^^^^^^^^^^
Program procedimentos;
Uses CRT;
Procedure ;
Var var1,var2 : integer
var3,var4 : word;
aux : byte;
begin
clrscr;
writeln (µPascal is rlz!¶);
writeln (µ=)¶);
end;
Acho que chegou a hora de falar de variáveis globais e locais, fundamental para o
entendimento de procedimentos. Como você pode reparar no exemplo acima, foram
declaradas variáveis dentro do procedimento e variáveis fora dele, como fazíamos antes.
Aí é que está, todas as variáveis declaradas no escopo VAR, são globais, portanto,
podemos utilizá-las em qualquer lugar do programa, inclusive dentro do procedimento.
Se uma variável global recebe um valor dentro do procedimento, ela ficará com o valor
recebido na procedure. Já as variáveis locais, são aqueles declaradas dentro da
procedure. Estas variáveis serão utilizadas apenas pelo procedimento. Portanto,
podemos sim ter duas variáveis com o mesmo nome em um programa, desde que uma
seja global e outra local. Mas daí você me pergunta:´E se eu tiver uma variável global
com o mesmo nome de uma variável local, dentro do procedimento, qual vai ser
utilizada?´. A resposta é que sempre as variáveis locais vão ter preferência sobre as
globais.
Funções possuem mesma função que os procedimentos, a única diferença entre os dois
é que as funções retornam um valor. Geralmente, mais por uma questão de organização,
a funções são declaradas abaixo dos procedimentos. Um exemplo de declaração de
função:
Passagem de Parâmetros
Program funcoes;
Uses CRT;
Begin
clrscr;
writeln (µPrograma Exemplo de Funções¶);
writeln ;
writeln;
textcolor (white);
write (µDigite um num: µ);
readln (num1);
write (µDigite outro num: µ);
readln (num2);
writeln ;
textcolor (red + blink);
delay (400);
writeln (µResultado: µ,result);
writeln ;
textcolor (cyan);
writeln (µ ²²²²²²²²²±EoF²²²²²²²²²¶);
readkey;
End.
Bom, já que está acabando o txt, eu coloquei uma agenda eletrônica feita em pascal por
mim. Ele permite adicionar, ver e pesquisar amigos. Estou colocando ela aqui, pois acho
que ela seria uma boa alternativa para estudo. Talvez você não entenda isso ou aquilo,
mas é importante que você estude o código, e principalmente pratique, pratique«
pratique.
c
ccc c
c c
c
c clti c
l t c
ci c
i c
c l c
t cci c
c/ / c
t cclti c lt c
c/ / c
tc
cic c
c
c lti ;c
cCR !";c
c
Ctc# lc$c%C:\
t t ;c
c
&'(cic$cc
ic:cit;c
c:cti)*+,;c
i c:cit;c
tlc:cti)*-,;c
;c
c
. c c:cilcc i;c
t c:cit;c
( c:c/ ;c
c
cM;c
0ic
l;c
itlc;ct1'c2*34;c
itlc2%55555555555555555555555555555555564;ct1'c2*34;c
itlc2%55c clti c5564;ct1'c2*3+4;c
itlc2%55555555555555555555555555555555564;ct1'c2*34;c
itlc2%55c5564;ct1'c2*374;c
itlc2%55c8licic284c5564;ct1'c2*3 ;c
itlc2%55cit cic24c5564;ct1'c2*394;c
itlc2%55c#i cic24c5564;ct1'c2*3*4;c
itlc2%55c" ic2"4c5564;ct1'c2*3**4;c
itlc2%55c5564;ct1'c2*3*-4;c
itlc2%55555555555555555555555555555555564;ct1'c2*3*4;c
itlc;ct1'c2*3*4;c
itc2%!( :c%4;ct1'c2-*3*4;c
lc2( 4;c
( c:$c( 2( 4;c
;c
c
c8li i;c
: c;c:c i;c
(t c:c/ ;c
&t l ic:cit;c
0ic
<i c
tc2 4;c
<i c
&t l ic:$c;c
ic8!Rltc=>cct/c
itc2 4;c
c
/ilctc
2 4cc
0ic
c2 3;4;c
&t l ic:$c&t l ic?c*;c
;c
c
( tc
l;c
&t l ic:$c&t l ic?c*;c
t1'c2*34;c
itc2%8l cci64;ct1'c2*34;c
itl2%^^^^^^^^c^^c^^^^^64;ct1'c2*3+4;c
itlc;c
itlc;c
it/c;cc
0ic
t1'c2*374;c
itlc2%Ci:c%3&t l i4;ct1'c2*3 ;c
ic:$c&t l i;c
itc2%:c%4;c lc24;ct1'c2*394;c
itc2%8 :c%4;c lc2i 4;ct1'c2*3*4;c
itc2%&l:c%4;c lc2tl4;ct1'c2*3**4;c
;c
itc2 3;4;c
itlc;ct1'c2*3*4;c
itc2%8ict2"/4:c%4;c
lc2(t 4;c
(t c:$c( 2(t 4;c
tilc2(t c$c%64;c
lc2 4;c
;c
c
cit i;c
: c;c:c i;c
0ic
l;c
t2 4;ct1'c2*34;c
itlc2%it cci2464;ct1'c2*34;c
itlc2%^^^^^^^^c^^c^^^^^^^^64;ct1'c2*3+4;c
/ilctc
2 4cc
0ic
c2 3;4;c
it/c;cc
0ic
itlc;c
itlc2%cCic@@@
:c%3i4;c
itlc2%cc@@@@:c%34c;c
itlc2%c8 c@@@
:c%3i 4c;c
itlc2%c&l@@@:c%3tl4;c
itlc;c
;c
;c
l;c
;c
c
c#i i;c
: c;c:c i;c
ic:cti)*+,;c
0ic
t2 4;c
l;c
t1'c2*34;c
itlc2%#i cci64;ct1'c2*34;c
itlc2%^^^^^^^^c^^c^^^^^64;ct1'c2*34;c
itc2%cci:c%4;c
lc2 i4;c
itlc;c
/ilctc
2 4cc
0ic
c2 3;4;c
it/c;cc
0ic
icc$c ict/c
0ic
t1'c2*3 ;c
itlc2%Cic@@@
:c%3i4c;ct1'c2*394;c
itlc2%c@@@@:c%34c;ct1'c2*3*4;c
itlc2%8 c@@@
:c%3i 4c;ct1'c2*3**4;c
itlc2%&lc@@
:c%3tl4;ct1'c2*3*-4;c
itlc;c
A';c
;c
;c
;c
;c
c
Bic
l;c
t1t0 Ac20l4;c
t1tlc2/it4;c
l;c
t1'c2*34;c
itlc2%$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$64;ct1'c2*34;c
itlc2%$c$64;ct1'c2*3+4;c
itlc2%$c clti c$64;ct1'c2*34;c
itlc2%$c$64;ct1'c2*374;c
itlc2%$c<<<<c5555c<<<<c$64;ct1'c2*3 ;c
itlc2%$c<<<<c5555c<<<<c(cic$64;ct1'c2*394;c
itlc2%$c$64;ct1'c2*3*4;c
itlc2%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$64;ct1'c2*3**4; c
c
itlc;c
itlc;c
t1'c2*3*-4;c
itlc2%C c @64;c
c
ct c:$c*ctc*cc
0ic
t1'c2*3*4;c
itlc2t 36Bcli64;c
l 'c2*4;c
;c
c
ic2 3# l4;c
c
( tc
M;c
c
ic( c$c%86ct/c
8li i;c
ic( c$c%6ct/c
it i;c
ic( c$c%6ct/c
#i i;c
c
tilc2( c$c%"64;c
c
c
c
*
cCc1íic
c
DDDDDDDDDDc
1íic*c
c
^^^^^^^^^c^^c
c
: cc lit/( c( clc-c: lc2ccc: lci cc
ER!3c:cclicc:c: lc t c#cj itccF4cci(iicclt c
ci:icc(iic(lc
c tiliF c ctt cR&G &8c2R(it cCc
t 4
c
1íic-c
c
^^^^^^^^^c^^c
Reescreva o exercício anterior utilizando a estrutura WHILE«DO
(Enquanto«Faça).
Exercício 03
^^^^^^^^^ ^^
algoritmo/programa.
Exercício 04
^^^^^^^^^ ^^
(De«Até«Faça).
Exercício 05
^^^^^^^^^ ^^
Ler 10 valores e escrever quantos destes valores são NEGATIVOS.
15.0 ± Agradecimentos
~~~~~~~~~~~~~~
Agradeço primeiramente a Deus, por ter criado o mundo, a meu pai, minha mãe, o troxa
do meu irmão e minha vizinha gata. Agradeço tbm a todos os caras do MotdLabs que
tem me dado a maior força. Espero que com este txt eu tenha alcançado meu objetivo,
que é ajudar a dar um ponta-pé inicial no aprendizado de programação para newbies.
Sei que o texto não está lá aquelas coisas, mas acredito que a partir dele, você já vai
saber pelo que e onde procurar(vide seção LINKS). Bom, me despeço aqui, um abraçao
a todos e até a próxima«[d4rwin]
16.0 ± Links
~~~~~
http://www.freepascal.org
http://www.freepascal.eti.br
http://www.pascaler.hpg.com.br
http://www.infoxbr.com.br
http://www.geocities.com/SiliconValley/Bay/6512/index.htm
http://www.pascalhome.cjb.net/
http://www.pascaltotal.hpg.ig.com.br/
http://www.delphix.com.br
http://d4rwin.cjb.net
_________________
Não fume cigarros, pois pulmões você só tem dois. Fume maconha, pois neurônios você
tem milhões !
c