Autor Tópico: [Pascal] Matrix code!  (Lida 6845 vezes)

Offline Teotónio Ricardo

  • Administrator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://www.teotonio.pt
[Pascal] Matrix code!
« em: Janeiro 11, 2006, 11:00:26 am »
[Pascal] Matrix code!

Aqui esta um codigo para mostrar no monitor o matrix, foi uma pequena brincadeira que fiz no pascal nas aulas!



Código: [Seleccione]
program webtuga;

uses crt;





begin

textcolor(2);

Randomize;

repeat

  Writeln (\\'101010101010101 01010101 0101 0101 010| www.playboy.com |01 0101011010010101\\');

  Writeln(\\'$10%10 10$10 1010% 101%01010 1010"1010| www.playboy.com | 10 10101  0"10101#0\\');





until KeyPressed;

end.

ou

Código: [Seleccione]
program webtuga;

uses crt;





begin

textcolor(2);

Randomize;

repeat

  Writeln (\\'101010101010101 01010101 0101 0101 010| www.wetuga.com |01 0101011010010101\\');

  Writeln(\\'$10%10 10$10 1010% 101%01010 1010"1010| www.webtuga.com | 10 10101  0"10101#0\\');





until KeyPressed;

end.


Espero que gostem, comentem!

Offline Teotónio Ricardo

  • Administrator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://www.teotonio.pt
[Pascal] Matrix code!
« Responder #1 em: Janeiro 11, 2006, 09:14:19 pm »
Aqui fica um ficheiro para quem não tem pascal poder ver o resultado:

http://cenourinhadesign.no.sapo.pt/matris.exe

Offline Ghetto_Smurf

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://
[Pascal] Matrix code!
« Responder #2 em: Janeiro 14, 2006, 08:54:34 pm »
vou experimentar fazer isso na aula de programação
 
não há paciencia para ir ao pascal aki!

Offline Imigrante

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
[Pascal] Matrix code!
« Responder #3 em: Janeiro 14, 2006, 08:57:53 pm »
depois podem gozar comigo mas respondem 1º  o que é a linguagem pascal ?  : happy :  : happy :

Offline Teotónio Ricardo

  • Administrator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://www.teotonio.pt
[Pascal] Matrix code!
« Responder #4 em: Janeiro 14, 2006, 09:01:45 pm »
Citar
depois podem gozar comigo mas respondem 1º  o que é a linguagem pascal ?  : happy :  : happy :

Pascal é uma linguagem de programaçao basica que ainda utiliza o uma janela de Dos para correr, entanto já existem versoes mais graficas!

Se quiseres dar uns toques avisa!

Offline Imigrante

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
[Pascal] Matrix code!
« Responder #5 em: Janeiro 16, 2006, 12:48:22 pm »
quero ver é se comeco com o C++, nao sei o que é mas deve ser \\"cool\\"  : happy :  : happy :  : rir :

Offline Ghetto_Smurf

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://
[Pascal] Matrix code!
« Responder #6 em: Janeiro 16, 2006, 02:02:21 pm »
o melhor é comecares com o pascal ou o delphi... pois é um grande avanco comecar com c++....

Offline Teotónio Ricardo

  • Administrator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://www.teotonio.pt
[Pascal] Matrix code!
« Responder #7 em: Janeiro 16, 2006, 02:47:16 pm »
Citar
o melhor é comecares com o pascal ou o delphi... pois é um grande avanco comecar com c++....

As tuas palavras são as minhas!

Offline Imigrante

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
[Pascal] Matrix code!
« Responder #8 em: Janeiro 16, 2006, 06:13:55 pm »
pois !!!
mas onde é que começo  : ajuda :

Offline Ghetto_Smurf

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://
[Pascal] Matrix code!
« Responder #9 em: Janeiro 16, 2006, 06:43:20 pm »
se comprares o livro de bases de programação do 10º ano pode te ajudar muito... mas se kiseres algo + free eu tenho montes de tuts, mas em ingles. se quiseres na mesma manda me uma MP

Offline Imigrante

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
[Pascal] Matrix code!
« Responder #10 em: Janeiro 16, 2006, 09:14:24 pm »
pois em ingles não percebo quase patavina ! mas mesmo assim mandame sff

Offline KTachyon

  • Global Moderator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://twitter.com/KTachyon
[Pascal] Matrix code!
« Responder #11 em: Janeiro 23, 2006, 02:09:47 pm »
Eu aconselho a começares com BASIC ou Java.
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

Offline sharkcmlm

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
[Pascal] Matrix code!
« Responder #12 em: Abril 22, 2008, 10:15:54 pm »
Program MATRIX;
Uses Crt;
Var
x,y,n,i,r:integer;
letra:char;
begin
     Clrscr;
     n:=4;
     while n>2 do begin {ciclo infinito}
           x:=1+Random(80);
           y:=Random(255);
           r:=Random(15);
           for i:=y to y+r do begin
               letra:=chr(Random(255));
               for r:=1 to 2 do begin
                   if r> 1 then
                      Textcolor(2);
                      gotoxy(x,i);
                      write(letra);
                      delay(2);
                end;
           end;
     end;
end.


tente este  vi este na net e fiz umas alteracoes.. valeu

Offline crazii

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
[Pascal] Matrix code!
« Responder #13 em: Abril 23, 2008, 02:30:54 am »
esse nao ta grande coisa lol por ke ta smp a repetir a mma coisa, eu tinha feito um em ke punha numeros aleattórios, mas já nao sei onde o pus =/ já me deixei da prog de pascal à munto =P

Offline KTachyon

  • Global Moderator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://twitter.com/KTachyon
[Pascal] Matrix code!
« Responder #14 em: Abril 23, 2008, 06:38:47 am »
Antes de mais, este tópico levou aqui um desenterro...

Mas, mais bonito que isto visto em Pascal simples é fazer gráficamente com OpenGL. Cria-se uma matrix N x N x N e uma matriz N x N com pontos de mudança. Colocam-se os valores, que até podem gerar caracteres (que, se observarem bem, a Matrix não utiliza números) e vão-se incrementando os pontos de mudança de X em X ciclos.

No final fica um cubo tridimensional com os caracteres a serem mudados dinâmicamente e onde é possivel viajar para ver as colunas mais fundas do Matrix.
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

Offline sharkcmlm

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
[Pascal] Matrix code!
« Responder #15 em: Maio 03, 2008, 12:41:53 pm »
oi.. precisava da ajuda de alguem neste programa PASCAL. é um trabalho para a escola que estou a desenvolver mas ta mau . ele nao funciona  se alguem me ajudar agradeço.. toda a ajuda é bem vinda.. tambem estou aberto a sugestoes.. valeu.

unit Alunos1;

interface

uses crt;

type disciplina=record
     mat:string[15];
     port:string[15];
     ing:string[15];
     fq:string[15];
     psi:string[15];
     ac:string[15];
     ai:string[15];
     rc:string[15];
     tic:string[15];
     ef:string[15];end;

type aluno=record
     num:integer;
     nome:string[20];
     d:disciplina;end;

type alunos=array[1..30] of aluno;

function menu:byte;
function inserir(var alu:alunos;n:integer):integer;
procedure modificar(var alu:alunos;n:byte);
procedure eliminar(var alu:alunos);
function media_curso(var alu:alunos;n:byte):real;
function media_aluno(var alu:alunos):real;
procedure mostrar_todos(alu:alunos;n:byte);
function media_maluno(var alu:alunos;n:byte):real;
procedure mostrar_msup(var alu:alunos;n:byte);
procedure mostrar_minf(var alu:alunos;n:byte);

implementation

function menu:byte;
var op:integer;
begin
     clrscr;
     writeln(\\'---MENU---\\');
     writeln(\\'1->Mntroduzir Aluno\\');
     writeln(\\'2->Modificar Notas\\');
     writeln(\\'3->Eliminar Aluno\\');
     writeln(\\'4->Calcular media do curso\\');
     writeln(\\'5->Calcular media de um Aluno\\');
     writeln(\\'6->Mostrar todos os Alunos\\');
     writeln(\\'7->Mostrar o melhor Aluno\\');
     writeln(\\'8->Mostrar os Alunos com uma media superior a um valor introduzido pelo utilizador\\');
     writeln(\\'9->Mostrar os Alunos com uma media inferior a um valor introduzido pelo utilizador\\');
     writeln(\\'10->opcoes\\');
     writeln(\\'11->sair\\');readln(op);
     if op<=11 then begin
        menu:=op end else begin
        writeln(\\'Valor invalido, Escolha uma opcao entre 1 e 11\\');end;
end;

function inserir(var alu:alunos;n:integer):integer;
{inserir um novo aluno e as respectivas notas}
var qa,i:integer;
begin
     clrscr;
     write(\\'quantos Alunos deseja inserir?\\');readln(qa);
     for i:=1 to qa do begin
         writeln(\\'insira os dados do Aluno\\');
         with alunos[n+i] do begin
              num:=n+i;
              write(\\'nome\\');readln(nome);
              writeln(\\'insira a nota para a disciplina de..\\');
              writeln(\\'matematica\\');readln(d.mat);
              writeln(\\'portugues\\');readln(d.port);
              writeln(\\'ingles\\');readln(d.ing);
              writeln(\\'Fisico Quimica\\');readln(d.fq);
              writeln(\\'PSI\\');readln(d.psi);
              writeln(\\'Arquitectura de Computadores\\');readln(d.ac);
              writeln(\\'Area deIntegracao\\');readln(d.ai);
              writeln(\\'Redes de Computadores\\');readln(d.rc);
              writeln(\\'TIC\\');readln(d.tic);
              writeln(\\'Educacao Fisica\\');readln(d.ef);end;end;
              inserir:=n+qa;
end;

procedure modificar(var alu:alunos;n:byte);
{alterar a nota de um aluno}
var nu:integer;yn:string;
begin
     writeln(\\'Modificacao das Notas\\');
     writeln(\\'Numero do Aluno?\\');readln(nu);
     writeln(\\'Tem a certeza que pretende eliminar este Aluno?(n.\\',num,\\')\\');
     writeln(\\'(y/n)\\');readln(yn);upcase(yn);
     if yn:=\\'Y\\' then begin
        if nu<n then begin
           writeln(\\'Aluno nao Existente\\');end else
           writeln(alunos[nu].nome);
           writeln(alunos[nu].d);
           writeln(\\'insira a nota para a disciplina de..\\');
           writeln(\\'matematica\\');readln(d.mat);
           writeln(\\'portugues\\');readln(d.port);
           writeln(\\'ingles\\');readln(d.ing);
           writeln(\\'Fisico Quimica\\');readln(d.fq);
           writeln(\\'PSI\\');readln(d.psi);
           writeln(\\'Arquitectura de Computadores\\');readln(d.ac);
           writeln(\\'Area deIntegracao\\');readln(d.ai);
           writeln(\\'Redes de Computadores\\');readln(d.rc);
           writeln(\\'TIC\\');readln(d.tic);
           writeln(\\'Educacao Fisica\\');readln(d.ef);end else
           Writeln(\\' Volte sempre\\');
end;

procedure eliminar(var alu:alunos);
{eliminar um aluno}
var nu:integer;yn:string;
begin
     writeln(\\'---Eliminar Aluno---\\');
     writeln(\\'Numero do Aluno a eliminar?\\');readln(nu);
     writeln(\\'Tem a certeza que deseja eliminar este Aluno?\\');
     writeln(\\'(y/n)\\');readln(yn);upcase(yn);
     if yn=\\'Y\\' then begin
        alunos[nu].nome:=\\'ELIMINADO\\';
        with alunos[nu] do begin
         {quando eliminado, as notas ficam a 0}
             d.mat:=0;
             d.port:=0;
             d.ing:=0;
             d.psi:=0;
             d.ac:=0;
             d.ai:=0;
             d.rc:=0;
             d.tic:=0;
             d.ef:=0;end;end else
        writeln(\\'Fica para a proxima\\');end;
end;
function media_curso(var alu:alunos;n:byte):real;
{media do curso}
var cont:integer;
 md,md1:real;
begin
     cont:=0;
     writeln(\\'media do curso\\');;
     for i:=1 to n do begin
         if aluno.d <>0 then begin
         {nao quero calcular os alunos eliminados, isto é, com notas de 0}
            with aluno do begin
                 with d do begin
                      md:=(mat+port+ing+fq+psi+ac+ai+rc+tic+ef)/10;
                      cont:=cont+1
                      md1:=md1+md;end;end;end;
     md1:=md1/cont;
     writeln(\\'Media do curso e de: \\',md1);
     media_curso:=md1;end;

function media_aluno(var alu:alunos):real;
{calcular a media de um aluno escolhido pelo utilizador}
var md:real; nu:integer;
begin
     writeln(\\'media de um aluno\\');
     writeln(\\'insira o numero do aluno\\');readln(nu);
     with aluno[nu] do begin
          with d do begin
               md:=(mat+port+ing+fq+psi+ac+ai+rc+tic+ef)/10;
               writeln(\\'A media do aluno e: \\',md);end;
               media_aluno:=md;end;

procedure mostrar_todos(alu:alunos;n:byte);
{listar todos os alunos}
var i:integer;
begin
     wrriteln(\\'Lista de todos os alunos\\');
                     for i:=1 to n do begin
                         with vect do begin
                              writeln(num);
                              writeln(nome);
                              writeln(\\'disciplinas\\');
                              with d do begin
                                   writeln(\\'Matematica \\',mat);
                                   writeln(\\'Portugues \\',port);
                                   writeln(\\'Ingles \\',ing);
                                   writeln(\\'Fisico Quimica \\',fq);
                                   writeln(\\'PSI \\',psi);
                                   writeln(\\'Arquitectura de Computadores \\',ac);
                                   writeln(\\'Area de Integracao \\',ai);
                                   writeln(\\'Redes de Computadores \\',rc);
                                   writeln(\\'TIC \\',tic);
                                   writeln(\\'Educacao Fisica \\',ef);
                                   writeln;end;end;end;end;

function media_maluno(var alu:alunos;n:byte):real;
{media do melhor aluno}
var md,md1:real;
i:integer;
begin
     writeln(\\'Media do melhor Aluno\\');
     md1:=0;
     for i:=1 to n do begin
         if aluno.d <>0 then begin
         {nao quero calcular os alunos eliminados, isto é, com notas de 0}
            with aluno do begin
                 with d do begin
                      md:=(mat+port+ing+fq+psi+ac+ai+rc+tic+ef)/10;
                      if md<md1>mu do begin
                      with aluno do begin
                           writeln(num);
                           writeln(nome);
                           writeln(\\'disciplinas\\');
                           with d do begin
                                writeln(\\'Matematica \\',mat);
                                writeln(\\'Portugues \\',port);
                                writeln(\\'Ingles \\',ing);
                                writeln(\\'Fisico Quimica \\',fq);
                                writeln(\\'PSI \\',psi);
                                writeln(\\'Arquitectura de Computadores \\',ac);
                                writeln(\\'Area de Integracao \\',ai);
                                writeln(\\'Redes de Computadores \\',rc);
                                writeln(\\'TIC \\',tic);
                                writeln(\\'Educacao Fisica \\',ef);
                                writeln(\\'media:\\',md);
                                writeln;end;end;end;end;end;end;

procedure mostrar_minf(var alu:alunos;n:byte);
{apresentar todos os alunos com uma media inferior a um valor introduzido pelo utilizador}
var i:integer;
md,mu:real;
begin
     writeln(\\'insira a media a compara\\');readln(mu);
     writeln(\\'Lista dos alunos com uma media superior a: \\',mu);
     for i:=1 to n do begin
         with aluno do begin
              with d do begin
                   md:=(mat+port+ing+fq+psi+ac+ai+rc+tic+ef)/10;
                   if md<mu do begin
                      with aluno do begin
                           writeln(num);
                           writeln(nome);
                           writeln(\\'disciplinas\\');
                           with d do begin
                                writeln(\\'Matematica \\',mat);
                                writeln(\\'Portugues \\',port);
                                writeln(\\'Ingles \\',ing);
                                writeln(\\'Fisico Quimica \\',fq);
                                writeln(\\'PSI \\',psi);
                                writeln(\\'Arquitectura de Computadores \\',ac);
                                writeln(\\'Area de Integracao \\',ai);
                                writeln(\\'Redes de Computadores \\',rc);
                                writeln(\\'TIC \\',tic);
                                writeln(\\'Educacao Fisica \\',ef);
                                writeln(\\'media:\\',md);
                                writeln;end;end;end;end;end;end;

Offline Caneco

  • Global Moderator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://canecodesign.deviantart.com
[Pascal] Matrix code!
« Responder #16 em: Maio 03, 2008, 01:27:09 pm »
LOL
tentem fazer isso em assembler... aí vêm o que é duro... LOL

Offline sharkcmlm

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
[Pascal] Matrix code!
« Responder #17 em: Maio 03, 2008, 06:34:32 pm »
ta aqui o programa.. ajudem me..xD
tenhu dificuldades nas variaveis dos procedimentos e funçoes.. pf alguem faça esse programa rodar

program Modulo5;
uses alunos,crt;
var op,na:integer
begin
     na:=0;
     op:=menu;
     clrscr;
     while (op>=1) and (op<=11) do begin
           case op of
                1:begin
                        na:=inserir(va,na);
                        raadln;end;
                2:begin
                       clrscr;
                       modificar(va,na);
                       readln;end;
                3:begin
                       clrscr;
                       eliminar(va);
                       readln;end;
                4:begin
                       clrscr;
                       md1:=media_curso(va,na):real;
                       readln;end;
                5:begin
                       clrscr;
                       md:=media_aluno(va):real;
                       readln;end;
                6:begin
                       clrscr;
                       mostrar_todos(va,na);
                       readln;end;
                7:begin
                       clrscr;
                       md1:=media_maluno(va,na):real;
                       readln;end;
                8:begin
                       clrscr;
                       mostrar_msup(va,na);
                       readln;end;
                9:begin
                       clrscr;
                       mostrar_minf(va,na);
                       readln;end;end;
                       end.

Offline KTachyon

  • Global Moderator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://twitter.com/KTachyon
[Pascal] Matrix code!
« Responder #18 em: Maio 04, 2008, 04:43:56 am »
sharkcmlm, o teu programa está intragável. Não tive paciência para o ler, simplesmente porque a primeira coisa para que olhei foi a forma como fazias a média das notas.

Quando queres fazer um programa que pode realizar a mesma operação a valores que podem ser em número indeterminado, o que se faz é armazenar essas valores num array (ou lista, vector, etc), e uma variável com o número de valores que tens, e aplicares as operações num ciclo, tipo:

Código: [Seleccione]
for (i = 0; i < max; i++) {

  total = total + notas[i];

}



media = total / max;
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49