sábado, 28 de maio de 2011

Exercício Pascal

Faça um algorítmo que leia 10 nomes e idades, caso a idade seja maior que 21, o programa lerá o número do telefone do sujeito, caso contrário, o programa perguntará o nome dos pais, e no fim imprimir o Nome, idade, telefone/nome dos pais

código fonte

Jogo em flash - Pouse o avião

gente, estou postando o código-fonte de um jogo que fiz recentemente, por enquanto ele é simples e é fácil de estudar.

não colocarei as explicações do código pos fiz com minha própria lógica, seria horrível ter um programador que não usa a própria lógica, portanto não a explicarei

o objetivo do jogo é simples, você apenas deve pousar o avião, para fazê-lo subir, apenas suba seu mouse ...

Clique aqui para jogar

Clique aqui para ver o código fonte

quarta-feira, 11 de maio de 2011

Flash - AS3 - Matriz e Time

E ai galera, aqui vai mais um post sobre AS3, criação de Matriz e Timer, vamos la!

--

MATRIZ

var herois:Array = new Array(); // cria a matriz
herois = [
["Ryu","Ken","Bison"], //atribui os seus valores...
["Sagat","Vega","Zangief"] // a vírgula determina que existe uma array dentro de um array
]
trace(herois[0][0]); // linha e coluna

trace ("a matriz herois tem ",herois.length," linhas e ",herois[0].length," colunas"); // quantos objetos tem na matriz

--
Criação de tempo

var tempo:Timer = new Timer(1000,5) // é ativado 5 vezes a cada 1 segundo
tempo.start() // começa o tempo
tempo.addEventListener(TimerEvent.TIMER, time)//ativa a função a cada vez que o tempo chegar no tempo determinado

function time (e:TimerEvent):void // usa-se o TimerEvent para importar
{
//comandos
trace(tempo.currentCount); // currentcount significa em qual ciclo o tempo esta, nesse caso irá imprimir 1 2 3 4 5 um número a cada 1 segundo ...
}

--

utilização do timer...um exemplo fácil é utilizá-lo em criação de partículas, não sei se é o jeito correto de criar partículas no palco, mas um dos métodos poderia ser esse ...
você pode criar chuva ... neve ... núvens ...

basta criar um timer e uma função que criará o elemento, então a cada um determinado tempo poderá criar o elemento.

a utilização da matriz é meio confusa, mas a Matriz, nada mais é do que uma variável que pode conter vários valores da mesma, ela é como uma grade, separa-se em linha e coluna. por exemplo: uma matriz pode ser 6x6 (6 linhas e 6 colunas) 3x2 (3 linhas e 2 colunas) e assim em diante. em uma matriz você pode determinar a linha 4 (por exemplo) como variável de texto e a 1 (por exemplo) como variável de inteiro e então ligá-las ... por exemplo: temos o jogador 1 2 e 3 e respectivamente eles tem 100 200 e 300 pontos, em uma matriz ficaria:
jogador 1[0,0]jogador 2[0,1]jogador 3[0,2]
100 [1,0]200 [1,1] 300[1,2]

perceba que que a coluna 0 (a primeira) é reservada para o jogador 1, logo terá em uma única variável várias para guardar várias informações de um mesmo tipo dentro de uma única variável

Obs.: não publicarei o código fonte para que o usuário mesmo digite o próprio código

Exercício Pascal

E ai galera, aqui é o joker e eu estou aqui passando alguns exercícios com a resolução (óbviamente) para vocês treinarem



Primeiramente eu gostaria de dizer que eu não sabia em que dificuldade colocar, logo adicionei em dois marcadores.



1)Faça um algorítmo que leia o número de habitantes da Cidade A e depois da Cidade B, peça a porcentagem em que a população cresce anualmente e então calcule o tempo em que a Cidade A demorará para ultrapassar a Cidade B em anos.

Resolução



2)Faça um algorítimo que leia um número e diga se ele é primo ou não



Resolução



Qualquer dúvida, postem nos comentários ou adicionem-me no msn, gabriel_hbcs@hotmail.com

se eu puder esclacerei-as-ei

sexta-feira, 6 de maio de 2011

HTML - Tabelas e Linkagem

Primeiramente, HTML não vai ter nível avançado.
Ele é simples demais pra isso.
Ao invés disso, do HTML vamos para JavaScript/CSS/SeiLáQueOutrasLinguagensVamosUsarNaInternet.
Agora vamos falar de tabela.
Na verdade, estou com preguiça, estou bem cansado pois cheguei em casa tem só umas 3 horas, e nesse tempo passei a limpo duas matérias pra uma amiga que faltou hoje.
Vou Uploadar os 4 arquivos .html que fizemos hoje, junto da mini-explicação que já tinha escrito no Word pra minha amiga que faltou, e vocês aprendam um pouco.
Em caso de dúvida, comente, que eu responderei.
Tabelas
Principal & Links & Contato (esses 3 são exemplo de linkagem entre páginas. Salve os 3 no computador na mesma pasta e veja funcionando.)
No segundo link as tabelas estão exibidas corretamente.
É interessante ler ambos, o que um não diz, o outro complementa.

quinta-feira, 5 de maio de 2011

Flash - AS3 basico

Aqui mostrarei algumas coisas básicas que apareciam no AS2 e transformarei-as em códigos para AS3

Botão

O botão feito no AS2 era muito simples de fazer, certo bastava criar um novo Objeto como Botão

Selecioná-lo e começar a programar



nesse caso, programeio-o para escrever "botão" na aba "saída" ao apertá-lo
código:
on (release) {
trace("botão");
}


Em AS3, o mesmo código fazendo a mesma utilidade no mesmo objeto sairia um pouco mais complicado. começando por:

criar o botão e convertê-lo para MovieClip (ou até mesmo para botão, caso queira que fique mais bonitinho)



agora devemos instancia-lo



depois deveremos clicar no frame em que localiza-se o botão e ir na aba de ações para finalmente programar:



Botao_mc.addEventListener(MouseEvent.MOUSE_DOWN, clique);

o que significa essa linha?

significa que quando um evento do mouse acontecer, no caso o click do mouse(MOUSE_DOWN) no moviclip chamado Botao_mc, executará a função chamada "clique"

agora que chamamos a função clique quando o Botao_mc for clicado, deveremos criar a função



function clique (e:MouseEvent):void
{
trace("botao");
}

primeiramente, criamos uma função com o código function, e em seguida devemos colocar o nome da função, entre parênteses devemos colocar o tipo da função, e como função é um tipo de variável, deveremos dar um tipo pra ela, nesse caso é :void que significa que é uma 'variável' inútil, ela não retornará valores nenhum para o exterior da função

agora que criamos a função, deveremos criar o corpo dela, como estou baseando-me em um código simples de AS2, apenas coloquei um trace();, mas no comando você pode colocar qualquer coisa.

e aqui finalizo o tutorial sobre AS3 Flash - básico, bons estudos

Flash - mudanças

e ai galera, neste post mostrarei a vocês algumas modificações que ocorreram na atualização do ActionScript 2 para o ActionScript 3 primeiramente uma simples introdução
A linguagem de programação ActionScript é usada e desenvolvida pela Adobe, é a linguagem cujo o programa Flash utiliza atualmente. O ActionScript é utilizado para orientar objetos, ou seja, sua base é em objetos do palco.
Mudanças
Várias mudanças ocorreram, algumas boas e outras ruins, e a primeira que citarei é o _root. do AS2. o _root. era utilizado basicamente para chamar variáveis externas, agora no AS3 não existe mais esse comando, tornando desnecessário chamar variáveis externas através de um comando.
Algumas outras mudanças ocorreram apenas na escrita, como por exemplo o hitTest (as2) que mudou para hitTestObjet (as3), por exemplo
Uma mudança drástica que houve no ActionScript, é que agora os objetos não podem mais ter códigos de programação, ou seja, todo o código deve ser colocado unicamente nos frames e não mais em MovieClips ou Botões ... as mudanças que ocorreram no AS3 é para melhorar o desenvolvimento do programa, melhorou com certeza, mas muitos programadores estão tendo dificuldades para mudar para o AS3, mas quem ja se adaptou com certeza aprova o AS3.
Funções
no AS2 ja existiam as famosas Functions(){} mas agora no AS3 tornou-se quase obrigatório saber fazer para pelo menos fazer uma homepage ou um jogo, por exemplo para quem ja sabia funções no AS2 com certeza não encontrará dificuldades nesse tópico, mas para quem é iniciante no ramo, aconselho dar uma lida em algoritmos e etc... para finalizar, vou deixar minha opinião: como sou praticamente leigo no assunto (ainda estou aprendendo) eu diria que o AS3 facilitará bastante meu futuro, apesar de eu estar com algumas dificuldades, tentarei assemelhar alguns comandos de Pascal/Delphi/Java/AS2 com o AS3 para que eu possa situar-me a essa linguagem o mais brevemente possível e continuar praticando assim como eu praticava com o AS2.

Algoritmo - Leia 10 números e retorne o maior

Parece que na prova do 1o ano de LTP, caiu um algoritmo pedindo para que se leia 10 números e retorne qual é o maior número. Ou foram isso que fontes não muito confiáveis minhas me disseram... (na verdade, foi o próprio Joker que me falou saiudhoesuiad)
*Edit: tenho bons motivos mesmo pra falar que são fontes não muito confiáveis... ele estava me zuando quando falou que era essa a questão da prova... E eu ainda acreditei e fiz tudo isso... Bem, vai ficar aqui como material didático...*
Enfim, mão na massa!
Supondo que você não queira ver a explicação, pule para o final e pegue o código-fonte
Vamos ver... 1o passo é o diagrama de variáveis
Ele pede que sejam lidos 10 números e seja impresso o maior número -> colocando isso num exemplo real, imagine assim: um amigo seu vai te falando vários números, e você tem que falar no final qual foi o maior número que ele falou... você não precisa lembrar dos outros números... ele fala 1, depois fala 5 [5 é maior que 1, você pode esquecer do 1], 3[3 é menor que 5, mantém o 5], 8 [8 é maior que 5, agora você só precisa lembrar do 8]
ou seja, ele pede que sejam lidos 10 números e seja impresso o maior número... temos a variável do número que foi dito agora, e do maior número. (Num, e Maior)
ok, mas são 10 números, então precisamos de uma variável pra contar quantos números já foram (Cont)
E | Num
P | Cont
S | Maior
alguma dúvida até aí?
vamos pra estrutura básica:

Algoritmo Maior-Número
  inteiro: Num, Cont, Maior; {ou ainda, caso vocês tenham aprendido assim/prefira, você pode colocar um abaixo do outro -> inteiro: Num; / inteiro: Cont; / inteiro: Maior;}
Início
  <comandos>
Fim.

para declarar variáveis no algoritmo, colocamos <tipo de variável>: <nome da variável 1 do tipo definido>, <nome da variável 2 do tipo definido>, <...>; {fechamos com um ponto e vírgula}
Tipos de variáveis:
  • Caracter: variáveis de texto, aceitam qualquer tipo de texto
  • Inteiro: variáveis numéricas que só aceitam números inteiros, como 1, 6, 15; mas não aceitam números fracionários, como 7.3, 1.5, etc
  • Real: variáveis numéricas que aceitam números inteiros ou fracionários, como 1, 6, 15, 7.3, 1.5, 71.163, etc
  • Lógico: variáveis que seguem a álgebra booleana, que só podem ter dois valores: Verdadeiro ou Falso. Supondo que você seja do meu colégio e esteja no primeiro ano com o mesmo professor que eu tive, você provavelmente não vai ver muito esse tipo
O Contador de números lidos é inteiro, não tem como ler um número e meio. O Maior número vai receber um valor de um outro Número, portanto, o tipo da variável Maior depende do tipo da variável Num. Como Num é um número, e não é especificado que é um número real, nem existe motivo para supor que seja um número real, pode-se utilizar como inteiro.
vamos ao Programa

Início
  Cont <- 0; {zerar o contador}
  Maior <- 0; {transformar o maior número até o momento em 0}
  Enquanto Cont < 10 Faça
    <comandos que serão repetidos>
  Fim-Enquanto;
Fim.

Essa é a estrutura principal do programa
Quais serão os comandos repetidos?
Primeiro ele vai ler um número. então, vai pegar cada número lido e vai verificar se o número é maior que o maior número já registrado. Se o número for maior, ele fica registrado como maior; senão, é descartado.


  Enquanto Cont < 10 Faça
    Leia (Num);
    Se Num > Maior
      Então Maior <- Num;
    Fim-se;
  Fim-Enquanto;


Depois, não pode se esquecer de contar que foi lido mais um número.


  Enquanto Cont < 10 Faça
    Leia (Num);
    Se Num > Maior
      Então Maior <- Num;
    Fim-se;
    Cont <- Cont + 1;
  Fim-Enquanto;

até agora temos:

Algoritmo Maior-Número
  inteiro: Num, Cont, Maior;
Início
  Cont <- 0;
  Maior <- 0;
  Enquanto Cont < 10 Faça
    Leia (Num);
    Se Num > Maior
      Então Maior <- Num;
    Fim-se;
    Cont <- Cont + 1;
  Fim-Enquanto;

Fim.

Ok, ele verifica o maior número e registra ele. Mas espere um momento! Ele tem que falar qual foi o maior número!

Algoritmo Maior-Número;
  inteiro: Num, Cont, Maior;
Início
  Cont <- 0;
  Maior <- 0;
  Enquanto Cont < 10 Faça
    Leia (Num);
    Se Num > Maior
      Então Maior <- Num;
    Fim-se;
    Cont <- Cont + 1;
  Fim-Enquanto;
  Imprima(Maior);
Fim.

Código-Fonte em Algoritmo: Aqui
Código-Fonte em Pascal: Aqui

Uma observação: Se você botar Enquanto Cont <= 10, você vai ter que igualar Cont a 1 no início do programa
Se você botar Enquanto Cont < 10, você vai ter que igualar Cont a 0 no início do programa

quarta-feira, 4 de maio de 2011

Delphi - Questão da Prova

Até agora não tínhamos entrado em Delphi porque não sabemos muito de Delphi, apesar de Delphi ter o código similar ao Pascal. Porém, hoje tivemos uma prova de Delphi, e se não foi uma surpresa o professor pedindo pra nós fazermos o código de uma calculadora em Delphi. 80% da turma nem tentou fazer, e os 20% que tentaram, 15% falharam miseravelmente e 5% acha que se deu bem, mas também falhou miseravelmente.
Pois bem, acredito que não era assim que o Professor queria que fosse feito, mas foi a unica forma que consegui.
Acreditem ou não, colegas, mas esse é o código fonte:
Ultima questão da prova de Delphi
Até descobrir em que categoria inserir, essa postagem estará sem marcadores.
Lembrando que são 17 botões (Button), e mais o rótulo (Label) de resultado:

  1. um (1)
  2. dois (2)
  3. três (3)
  4. quatro (4)
  5. cinco (5)
  6. seis (6)
  7. sete (7)
  8. oito (8)
  9. nove (9)
  10. zero (0)
  11. vírgula (,)
  12. somar (+)
  13. subtrair (-)
  14. multiplicar (x ou *)
  15. dividir (/)
  16. resultado (=)
  17. limpar
E o programa nem está instável... [/sarcasmo
Qualquer botão que você decida brincar de apertar fora de ordem, e trava...

De qualquer forma, pretendo utilizar esse código-fonte no futuro pra ensinar Pascal e Delphi... Me esperem...

terça-feira, 3 de maio de 2011

Questão da Identação

Vou falar agora sobre a questão da Identação.

Primeiramente, queria pedir desculpas pelas postagens até agora não terem identação, mas é porque o Blogspot não aceita identação. Eu vou passar a fazer a identação através de imagem.
*20:31 Edit: Problema de identação acaba de ser resolvido. Códigos passarão a ser postados pelo docs.google*
Identação é a organização do texto. Exemplo:

Primeiro Sem Identação, depois Com Identação
Conseguem ver a diferença?
A identação serve apenas para organização do código, não alterando o funcionamento do programa. Se você quiser testar, abra o Pascalzim, e coloque isso:

Program Pzim ; Type M=Array [1..6,1..6] of Integer; VAR Mat:M; I,J:Integer; Begin I := 1; J := 1; While (I <= 6) and (J <= 6) do Begin If (J = 1) or (J = 6) or (I = 1) or (I = 6) Then Mat[I,J] := 1 Else If ((J = 2) and ((I <> 1) or (I <> 6))) or  ((J = 3) and ((I = 2) or (I = 5))) or ((J = 4) and ((I = 2) or (I = 5))) or ((J = 5) and ((I <> 1) or (I <> 6))) Then Mat[I,J] := 2 Else Mat [I,J] := 3; Inc (I); If (I = 7) and (J < 6) Then Begin I := 1; Inc (J); End; End; I := 1; J := 1; While (I <= 6) and (J <= 6) do Begin If (Mat[I,J] = Mat[1,1]) Then Textcolor ( LightGreen ) Else If (Mat[I,J] = Mat[2,2]) Then Textcolor ( Yellow ) Else Textcolor ( LightBlue ); If I <> 6 Then Begin Write (Mat[I,J]); Textcolor ( Black ); Write ('|'); End Else Writeln (Mat[I,J]); Inc (I); If (I = 7) and (J < 6) Then Begin I := 1; Inc (J); End; End; End.

Leigo: Mas isso vai funcionar?
Amumu: Claro que vai, Leigo.
Leigo: Então eu posso botar na prova?
Amumu: CLARO QUE NÃO, CRIATURA DE DEUS!!

Funcionar, funciona. Mas existem 2 bons motivos pra você não fazer isso:
1o: Você está fazendo seu programa monolinha (com uma linha só) no Pascalzim, pensa "que beleza, vai ficar perfeito!", daí você termina, e aperta F9. Aparece "Erro na linha 1". Ok, AONDE da linha 1?
2o: Independente se você está no Ensino Técnico ou no Ensino Superior*, você está aprendendo para entrar no mundo do trabalho. Então, você está sendo avaliado como seria avaliado numa empresa. Eles avaliam a organização e a simplicidade do programa. Se o programa vier a ser editado no futuro, pra você se achar nele, sem identação, vai ser uma guerra (acredite em mim, já sofri com isso em Delphi, no primeiro trimestre ainda). E se você sair da empresa, entrar outra pessoa, e o programa precisar de adaptação, pior ainda, aí que o outro não vai se achar. As empresas procuram códigos fáceis de serem entendidos por outros técnicos, talvez um dia você tenha que se aposentar, mude de empresa, de cidade, de estado, país, enfim, e quem vier a te substituir vai precisar entender o programa.
*Eu só citei ensino técnico ou superior, porque estamos falando do Pascal, que é uma linguagem didática, ou seja, apenas de aprendizado. O Pascal não é usado comercialmente.

Leigo: Eu notei que você e o Joker utilizam identações diferentes. Qual a mais correta?
Exemplo:
ele usa (se não for assim é algo parecido)
If <condição> then
<comandos>
else
<comandos>

você usa
If <condição>
then <comandos>
else <comandos>

Amumu: A menos que seu professor seja um carrasco e exiga que você faça como ele ensinou, ambas estão corretas.

NOTA: Algoritmo é uma linguagem pra se usar na teoria. Essa questão da identação se aplica ao Pascal e HTML. Creio eu que se aplique à todas as linguagens, mas não tenho todos os compiladores no meu computador pra testar, então é difícil afirmar.

Pascal - Comandos de Repetição - Enquanto, Para

Olá galera, neste post aprenderemos um pouco sobre "Enquanto" (while) e "Para" (for), então mão na massa.

Enquanto (while)

While (condição) do
begin
comando1;
comando2;
end;

tradução:

Enquanto (condição) faça
início
comando1;
comando2;
fim-enquanto;

o While só procede suas linhas de comando se a condição proposta pelo programado for true (verdadeira)

digamos que eu precise fazer um programa para uma empresa que leia 10 idades aleatóriamente (sem precisar guardá-las) dos filhos dos funcionários e no relatório dizer quantos são crianças, adolescentes e adultos.

uma pessoa (não um programa) pensaria assim:
enquanto eu ainda não obtiver os 10 números (idades) então vou continuar perguntando aos pais e continuar classificando a idade do filho dele, e quando eu finalmente acabar, vou ver quantas crianças, adolescentes e adultos tem na pesquisa.

O programa "pensará" da mesma forma, e como seria, Tio Joker? Fácil, apensa acompanhe e entenda os comentários
primeiramente as variáveis:
eu vou precisar uma para guardar o valor da idade então criaremos uma variável chamada idade
após saber a idade e ela será do tipo integer (inteiro) pois apenas irei querer saber os anos (nada de número quebrado, ou seja, com vírgula), vou precisar classificá-la, então vou criar 3 variáveis, uma para cada classificação, e chamarei-as de criancas , adolescentes e adultos, e por ultimo porem não menos importante precisaremos de um contador, que indicará se ja contei as 10 idades, chamaremos a variável de cont .

nossas variáveis então serão
Program idade;
var
idade,criancas,adolescentes,adultos,cont:integer; //declarei minhas variáveis como tipo inteiro.

após declarar nossas variáveis, o que faremos?
agora entrará a parte do "enquanto"
a frase a ser traduzida para o programa é: "enquanto eu ainda não obtiver os 10 números..."
no programa ficará:

cont := 1 //declaro um valor ao cont para que ele possa entrar no "enquanto"
while cont <= 10 do //enquato cont <= 10 então...
begin
comandos
end;

pronto, agora o programa só sairá do while se o número que esta no cont for maior que 10
então se não colocarmos que cont receberá +1 (cont := cont + 1;) sempre que ler uma idade, o programa nunca acabará, logo deveremos acrescentar essa linha de comando antes do end;

cont := 1
while cont <= 10 do
begin
comandos
cont := cont + 1;
end;

agora deveremos colocar os comandos para lerem as idades

cont := 1
while cont <= 10 do
begin
writeln('Qual a idade?');
read(idade);
cont := cont + 1;
end;

agora que lemos a idade, deveremos classificar a pessoa em criança, adolescente ou adulto

cont := 1;
while cont <= 10 do
begin
writeln('Qual a idade?');
read(idade);
if (idade < 13) then
begin
criancas := criancas + 1;
end
else if (idade < 18) then
begin
adolescentes := adolescentes + 1;
end
else adultos := adultos + 1;
cont := cont + 1;
end;

óooo, mas espere manolo, ta faltando alguma coisa não é?

sim, esta faltando caro leigo. como uma variável vai receber ela + 1 se ela não tem valor?

então deveremos acrescentar mais três linhas antes do while ficando assim:

cont := 1;
criancas := 0;
adolescentes := 0;
adultos := 0;
while cont <= 10 do
begin
writeln('Qual a idade?');
read(idade);
if (idade < 13) then
begin
criancas := criancas + 1;
end
else if (idade < 18) then
begin
adolescentes := adolescentes + 1;
end
else adultos := adultos + 1;
cont := cont + 1;
end;

pera ae manolo-man, como ela recebe 0??? RIARIAIRAIRAIRIARAI você é burro!!!1!!

caro iniciante, como você está começando a contar quantos tem, você tem que começar do 0, não acha?

e Pq o cont tem que começar do 1 então? ein ein ein??? responde essa !!!1!!

o cont não precisa começar do 1, ele pode começar do 53679, mas ai o while deverá ser <= 53689
o programa precisa ler 10 idades, não importa de quanto a quanto eu conto, mas tem que ser 10!

agora como vou precisar dizer quantas crianças, adolescentes e adultos tem, vou ter que começar do 0

ae titio joker, se você escreve criança certo, pq no programa tu escreveu crianca? tu é idiota?

nenhuma linguagem de programação (que eu conheça) aceita acentos e caracteres especiais ☺

terminando a parte do while, vou precisar imprimir quantas crianças, adolescentes e adultos tem, certo?

então depois do while, a unica linha que vou precisar adicionar é:
write('existem ',criancas,' crianças,',adolescentes,' adolescentes e ',adultos,' adultos');

estudem essa parte da programação, ela será muito (MUITO MESMO) útil!

código fonte no final do tutorial.

Para (for)

For x := 1 to 10 do // Para que var de 1 até 10 faça
begin
comandos
comandos
end;

O For tem o mesmo propósito do While , porem ele só serve para números(integer e real) o while pode servir para String e Boolean)

então titio jo-joker, o que me faz usar For ao invés de While?????

primeiramente, você reduzirá algumas linhas (2 nesse caso) na programação, fazendo seu código-fonte ficar mais bonito e apresentável.

quais as linhas que mudam manolo????

aqui está meu caro:

cont := 1; // essa linha pode sair, ja que o programa ja atribui um número a variável
criancas := 0;
adolescentes := 0;
adultos := 0;
for cont := 1 to 10 do // essa linha muda
begin
writeln('Qual a idade?');
read(idade);
if (idade < 13) then
begin
criancas := criancas + 1;
end
else if (idade < 18) then
begin
adolescentes := adolescentes + 1;
end
else adultos := adultos + 1;
cont := cont + 1; // essa linha também será descartada
end;

resumindo, o For ja atribui um número a variável (For cont := 1 to 10 do) e não precisará fazer a adição ao número, ja que a variável irá de x até y (For cont := 1 to 10 do cont de 1 a 10)

em questão de aparência e simplicidade o For ganha, mas em questão de utilidade, o While é melhor, na minha opinião.




e aqui acaba nosso tutorial sobre os repetitivos While e For