Ir ao conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Mostrando resultados para as tags ''Pascal''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Categorias

  • Armazenamento
  • Áudio
  • Energia
  • Entrada
  • Feiras e Eventos
  • Gabinetes
  • Memória
  • Museu
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Rádio CdH
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Armazenamento
  • Áudio
  • Câmeras
  • Computadores
  • Consoles
  • Eletrônicos
  • Energia
  • Entrada
  • Gabinetes
  • Impressão
  • Jogos
  • Memória
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Livros disponíveis
  • Livros esgotados

Fóruns

  • Mensagens do Clube do Hardware
    • Regras gerais
    • Boletins do Clube do Hardware
    • Notícias da administração
  • Hardware
    • Recomendações de computadores
    • Placas de vídeo
    • Placas-mãe e chipsets
    • Processadores
    • Problemas de gargalo e desempenho
    • Memórias
    • Armazenamento
    • Refrigeração e superaquecimento
    • Fontes e energia
    • Gabinetes e casemods
    • Placas de som e áudio on-board
    • Periféricos
    • Mac
    • Overclock
    • Hardware - outros
  • Computação móvel
    • Notebooks
    • Tablets
    • Smartphones e apps
  • Redes e Internet
    • Redes e Internet
    • Hospedagem de sites e registro de domínios
  • Segurança da informação
    • Remoção de malware
    • Dúvidas sobre invasões e infecções
    • Programas de proteção
  • Programação e desenvolvimento
    • Java
    • C/C#/C++
    • Pascal/Delphi
    • .NET
    • Bancos de dados
    • Programação web
    • Programação - iniciantes
    • Programação de microcontroladores
    • Programação - outros
  • Software
    • Jogos
    • Pacotes de escritório
    • Computação distribuída (Folding@Home, Bitcoin etc.)
    • Virtualização
    • Design, animação e tratamento de imagens
    • Edição, autoração e gravação de áudio e vídeo
    • Programas
  • Sistemas Operacionais
  • Eletrônicos
  • Outros
  • Clube do Hardware

Categorias

  • Hardware
  • Redes
  • Eletrônica
  • Sistemas operacionais

Encontrar resultados em...

Encontrar resultados que...


Data de criação

  • Iniciar

    FIM


Última atualização

  • Iniciar

    FIM


Filtrar pelo número de...

Data de registro

  • Iniciar

    FIM


Grupo


Encontrado 162 registros

  1. Tenho que fazer o código desse programa mas não tenho a mínima ideia por onde começar, por isso vim aqui pedir ajuda
  2. Ola me chamo joão e possuo uma matéria de programação em pascal e o professor quer que fazemos um programa que acho praticamente impossível em apenas 3 dias vim aqui tentar conseguir alguma ajuda. Faça um programa que funcione como um cadastro de clientes utilizando vetores. As informações a ser cadastradas são: nome, idade, peso, altura, sexo e profissão e CPF. O programa deve ter um menu com as seguintes opções: 1 – Cadastrar cliente 2 – Consultar cliente por nome 3 – Consultar cliente por CPF 4 – Editar informações do cliente (consultar por nome) 5 – Mostrar todos os clientes 6 – Mostrar todas as mulheres 7 – Mostrar todos os homens 8 – Calcular média de: idade, peso, altura 9 – Calcular média de: idade, peso, altura dos homens 10 – Calcular média de: idade, peso, altura das mulheres 11 - SAIR obs : gosto muito de programar em pascal mas trocou de professor e ele quer que a gente faça isso . o código que fiz até o momento : não consigo ir mais alem que isso <> Program cadastro ; var v:array [1..100] of real; nome,sx,prof:char; idade,x:real; peso,alt,cpf,N,i:integer; Begin for i :=1 to N do; Begin writeln('Quantos cadastros serão feitos'); readln (N); writeln('1 Cadastrar cliente'); writeln('2 Consultar cliente por nome '); writeln('3 Consultar cliente por CPF'); writeln('4 Editar informações do cliente (consultar por nome) '); writeln('5 Mostrar todos os clientes '); writeln('6 Mostrar todas as mulheres '); writeln('7 Mostrar todos os homens '); writeln('8 Calcular média de: idade, peso, altura '); writeln('9 Calcular média de: idade, peso, altura dos homens '); writeln('10 Calcular média de: idade, peso, altura das mulheres '); writeln('11 SAIR'); readln(x); if(x=1) then begin writeln('digite o nome'); readln(nome); writeln('digite a idade'); readln(idade); writeln('digite o peso'); readln(peso); writeln('digite a altura'); readln(alt); writeln('digite o sexo'); readln(sx); writeln('digite a profissao'); readln(prof); writeln('digite o cpf'); readln(cpf); readln (v); if(x=2)then begin writeln('digite o nome'); End; end.<>
  3. Olá a todos! Acho que muitos aqui já usaram ou já ouviu falar de um programador chinês chamado MinProgrammer feito com um conversor usb serial CH341A. Até aí tudo bem! Porém um russo pelo que entendi fez uma interface de programação para esse conversor que consegue gravar e ler em memórias das séries 24xx e 25xx. cujos os protocolos de comunicação são I2C e SPI. A linguagem que ele usou parece que foi PASCAL. Minha dúvida é como ele faz para adicionar um novo CI nessa interface. Ou seja, o que é preciso programar para que funcione a gravação de determinada memória. Espero que consigam entender onde quero chegar.
  4. Ola, sou novo na programação, gostaria de uma pequena ajuda. Queria desenvover um programa que desse um click com o botão esquerdo do mouse em um determinado local quando um outro local mudasse para uma cor predeterminada. Com botões de ligar/desligar sem precisar modificar as pastas dos lugares em que utilizasse a função e quando ativado, ficasse totalmente opaco. no geral seria um auto-click com a função de clicar quando em cima da cor predeterminada, um pequeno local de 0,3 centimetro de diametro no centro da tela em uma config de 1920 x 1080 p. Por acaso é possivel? alguém poderia me ajudar? Ficaria muito grato
  5. Bom dia, estou com uma dúvida, pois a função de multiplicar o numero pela posição dele não está funcionando. Posição 2 é o resultado 2x2 = 4, 3 3x3=9 até o 10. A mensagem de erro já está correta Devo escrever uma função que receba um valor inteiro como parâmetro de entrada e imprima na tela n linhas conforme estrutura apresentada abaixo. Por exemplo, as seguintes linhas devem ser apresentadas ser o parâmetro de entrada for 10. NOTA: Caso seja inserido um valor menor ou igual a zero, uma crítica deverá ser exibida e o processo deverá ser abortado. Obs.: Sou novato em delphi Até o momento estou utilizando 2 for, da seguinte maneira: program Project1; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; var i,n,j:integer; begin write(output,'Entre com um número inteiro maior que 0: '); readln(input, n); if ( n<=0 ) then writeln('Erro:O número digitado não pode ser menor ou igual a 0...') else begin repeat for i:=1 to n do write(sqr(n),' '); writeln; n:=n-1; until(n=0); end; begin for i:=1 to n do write (sqr(n*j), ' '); writeln; n:=n; j:=j*j; end; readln(n); readln(n); end.
  6. program Eleicao; var x , n begin cd1 := 0; cd2 := 0; cd3 := 0; cd4 := 0; for i=1 to N do begin writeln('Para votar no candidato 1 digite -1'); writeln('Para votar no candidato 2 digite -2'); writeln('Para votar no candidato 3 digite -3'); writeln('Para votar no candidato 4 digite -4'); readln(x); if (x = '1') then cd1:= cd1+1 else if (x = '2') then cd2 := cd2+1 else if (x = '3') then cd3 := cd3+1 else if (x ='4')then cd4 := cd4+1 ; end. Em uma eleição presidencial existem quatro candidatos e x eleitores. Os votos são informados através de códigos. Os dados utilizados para a contagem dos votos obedecem à seguinte codificação: 1, 2, 3, 4 = voto para os respectivos candidatos; 5 = voto nulo; 6 = voto em branco; Elabore um programa que leia o código do candidato em um voto. Calcule e escreva: - total de votos para cada candidato; - total de votos nulos; - total de votos em branco; - ganhador da eleição - último candidato da eleição - diferença de percentual de votos entre o primeiro e o último candidato Gostaria de saber como faço o for = 1 to X do pois n sei já que n tem critério de parada e também como apresentar o maior e menor dos 4 candidatos Att, João
  7. Preciso de ajuda em um programa no pascalzim onde a pessoa digite o dia e o mês de nascimento, mas se a pessoa digitar um número maior que 32, o programa escreva "dia inválido" e finalize. Se a pessoa digitar o dia certo, mas o mês maior que 12, o programa escreva "mês inválido" e finalize. Se digitar os dois incorretamente, escreva "dia e mês inválidos".
  8. E ai Pessoal Eu fiz um programa simples que calcula a distancia 2 pontos quaisquer em um plano, o programa funcionou, mas estou com dúvida se a fórmula está correta, é a seguinte: Program Distancia; Uses Crt; Var x, y, Resp:Real; Begin Clrscr; Writeln('Digite o Primeiro Ponto:'); Readln(x); Writeln('Digite o Segundo Ponto:'); Readln(y); Resp:=Sqrt(x*2-x*1)*(x*2-x*1)+(y*2-y*1)*(y*2-y*1); Readln; End.
  9. Queria fazer um cadatro de login e senha, a partir dai poderia fazer tipo um bando de dados em txt.É possivel? Fiz um programa com login e senha, só q somente da pra cadastrar no código fonte e n dentro do programa. Vou depositar aqui a seguir parte do código que estou desenvolvendo, ele tem varias procedures, n estranhem falta de códigos pois só colocarei a parte de menu: Begin //Login and senha GotoXY(74,3); BV:= 'BEM VINDO LUIZ !!! :D '; TextBackground(Black); For i:= 1 to Length(BV)do Begin TextColor(Blink + 12); Write (BV[i]); Delay(100); end; // termina o Welcome While V <> 1 do Begin Textbackground(black); GotoXY(3,6); TextBackGround(1); TextColor(blink+Red); lowvideo; Write ('|||||||||||||||||||||| Digite seu Login: '); TextColor(White); TextBackGround(Black); Write(' '); TextBackGround(4); Write (' >>> '); TextBackGround(Black); TextColor(2); Write(' '); TextColor(Red); Read (Login); TextBackGround(Black); If (Upcase(Login)) = 'ANONYMOUSLPH' then Begin GotoXY (70,6); TextBackGRound(BLUE); TextColor(LightGreen); Write (' V '); V:= 1; end Else Begin GotoXY (70,6); TextBackGround(BLUE); TextColor(LightRed); Write (' X '); V:= 2; end; Readln; GotoXY(3,8); TextBackGround(1); TextColor(blink+Red); lowvideo; Write ('||||||||||||||||||||| Digite sua Senha: '); TextColor(White); TextBackGround(Black); Write(' '); TextBackGround(4); Write (' >>> '); TextBackGround(Black); TextColor(2); Write(' '); TextColor(Red); Readln(Senha); TextBackGround(Black); If (Upcase(Senha)) = '9637ZX' then Begin GotoXY (70,8); TextBackGRound(BLUE); TextColor(LightGreen); Write (' V '); V:= 1; end Else Begin GotoXY (70,8); TextBackGround(BLUE); TextColor(LightRed); Write (' X '); V:=2; end; If V <> 1 then Begin TextBackGround(Black); Clrscr; end; Writeln; TextColor(Red+Blink); GotoXY(20,12); TextBackGround(LightRed); Textcolor(White+Blink); Writeln('---Press Enter---'); Readkey; end; Case V of 1: Begin Armazem; end Else if V = 2 then Begin GotoXY(60,10); Writeln('Senha ou Login incorretos...'); readkey; end else Begin GotoXY(60,10); Writeln('Senha ou Login incorretos...'); end; End; End. E o que eu queria fazer é mais ou menos isso : Program armazenamento ; Var Nome, senha: string; Txt: text; Cont: integer; Begin Assign(txt, 'C:\\ANTIPROCRASTINATOR\OpaTiozao.txt'); Writeln('Digite seu login: '); Readln(Nome); Writeln('Digite sua senha: '); Readln(Senha); Append(txt); Writeln(txt); Writeln(txt); Writeln('Cadastrado com sucesso. '); Cont:=0; While cont <> 1 do Begin if (Nome = txt and senha = txt then Begin Cont :=1; Writeln('correto'); end; end; Close(txt); readln; End. Seria um procedimento também.
  10. Meu projeto Login: anonymousLPH senha: 9637zx { Objetivo --> Usar tudo o que aprendi } //// //// //// Program Diaria ; Var i, V: integer; Login, Senha, BV, Crono: String; //// Procedure Cronometro; var hi,mi,si,csi,hh,mm,ss,cs:word; Begin ClrScr; hi:=0; mi:=0; si:=0; csi:=0; cs:=0; gettime(hi,mi,si,csi); TextColor(2); Lowvideo; //cronometro gotoxy(80,12); Write ('Hora atual:'); Repeat gettime(hh,mm,ss,cs); gotoxy(80,14); Write (hh,':',mm,':',ss,':',cs); until keypressed; gotoxy(48,16); Lowvideo; Write('Demorou, ',hh-hi,' Horas/ ',mm-mi,' minutos/ ',ss-si,' segundos/ ',cs-csi,' centésimos, para executar a tarefa!'); readkey; readln; End; Procedure Armazem; Var Day : Array[1..100] of string; Valor, i : integer; Continuar : String; Begin GotoXY(50,22); TextBackGround(10); TextColor(14); Write ('LUIZ, QUANTAS TAREFAS DESEJA ARMAZENAR HOJE ? (1,2,3,4...) '); TextBackground(White); Textcolor(LightBlue); Write ('-->'); TextBackGround(Black); Write(' '); Readln(Valor); For i:= 1 to valor do Begin Clrscr; GotoXY(66,22); Write ('Digite a - ',i,' - tarefa: '); Readln(Day[i]); Clrscr; Repeat GotoXY(62,24); Write ('QUAL TAREFA DESEJA CONSULTAR ? (1,2,3,4...) '); Readln(i); GotoXY(68,26); TextBackGround(14); TextColor(LightRed); Writeln ('A TAREFA A FAZER É ->> ', Day[i],' <<- '); TextBackGround(Black); GotoXY(50,30); Write ('Deseja Iniciar a contagem de tempo para fazer essa tarefa ? (SIM/NAO) '); Readln(Crono); If (Upcase(Crono)) = 'SIM' then Begin Cronometro; end; //Armazenagem TextColor(14); GotoXY(68,28); Write ('Deseja continuar ? (SIM/NAO) -> '); Readln(Continuar); Clrscr; Until (Upcase(Continuar)) = 'NAO'; end; End; //// Begin //Login and senha GotoXY(74,3); BV:= 'BEM VINDO LUIZ !!! :D '; TextBackground(Black); For i:= 1 to Length(BV)do Begin TextColor(Blink + 12); Write (BV[i]); Delay(50); end; // termina o Welcome While V <> 1 do Begin Textbackground(black); GotoXY(3,6); TextBackGround(1); TextColor(blink+Red); lowvideo; Write ('|||||||||||||||||||||| Digite seu Login: '); TextColor(White); TextBackGround(Black); Write(' '); TextBackGround(4); Write (' >>> '); TextBackGround(Black); TextColor(2); Write(' '); TextColor(Red); Read (Login); TextBackGround(Black); If (Upcase(Login)) = 'ANONYMOUSLPH' then Begin GotoXY (70,6); TextBackGRound(BLUE); TextColor(LightGreen); Write (' V '); V:= 1; GotoXY(55,11); TextColor(Green); Writeln('Login Correto!!! '); end Else Begin GotoXY (70,6); TextBackGround(BLUE); TextColor(LightRed); Write (' X '); V:= 2; GotoXY(55,11); TextColor(RED); Writeln('Login incorreto!!!'); end; GotoXY(3,8); TextBackGround(1); TextColor(blink+Red); lowvideo; Write ('||||||||||||||||||||| Digite sua Senha: '); TextColor(White); TextBackGround(Black); Write(' '); TextBackGround(4); Write (' >>> '); TextBackGround(Black); TextColor(2); Write(' '); TextColor(Red); Readln(Senha); TextBackGround(Black); If (Upcase(Senha)) = '9637ZX' then Begin GotoXY (70,8); TextBackGRound(BLUE); TextColor(LightGreen); Write (' V '); V:= 1; GotoXY(55,10); TextColor(Green); Writeln('Senha correta!!!'); end Else Begin GotoXY (70,8); TextBackGround(BLUE); TextColor(LightRed); Write (' X '); V:=2; GotoXY(55,10); TextColor(RED); Writeln('Senha incorreta!!!'); end; If V <> 1 then Begin TextBackGround(Black); end; Writeln; TextColor(Red+Blink); GotoXY(20,12); TextBackGround(LightRed); Textcolor(White+Blink); Writeln('---Press Enter---'); TextBackGround(Black); Readkey; Clrscr; end; Case V of 1: Begin Armazem; end else Begin V:= 99; end; End; End.
  11. KXSY

    Pascal O primeiro jogo que eu fiz.

    Venho aqui trazer para vocês o meu primeiro jogo que eu fiz. E em modo texto e utiliza o console e bem maluco, porque eu tentei usar tudo que eu sabia na época e tem vários bugs. Fonte para quem só quer passar o olho. Programa principal. program Cobrinha; {$MODE OBJFPC} uses Crt,SistemaV2,Controle,SysUtils; var Jogo:TJogo; procedure MatrixEfeito; var X,Y:byte; begin randomize; TextColor(LightGray); for X:=MinX to 80 do for Y:=MinY to 25 do begin write(#178); end; TextColor(white); end; procedure Paredes; var N:byte; begin TextColor(green); HighVideo; for N:=MinY to MaxY do begin GotoXY(MaxX+1,N); write(#178); end; for N:=MinX to MaxX+1 do begin GotoXY(N,MaxY+1); write(#178); end; TextColor(white); LowVideo; end; begin Repeat Jogo:=TJogo.IniciaJogo; Jogo.Level(100); MatrixEfeito; Jogo.Principal; FreeAndNil(Jogo); readln; writeln('Quer ir de novo digite S/N'); until UpCase(Readkey)='N'; end. Unidades auxiliares. {unidade responsável por toda a mecânica do jogo.} unit SistemaV2; {inclui o modo objeto do freepascal.} {$MODE OBJFPC} interface uses Controle,Crt; //unidade com as definições do controle const {tamanho máximo da tela} MaxX=60; MaxY=20; {tamanho minimo da tela} MinX=1; MinY=1; type {uma sessão da cobra} TPedacoCobra=record X,Y:byte; //local onde o pedaço está Comida:boolean; //se a comida ou não end; TBuffer=array[MinX..MaxX,MinY..MaxY] of byte; {ponteiro para TCobra} PCobra=^TCobra; {definição das sessões da cobra} TCobra=record Pedaco:TPedacoCobra; //local da cobra e se a comida Anterior:PCobra; //ponteiro anterior da lista end; {gerencia o corpo da cobra} TGerenciaCobra=class private Cobra:PCobra; //ponteiro para o corpo da cobra Public Constructor IniciaCobra(X,Y:byte); //inicia em um local predefinido Destructor FinalizaCobra; //finaliza o objeto e destrói o corpo da cobra procedure CresceCobra(X,Y:byte;C:boolean); //cresce o corpo da cobra procedure MovimentaCobra(X,Y:byte); //movimenta a cobra property PonteiroCobra:PCobra read Cobra; end; {definição do tamanho da grade.} TGrade=array[MinX..MaxX,MinY..MaxY] of byte; {gerencia a grade do jogo e onde ficara o alimento da cobra} TGerenciaGrade=class private Grade:TGrade; //variável grade public constructor IniciaGrade; //inicia a grade procedure LimpaGrade; //limpa a grade procedure ColocaNaGrade(X,Y,V:byte);//coloca dados na grade procedure TiraDaGrade(X,Y:byte); //tira os dados da grade function PassaValoresGrade(X,Y:byte):byte;//passa o valor na posição da grade function ChecaGrade(X,Y:byte; Var V:byte):boolean;//checa se a algum valor na grade end; TJogo=class private Pontuacao:LongInt; Dificudade:integer; GerenciaGrade:TGerenciaGrade; GerenciaCobra:TGerenciaCobra; Movimentos:TMovimentos; public Constructor IniciaJogo; Destructor Finaliza; procedure Principal; procedure Level(L:LongInt); end; implementation Constructor TGerenciaCobra.IniciaCobra(X,Y:byte); var I:byte; //usada no for begin {ultimo ponteiro} Cobra:=Nil; {cria quatro pedaços da cobra} for I:=Y to Y+4 do CresceCobra(X,I,False); end; Destructor TGerenciaCobra.FinalizaCobra; var Aux:PCobra; //ponteiro genérico begin {limpa a memoria} while Cobra<>Nil do begin Aux:=Cobra; Cobra:=Cobra^.Anterior; Dispose(Aux); end; {chama o destrutor herdado} Inherited Destroy; end; procedure TGerenciaCobra.CresceCobra(X,Y:byte;C:boolean); var Aux:PCobra; //ponteiro genérico begin {cria um novo pedaço} New(Aux); {passa todos os dados} Aux^.Pedaco.X:=X; Aux^.Pedaco.Y:=Y; Aux^.Pedaco.Comida:=C; {aponta para o anterior} Aux^.Anterior:=Cobra; {prepara para o próximo ponteiro} Cobra:=Aux; end; procedure TGerenciaCobra.MovimentaCobra(X,Y:byte); var Aux,P:PCobra; //variáveis auxilio begin {cria um novo pedaço da cobra} CresceCobra(X,Y,False); Aux:=Cobra; while Aux^.Anterior<>Nil do begin P:=Aux; Aux:=Aux^.Anterior; end; {e descarta o ultimo} Aux:=P^.Anterior; P^.Anterior:=Nil; Dispose(Aux); end; Constructor TGerenciaGrade.IniciaGrade; begin {inicia a grade, limpando a mesma} LimpaGrade; end; procedure TGerenciaGrade.LimpaGrade; var X,Y:byte; begin for X:=MinX to MaxX do for Y:=MinY to MaxY do Grade[X,Y]:=0; end; procedure TGerenciaGrade.ColocaNaGrade(X,Y,V:byte); begin Grade[X,Y]:=V; end; procedure TGerenciaGrade.TiraDaGrade(X,Y:byte); begin Grade[X,Y]:=0; end; function TGerenciaGrade.PassaValoresGrade(X,Y:byte):byte; begin PassaValoresGrade:=Grade[X,Y]; end; function TGerenciaGrade.ChecaGrade(X,Y:byte; Var V:byte):boolean; begin ChecaGrade:=True; if Grade[X,Y]<>0 then V:=Grade[X,Y] else ChecaGrade:=False; end; Constructor TJogo.IniciaJogo; begin Pontuacao:=0; GerenciaGrade:=TGerenciaGrade.IniciaGrade; Movimentos:=TMovimentos.Inicia(Random(5)+2,Random(5)+2); GerenciaCobra:=TGerenciaCobra.IniciaCobra(Movimentos.X,Movimentos.Y); end; Destructor TJogo.Finaliza; begin Movimentos.Finaliza; GerenciaCobra.FinalizaCobra; GerenciaGrade.Destroy; Inherited Destroy; end; procedure TJogo.Principal; var Perdeu:boolean; Cobra:PCobra; procedure ColocaComidaNaGrade; var Aux:PCobra; X,Y:byte; begin X:=Random(MaxX); Y:=Random(MaxY); Aux:=GerenciaCobra.PonteiroCobra; while Aux<>Nil do begin if (X=Aux^.Pedaco.X)And(Y=Aux^.Pedaco.Y) then begin Aux:=Nil; ColocaComidaNaGrade; end else Aux:=Aux^.Anterior; end; if (X In [MinX..MaxX])And(Y In [MinY..MaxY]) then GerenciaGrade.ColocaNaGrade(X,Y,Random(254)+1) else ColocaComidaNaGrade; end; procedure ChecaColisao; var Aux:PCobra; T:TPedacoCobra; S:byte; begin Perdeu:=False; Aux:=GerenciaCobra.PonteiroCobra; if GerenciaGrade.ChecaGrade(Aux^.Pedaco.X,Aux^.Pedaco.Y,S) then begin GerenciaCobra.CresceCobra(Movimentos.X,Movimentos.Y,True); GerenciaGrade.TiraDaGrade(Aux^.Pedaco.X,Aux^.Pedaco.Y); ColocaComidaNaGrade; Inc(Pontuacao,S); end; T:=Aux^.Pedaco; Aux:=Aux^.Anterior; while Aux<>Nil do begin if (T.X=Aux^.Pedaco.X)And(T.Y=Aux^.Pedaco.Y) then begin Perdeu:=True; Aux:=Nil; end else Aux:=Aux^.Anterior; end; end; procedure MostraJogo; var I,L:byte; S:byte; Buffer:TBuffer; begin Cobra:=GerenciaCobra.PonteiroCobra; GotoXY(MaxX+1,MinY); TextColor(White); writeln('PONTUA',#128,#142,'O:',Pontuacao); Window(MinX,MinY,MaxX,MaxY); ClrScr; TextColor(LightRed); for I:=MinX to MaxX do for L:=MinY to MaxY do begin GotoXY(I,L); if GerenciaGrade.ChecaGrade(I,L,S) then begin write(#64) end; end; while Cobra<>Nil do begin TextColor(LightGreen); GotoXY(Cobra^.Pedaco.X,Cobra^.Pedaco.Y); if Cobra^.Pedaco.Comida then write('O') else write('o'); Cobra:=Cobra^.Anterior; end; {for I:=MinX to MaxX do for L:=MinY to MaxY do begin GotoXY(I,L); Case Buffer[I,L] of 1:begin TextColor(White); write(#64); end; 2:begin TextColor(Green); write(#178); end; 3:begin TextColor(Green); write(#184); end; end; end;} Window(1,1,80,25); end; function Comida:byte; begin Comida:=Random(255); end; begin Perdeu:=False; CursorOff; ColocaComidaNaGrade; HighVideo; repeat Movimentos.ChecaMovimento; GerenciaCobra.MovimentaCobra(Movimentos.X,Movimentos.Y); ChecaColisao; MostraJogo; Delay(Dificudade); until Perdeu=True; end; procedure TJogo.Level(L:LongInt); begin Dificudade:=L; end; end. Unit Controle; {inclui o modo objeto do freepascal.} {$MODE OBJFPC} interface const TeclasPermitidas=['A','S','W','D']; type {busca por teclas pressionadas pelo usuário.} TTeclas=class private Botao:char; //tecla pressionada no momento public constructor Inicia; procedure ChecaTecla; //checa se alguma tecla foi pressionada property PassaTecla:char read Botao; //passa a tecla pressionada end; TMovimentos=class private D,V:byte; Teclas:TTeclas; //objeto teclas UltimaTecla:char; Public Constructor Inicia(X1,Y1:byte); //inicia com locais predefinidos Destructor Finaliza; procedure ChecaMovimento; //checa se alguma tecla foi pressionada então atualiza procedure Debug; property X:byte read D; //Linha property Y:byte read V; //Coluna end; implementation uses Crt,SistemaV2; constructor TTeclas.Inicia; begin Botao:='D'; end; procedure TTeclas.ChecaTecla; var C:char; begin if KeyPressed then begin C:=UpCase(ReadKey); if C in TeclasPermitidas then Botao:=C; end; end; Constructor TMovimentos.Inicia(X1,Y1:byte); begin Teclas:=TTeclas.Inicia; D:=X1; V:=Y1; end; Destructor TMovimentos.Finaliza; begin Teclas.Destroy; Inherited Destroy; end; procedure TMovimentos.ChecaMovimento; var C:char; begin Teclas.ChecaTecla; C:=Teclas.PassaTecla; case UpCase(C) of 'A':if UltimaTecla='D' then C:=UltimaTecla; 'D':if UltimaTecla='A' then C:=UltimaTecla; 'S':if UltimaTecla='W' then C:=UltimaTecla; 'W':if UltimaTecla='S' then C:=UltimaTecla; end; case UpCase(C) of 'A':if D>MinX then Dec(D) else D:=MaxX; 'D':if D<MaxX then Inc(D) else D:=MinX; 'W':if V>MinY then Dec(V) else V:=MaxY; 'S':if V<MaxY then Inc(V) else V:=MinY; end; UltimaTecla:=C; end; procedure TMovimentos.Debug; begin GotoXY(40,1); writeln(Teclas.PassaTecla,'-'); GotoXY(40,2); writeln(X); GotoXY(40,3); writeln(Y); end; end. O anexo para download tem as fontes. Eu lembro que eu portei ele para o Nintendo DS mais não achei as fontes então vou ficar devendo. S1.zip
  12. Fiz um programinha de Armazenamento de Tarefas para treinar meus conhecimentos de 1 mes de pascal e queria fazer o login e senha piscar. Segue o Código, ( "aceito notas e dicas" haha) : { Objetivo --> Usar tudo o que aprendi } Program Diaria ; Var i, V: integer; Login, Senha, BV: String; Procedure Armazem; Var Day : Array[1..100] of string; Valor, i : integer; Continuar : String; Begin GotoXY(50,22); TextBackGround(10); TextColor(14); Write ('LUIZ, QUANTAS TAREFAS DESEJA ARMAZENAR HOJE ? (1,2,3,4...) '); TextBackground(White); Textcolor(LightBlue); Write ('-->'); TextBackGround(Black); Write(' '); Readln(Valor); For i:= 1 to valor do //For Begin Clrscr; //Procedure GotoXY(64,22); Write ('Digite a - ',i,' - tarefa: '); Readln(Day[i]); //Array Clrscr; //Case End; //If Repeat //Repeat GotoXY(64,24); Write ('QUAL TAREFA DESEJA CONSULTAR ? (1,2,3,4...) '); Readln(i); GotoXY(64,26); TextBackGround(14); TextColor(LightRed); Writeln ('A tarefa a fazer é: ', Day[i]); TextBackGround(Black); TextColor(14); GotoXY(64,28); Write ('Deseja continuar ? (SIM/NAO) -> '); Readln(Continuar); Clrscr; Until (Upcase(Continuar)) = 'NAO'; end; ///// Begin GotoXY(74,3); BV:= 'BEM VINDO LUIZ !!! :D '; TextBackground(Black); For i:= 1 to Length(BV)do Begin TextColor(12); Write (BV[i]); Delay(150); end; GotoXY(3,6); TextBackGround(1); TextColor(blink+Black); Write ('||||||||||||||||||||| Digite seu Login: '); TextColor(White); TextBackGround(Black); Write(' '); TextBackGround(4); Write (' >>> '); TextBackGround(Black); TextColor(2); Write(' '); TextColor(Red); Read (Login); TextBackGround(Black); If (Upcase(Login)) = 'ANONYMOUSLPH' then Begin GotoXY (70,6); TextBackGRound(BLUE); TextColor(LightGreen); Write (' V '); V:= 1; end Else Begin GotoXY (70,6); TextBackGround(BLUE); TextColor(LightRed); Write (' X '); V:= 2; end; Readln; GotoXY(3,8); TextBackGround(1); TextColor(Black+Blink); Write ('||||||||||||||||||||| Digite sua Senha: '); TextColor(White); TextBackGround(Black); Write(' '); TextBackGround(4); Write (' >>> '); TextBackGround(Black); TextColor(2); Write(' '); TextColor(Red); Readln(Senha); TextBackGround(Black); If (Upcase(Senha)) = '9637ZX' then Begin GotoXY (70,8); TextBackGRound(BLUE); TextColor(LightGreen); Write (' V '); V:= 1; end Else Begin GotoXY (70,8); TextBackGround(BLUE); TextColor(LightRed); Write (' X '); V:=2; end; Writeln; TextColor(Red+Blink); GotoXY(20,12); TextBackGround(LightRed); Textcolor(White+Blink); Writeln('---Press Enter---'); Readkey; Case V of 1: Begin Armazem; end Else Begin GotoXY(60,10); Writeln('Senha ou Login incorretos...'); end; End; End.
  13. Program Pzim ; Var Numero: Real; Procedimento: Char; //// Procedure Raiz; Var Resultado: Real; Begin Resultado:= Sqrt(Numero); Writeln('A raiz quadrada de ', Numero:2:1,' é = ', Resultado:2:2); end; Procedure Potencia; Var Resultado: Real; Begin Resultado:= Exp(Numero*ln(Numero)); Writeln('A Potencia de ',Numero:2:1,' por ele mesmo é: ', Resultado:2:2); end; //// Begin Writeln(' P PARA POTENCIA E R PARA RAIZ'); Writeln; Writeln('Digite qual procedimento deseja usar: '); Readln(Procedimento); Writeln('Digite o numero: '); Readln(Numero); Case (Upcase(Procedimento)) of 'P': Potencia; 'R': Raiz; End; Readln; end. Quero saber o que uma procedure faz generalizada, e como ela é mais usada
  14. Faça um programa para ler N números inteiros e positivos (apenas), ou seja, quantos o usuário quiser digitar e quando for digitado o zero, informar quantos números foram lidos, qual foi o maior e o menor número lido.
  15. Bom dia, esse é o meu primeiro tópico aqui e eu gostaria de pedir desculpas pela inconveniência de tomar o tempo de vocês com erros tão toscos quanto os que cometi nesse algoritmo. Acabei de começar a disciplina de algoritmos na faculdade e já estou tendo muitos problemas com a lógica envolvendo as estruturas de repetição aninhadas e eu gostaria que me ajudassem em particular com esse algoritmo que deixarei abaixo... Estou nele a 3 dias e já não sei o que fazer, TUDO dá errado e eu já estou me achando a pessoa mais ***** da face da terra... Eu não quero que resolvam para mim, eu apenas quero entende-lo e aprender a fazer do meu próprio jeito. Desde já agradeço. Program Pzim ; //2. Um total de 500 alunos de uma universidade foram entrevistados. De cada um deles foram colhidas as //seguintes informações: o código do curso que freqüenta (1-engenharia; 2-computação; 3-administração) e //a idade. Faça um programa que processe estes dados e que forneça as seguintes informações: //a) número de alunos por curso; //a) número de alunos com idade entre 20 e 25 anos, por curso; e //a) qual o curso com menor média de idade. Var cda,ida,ae,ac,aa,aen,idan,acn,aan,na : real; resp : string; Begin Repeat ae:=0; ac:=0; aa:=0; Repeat write('digite o número do aluno'); readln(na); Write('Tecle 1 para engenharia, 2 para computação, 3 para administração e 0 para parar '); Readln(cda); Write('Digite a idade do aluno'); readln(ida); if cda=1 then begin ae := ae + 1; if (ida > 20) and (ida < 25)then begin aen:=aen+1; idan:=ida; end; if (cda =2)then begin ac := ac + 1; if (ida >20 and ida <25)then begin acn:=acn+1; idan:=ida; end; end; if (cda = 3) then begin aa := aa + 1; if (ida >20 and ida <25 )then begin aan:=aan+1; idan:=ida; end; end; Until cda = 0; Writeln('há mais algum estudante a ser considerado?:'); Until resp = 'n'; Writeln('O número de estudantes que cursam engenharia é:'ae, 'e número de estudantes com idades entre 20 e 25 anos é de:',idan ); Writeln('O número de estudantes que cursam computação é:'ac, 'e número de estudantes com idades entre 20 e 25 anos é de:',idan ); Writeln('O número de estudantes que cursam administração é:'aa, 'e número de estudantes com idades entre 20 e 25 anos é de:',idan ); Readkey; End.
  16. Sofri demais para resolver, consegui resolver mas estou com uma pulga atrás da orelha e sem vontade de voltar a quebrar a cabeça, vou mandar o exercicio e o código q fiz. Segue o código: Program b ; Var Voto: integer; Continuar: string; cont, c1, c2, c3, c4:integer; Begin Writeln('ESCOLHA SEU CANDIDATO A VOTAÇÃO '); Writeln('1 - CARLAO' ); Writeln('2 - BORRACHA' ); Writeln('3 - BOLSONARO'); Writeln('4 - BOULOS' ); readln(Voto); Writeln('Deseja finalizar a votação?'); Readln(Continuar); while (upcase(Continuar)) = 'NAO' do Begin Writeln('ESCOLHA SEU CANDIDATO A VOTAÇÃO '); Writeln('1 - CARLAO' ); Writeln('2 - BORRACHA' ); Writeln('3 - BOLSONARO'); Writeln('4 - BOULOS' ); Readln(voto); If voto = 1 then begin inc(Cont); inc(c1, cont); end else if voto = 2 then begin inc(Cont); inc(c2, cont); end else if voto = 3 then begin inc(Cont); inc(c3, cont); end else if voto = 4 then begin inc(Cont); inc(c4, cont); end; Repeat Writeln(' CARLAO = ', c1 ); Writeln(' BORRACHA = ', c2 ); Writeln(' BOLSONARO = ', c3 ); Writeln(' BOULOS = ', c4 ); Writeln('Deseja continuar a votação?'); Readln(Continuar); Until (upcase(continuar)) = 'NAO'; Continuar:= 'Sim'; end; End. file:///C:/Users/ACER/Downloads/WhatsApp%20Image%202019-08-29%20at%2010.12.23%20PM.jpeg
  17. Alguém tem algum jeito ou formula, manha para resolver problemas sem quebrar a cabeça no teclado e se perder no código?
  18. Eu estava resolvendo uns exercícios de array e não consegui entender como essa verificação acontece e porque o ( idade:array [1..10] ) da para ser verificado no ( i: integer; ) com colchete. Segue o código: Program vetor ; Var idade:array [1..10] of integer; idades, i: integer; Begin for i:= 1 to 10 do begin Writeln('Digite a idade ', i); Readln(idade[i]); inc(idades, idade[i]); end; Writeln('A soma das idades é: ', idades); writeln; Write ('Digite a idade que deseja verificar: '); Readln(i); Write ('A idade é', idade[i]); readln; End.
  19. Vi um jogo feito quase por inteiro de GotoXY e n entendi muito sobre
  20. Desafio: conseguir fazer o mais simples e curto possível. Segue a questão: Faça um algoritmo que receba os valores dos lados de um triângulo e calcule se o Triângulo é Escaleno (Todos os lados diferentes), Isóscele(Dois lados iguais e um diferente), ou se é Equilátero(todos os lados iguais). by me: Program Pzim ; var lado_1, lado_2, lado_3:real; Begin Write ('Digite o primero lado do triangulo: '); Readln(lado_1); Write ('Digite o segundo lado do triangulo: '); Readln(lado_2); Write ('Digite o terceiro lado do triangulo: '); Readln(lado_3); if (lado_1 = lado_2) and (lado_2 = lado_3)and (lado_1 = lado_3) then begin Writeln('É um triângulo Isósceles'); end else Begin Writeln('É um triângulo Escaleno'); end; Readln; End.
  21. faça um algoritmo que receba o sexo da pessoa, a idade e também mostre a soma das pessoas do sexo feminino. O mesmo deve receber no total de 10 pessoas. Já fiz o algoritmo, e quero aprimoramentos, comando para deixar isso mais massa, qualquer aperfeiçoamento irá me ajudar futuramente a deixar meus códigos mais ricos. me mostrem algo que poderia ser mais simples(mudanças no algoritmo), e também quero dicas para melhoras, até então agradecerei amigos!!! Program exercicio_4; Var Sexo: string[1]; {Serve para declarar uma string de 1 caracter} idade,idadesM ,idades, contadorM, contadorF, contador: integer; Nome :string; Begin idadesM:=0; idades:=0; idade:=0; Clrscr; While contador < 10 do {contador while, vai servir para resetar os IFs} Begin Clrscr; {limpa o que tiver atrás(Se eu colocar uma Writeln ele nem aparecerá)} inc(contador); {mesmo que contador:=contador+1} Writeln('-------Prepara-------'); Writeln('Digite o nome da pessoa: '); Read(Nome); Writeln('Digite o Sexo M para masculino e F para feminino: '); {atribuindo as variáveis, sem excessoes} Read(sexo); Writeln('Digite a idade dela: '); Read(idade); Textcolor(contador); If (sexo='f') or (sexo='F') then {Fazendo uma exceção interna, ou seja, isso pega uma informação e identifica se é verdadeira ou não} Begin inc(contadorF); idades:=idades+idade; {Se verdadeira, executa os comandos, soma e muda cor} TextColor(Random(14)+1); end else If (sexo='m') or (sexo='M') then {Para ter onde armazenar os masculinos...} Begin inc(contadorM); idadesM:=idadesM+idade; TextColor(Random(14)+1); end Else begin contadorM:=contadorM-1; {Se caso F ou M faz digitado errado, será eliminado 1 contagem, e continuara(tipo um reset)} end; end; {Fim do while} If contadorF <> 0 then {para n ter furos} Begin Writeln('A soma das idades femininas é: ',idades); {Fim} End; Repeat until Keypressed;{Finaliza ao clicar qualquer tecla} End.
  22. Hoje tentando resolver problemas de Pascal me deparei com um loop imparável com contador, o Repeat não parava no Until Cont =5; para começar as medias com IF/Then.
  23. Fiz um algoritmo que pega um determinado valor de alunos, soma 3 notas e faz a media e ao final de cada aluno aparece a média {sem o comando Clrscr;} mas quando coloco o comando clrscr n aparece a média de cada aluno, somente do ultimo. Preciso entender um jeito para limpar o aluno anterior após aparecer a média, se alguém puder me instruir fico grato fico grato Segue o código: Program Exercicio_9 ; Var aluno: string; nota1, nota2, nota3, Valor, cont: integer; Media, Soma: Real; Begin Clrscr; Writeln(upcase('----------Programa média de alunos----------')); Writeln('digite o numero de alunos que deseja calcular a media'); Read(Valor); Soma:=0; nota1:=0; nota2:=0; nota3:=0; While cont < valor do Begin clrscr; inc(cont); Writeln('---------- Média de Alunos----------'); Writeln('Digite o nome do aluno ', cont, ': '); Read(aluno); Writeln('Digite a primeira nota: '); Read(nota1); Writeln('Digite a segunda nota: '); Read(nota2); Writeln('Digite a terceira nota: '); Read(nota3); Soma:= nota1+nota2+nota3; Media:=soma/3; Writeln('A média do aluno', cont, ' é: ', Media :2:2); end; Repeat Until Keypressed; End.
  24. Muita gente, inclusive eu, tem dificuldade em entender o que o programa faz nas iterações de recursividade. Vou mostrar abaixo o que eu entendi ao fazer Debugger do código de fatorial recursivo. Me corrijam se minha interpretação estiver errada, pois já quebrei a cabeça tentando entender a lógica. Esse foi o resultado mais lógico que cheguei "debugando" linha por linha. Program FatRecursivo ; Var n: integer; Function Fat(n:integer): integer ; Begin if n = 0 then Fat:= 1; else Fat:= n * Fat(n-1) End; Begin write('Entre com o valor de n: '); readln(n); writeln('Valor de fat(n) => ', Fat(n)); readkey; End. Empilha (iteração) Desempilha (recursivamente) Fat:= 5*Fat(4) Chama a fuction novamente passando o 4 1:=1*Fat(1)=1 Fat:= 4*Fat(3) Chama a fuction novamente passando o 3 1:=2*Fat(1)=2 Fat:= 3*Fat(2) Chama a fuction novamente passando o 2 2:=3*Fat(2)=6 Fat:= 2*Fat(1) Chama a fuction novamente passando o 1 6:=4*Fat(6)=24 Fat:= 1*Fat(0) - if(n = 0) then Fat:=1 24:=5*Fat(24)=120 Quando o programa principal chama a Function pela primeira vez, o Fat:= não recebe nada, pois ao chegar em Fat(n-1), a Function é chamada novamente, não permitindo que Fat:= receba o valor do cálculo de Fat:=n*Fat(n-1). Se calculasse, Fat:= iria receber 20, resultado de Fat:=5*Fat(4). Então, a iteração vai acontecendo até “n” ser 0, condição if n = 0. Ao terminar a iteração (if n = 0 then Fat:=1), a Function vai fazer a ordem inversa, de baixo para cima. Agora sim Fat:= vai receber os valores do cálculo, pois a Function precisa retornar ao ponto da primeira chamada (Fat:= 5*Fat(4)). Fazendo a ordem inversa, o primeiro cálculo é (Fat:= 1*Fat(0)) que foi a última iteração. Devido ao comando if n = 0 then Fat:=1, o primeiro cálculo inicia-se assim 1:=1*Fat(1) = 1. Agora, uma após a outra, Fat:= recebe o valor do cálculo e, n é recuperado, mantendo o mesmo valor da iteração. Obs: o programa Principal aguarda por um retorno da Function Fat que, por sua vez, se executa recursivamente para chegar a uma resposta. Em toda iteração (recursiva), de Function Fat, o valor do parâmetro n é diferente (resultado de (n-1)). Quando a chamada recursiva se encerra, o programa precisa voltar ao ponto em que a chamada ocorreu (de baixo para cima), recuperando os valores das variáveis locais.
  25. fak3

    Pascal Um exercício de pascal

    Olá pessoal, estou com dificuldades para resolver este exercício, se puderem me ajudar eu agradeço. 14)faça um programa que leia um numero e que indique quantos valores inteiros e positivos devem ser lidos a seguir. Para cada número lido, mostre uma tabela/lista contendo o valor lido e o fatorial desse valor desde já agradeço.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Aprenda_a_Ler_Resistores_e_Capacitores-capa-3d-newsletter.jpg

ebook grátis "Aprenda a ler resistores e capacitores", de Gabriel Torres

GRÁTIS! BAIXE AGORA MESMO!