Jump to content

Search the Community

Showing results for tags 'pascal'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Comunidade
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Apresentação de Projectos de Programação
    • Downloads
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Pascal
    • Python
    • Bases de Dados
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica e Automação Industrial
    • Matemática
    • Software de Contabilidade e Finanças
    • Dúvidas e Discussão de Programação
  • Outras Áreas
    • Notícias de Tecnologia
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


GitHub


LinkedIn


Twitter


Facebook

  1. Boa Tarde, Trabalho no xe7, estou a tentar consumir o API do INE.PT, através "Rest Debugger". Ao executar dá sempre o erro: socket-error-10054-connection-reset-by-peer Segui o exemplo do manual do API Request URL:https://www.ine.pt/ine Parameters Resources: json_indicador/pindica.jsp?op=2&varcd={varcd_cod}&Dim1={dim1_cod}&Dim2={dim2_cod}&Dim3={dim3_cod}&lang={lang} Alguém que já tenha feito algo do género, que possa ajudar? Obrigada Sílvia
  2. Olá, precisava de ajuda de como poderia criar um sistema de Stock nesta maquina de bebidas que estou desenvolvendo ainda sou "novato" em pascal estou fazendo esta maquina de bebidas para aprender melhor como funciona a linguagem pascal. Ate agora ainda não tive nenhuma ideia de como posso adicionar um sistema de stock a esta maquina se alguém tiver alguma dica ou souber de alguma forma agradeço toda a ajuda. Program Maquinadevendas ; Var Bebida : Char; Var Valor : String; Var Dinheiro : Real; Var DinheiroNovo : Real; Var SomaDinheiro : Real; Var Continuar : String; var A,B,C,D,E,F,G,H,I,J,K,L : Char; Const Agua = 0.50; Const Sumo = 0.80; Const Cola = 1.20; Const Ucal = 1.00; Begin G := Chr(201); H := Chr(205); I := Chr(187); J := Chr(186); K := Chr(200); L := Chr(188); Writeln (' ',G,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,I); Writeln (' ',J,' ',' ',' ',' ',' ',' ',J); Writeln (' ',J,' ',J); Writeln (' ',J,' ',J); Writeln (' ',J,' ',J); Writeln (' ',K,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,L); Repeat DinheiroNovo := 0; SomaDinheiro := 0; Dinheiro := 0; Writeln('Opções'); Writeln ('1 - Agua:0.50$'); Writeln ('2 - Sumo:0.80$'); Writeln ('3 - Cola:1.20$'); Writeln ('4 - Ucal:1.00$'); Write('Escolha a sua Opção:'); Read (Bebida); Case Bebida of '1': begin Writeln('Voce escolheu Agua por favor intoduza 0.50$'); Readln(Dinheiro); if (Dinheiro = Agua) then Writeln('Desfrute da sua Agua.'); if (Dinheiro < Agua) then Begin SomaDinheiro := Dinheiro ; Repeat Writeln('O valor atrbuido é insufeciente '); Writeln(' Insira mais dinheiro'); Readln(Dinheironovo); SomaDinheiro := Dinheironovo + SomaDinheiro; Writeln('A quantia introduzida é', SomaDinheiro :8 :2) Until SomaDinheiro >= 0.50; end; if (SomaDinheiro > Agua) then Writeln('Desfrute da sua agua e aqui tem o seu troco',SomaDinheiro - Agua :8 :2); end ; '2': begin Writeln('Voce escolheu Sumo por favor intoduza 0.80$'); Readln(Dinheiro); if (Dinheiro = Sumo) then Writeln('Desfrute da sua Agua.'); if (Dinheiro < Sumo) then Begin SomaDinheiro := Dinheiro ; Repeat Writeln('O valor atrbuido é insufeciente '); Writeln(' Insira mais dinheiro'); Readln(Dinheironovo); SomaDinheiro := Dinheironovo + SomaDinheiro; Writeln('A quantia introduzida é', SomaDinheiro :8 :2) Until SomaDinheiro >= Sumo; end; if (SomaDinheiro > Sumo) then Writeln('Desfrute do seu Sumo e aqui tem o seu troco',SomaDinheiro - Sumo :8 :2); end ; '3': begin Writeln('Voce escolheu Cola por favor intoduza 1.20$'); Readln(Dinheiro); if (Dinheiro = Cola) then Writeln('Desfrute da sua Cola.'); if (Dinheiro < Cola) then Begin SomaDinheiro := Dinheiro ; Repeat Writeln('O valor atrbuido é insufeciente '); Writeln(' Insira mais dinheiro'); Readln(Dinheironovo); SomaDinheiro := Dinheironovo + SomaDinheiro; Writeln('A quantia introduzida é', SomaDinheiro :8 :2) Until SomaDinheiro >= Cola; end; if (SomaDinheiro > Cola) then Writeln('Desfrute do seu Sumo e aqui tem o seu troco',SomaDinheiro - Cola :8 :2); end ; '4': begin Writeln('Voce escolheu Ucal por favor intoduza 1.00$'); Readln(Dinheiro); if (Dinheiro = Ucal) then Writeln('Desfrute da sua Ucal.'); if (Dinheiro < Ucal) then Begin SomaDinheiro := Dinheiro ; Repeat Writeln('O valor atrbuido é insufeciente '); Writeln(' Insira mais dinheiro'); Readln(Dinheironovo); SomaDinheiro := Dinheironovo + SomaDinheiro; Writeln('A quantia introduzida é', SomaDinheiro :8 :2) Until SomaDinheiro >= Ucal; end; if (SomaDinheiro > Ucal) then Writeln('Desfrute do seu Sumo e aqui tem o seu troco',SomaDinheiro - Ucal :8 :2); end ; Else Writeln('Opção Invalida'); end; Repeat Writeln('Deseja Continuar S ou N?'); readln(Continuar); Until (Continuar = 'S') or (Continuar = 'N'); Until Continuar = ('N'); Writeln('Desfrute da sua bebida'); End.
  3. Ganha um clone moderno do ZX Spectrum com apenas algumas linhas de programa BASIC! Está aberto um concurso de programação ZX Spectrum com um desafio insólito para os programadores do ZX Spectrum mas banal para os programadores de Pascal: Programar em BASIC sem usar GOTOs! Se achas que BASIC é uma antiguidade indigna de sujares os dedos, podes ver aqui a prova em contrário: http://arcalusitana.fun/MuseuZX/Pascalated_BASIC Sim, com um conversor a velharia já fica mais simpática! Vamos lá, aproveita um fim-de-semana e mostra a esses programadores em vias de extinção o que vale um programador a sério! Quem estiver interessado, pode ler o regulamento aqui: http://arcalusitana.fun/MuseuZX/Pascalated_BASIC/Concurso2022.html O anúncio oficial está aqui na página do patrocinador: https://planetasinclair.blogspot.com/2022/02/concurso-basic-apascalado-2022-zx.html Boa sorte!
  4. ola Quero criar um aplicativo de tarefas Eu quero exibir a lista de tarefas na tela de bloqueio do Android você tem alguma idéia de como exibi-lo na tela de bloqueio e não na tela inicial
  5. Tenho a disciplina de projeto e eu decidi fazer um talho em pascalzim só que agora tou com um pquenho grande problema . A compra da primeira carne da certo mas da 2 , 3 , 4, 5 ... dão erradas o valor a pagar fica igual a 0. Ajuda por favor tenho de entregar o trabalho ate dia 10. O programa ainda não tá acabado mas eu queria pelo menos tratar disto. Programa: Program Pzim ; Var nov, nov2 , Vit , Kig , precocarne , vlrcompra , vlrpagar , vlrpago , din , troco:Real; Var crn :Integer; Var outra_compra : char; label inicio; label kg; label compra; label troco; label outracompra; Begin Repeat precocarne:=0; vlrpago:=0; troco:=0; inicio:Clrscr; Textcolor(Red); Writeln(' ___________________ ') ; Writeln(' | | ') ; Writeln(' | Seja bem-vindo ao | ') ; Writeln(' | Talho Rui & Comp. | ') ; Writeln(' |___________________| ') ; Writeln(); Writeln(); Writeln(' ______________ '); Writeln(' | | '); Writeln(' | 1- Novilho | '); Writeln(' | 2- Vitela | '); Writeln(' | 3- Porco | '); Writeln(); Writeln(); Write('Carne escolhida : '); Read (crn); clrscr; Case (crn) of 1:Begin clrscr; textcolor (green); Write('1'); textcolor(red); Writeln(' - Bife do Bazio - (12,98€/Kg) '); textcolor (green); Write('2'); textcolor (red); Writeln(' - Bife da Rabada - (11,50€/Kg) '); textcolor (green); Write('3'); Textcolor(red); Writeln(' - Bife da cernelha - (8,98€/Kg) '); textcolor (green); Write('4'); Textcolor(red); Writeln(' - Carne de Novilho - (7,98€/Kg) '); textcolor (green); Write('5'); textcolor (red); Writeln(' - Costelão - (6,99€/Kg) '); textcolor (green); Write('6'); textcolor (red); Writeln(' - Pagina seguinte '); textcolor (green); Write('0'); textcolor (red); Writeln(' - Voltar '); Read(nov); if (Nov=0) then goto inicio; if (Nov=1) then precocarne:=(12.98); goto kg; if (Nov=2) then precocarne:=(11.50); goto kg; if (Nov=3) then precocarne:=(8.98); goto kg; if (Nov=4) then precocarne:=(7.98); goto kg; if (Nov=5) then precocarne:=(6.99); goto kg; IF (Nov=6) then Clrscr; textcolor (green); Write('1'); textcolor (red); Writeln(' - Fígado de Novilho - (3,99€/Kg) ') ; textcolor (green); Write('2'); textcolor (red); Writeln(' - Língua de Novilho - (6,99€/Kg) ') ; textcolor (green); Write('3'); textcolor (red); Writeln(' - Mão de Novilho - (1,99€/Kg) ') ; textcolor (green); Write('4'); textcolor (red); Writeln(' - Picanha - (12,99€/Kg) '); textcolor (green); Write('5'); Textcolor (red); Writeln(' - Tripa de Novilho - (3,79€/Kg) '); textcolor (green); Write('0'); textcolor(red); Writeln(' - Voltar '); Read(nov2); if (nov2=0) then goto inicio; END; 2:bEGIN CLRSCR; textcolor(green); Write('1'); Textcolor(red); Writeln(' - Costela Mendinha - (7,98€/Kg) '); textcolor(green); Write('2'); textcolor(red); Writeln(' - Costelas de Vitela - (12,98/Kg) '); textcolor(green); Write('3'); textcolor(red); Writeln(' - Vitela Branca (Assar) - (12,48/Kg) '); Textcolor(green); Write('0'); Textcolor(red); Writeln(' - Voltar '); Read(Vit); If Vit=0 then goto Inicio End; 3:bEGIN CLRSCR; Textcolor(green); Write('1'); textcolor(red); Writeln(' - Bifanas Laminadas - (3,48€/Kg) '); Textcolor(green); Write('2'); Textcolor(red); Writeln(' - Chispe - (2,48€/Kg) '); Textcolor(green); Write('3'); textcolor(Red); Writeln(' - Costelas do Lombo - (3,48€/Kg) '); Textcolor(Green); Write('4'); Textcolor(red); Writeln(' - Entrecosto - (4,48€/Kg) '); End; End; Kg:CLRSCR; Writeln(''); Writeln(' Quantos Kg deseja ?'); Read (kig); goto compra; Compra:clrscr; vlrpago:=0; repeat clrscr; vlrcompra:=(Kig * (precocarne)); vlrpagar:=(vlrcompra- vlrpago); Writeln('Valor da compra : ',vlrcompra); Writeln('Valor a pagar : ',vlrpagar); Writeln('Valor pago : ',vlrpago); Writeln(); Writeln(' Insira o dinheiro! '); Read (din); Vlrpago:=vlrpago+din; until (vlrpago=vlrcompra) or (vlrpago>vlrcompra); goto troco; Troco:Clrscr; troco:=(vlrpago-vlrcompra); Writeln(' Troco : ',troco); Writeln(''); Writeln(' Obrigado pela sua compra '); goto outracompra; outracompra:Writeln(); Writeln(); Writeln('Deseja comprar mais alguma coisa?'); Read (outra_compra); Until (outra_compra='N') or (outra_compra='n') End.
  6. Boas, tenho um programa para fazer para um trabalho, e apenas não estou a conseguir efetuar um passo, cujo objetivo é clicar na tecla ESC e através deste clique, limpar todo o ecrã escrever algo através de: "write('...');". Se alguém me conseguisse ajudar seria brutal. Obrigado.
  7. Boa noite, Estou a desenvolver um sistema Indoor, no qual o vídeo precisa tocar várias horas por dia/semana. Entretanto quando uso o TMediaPlayer e o TMediaPlayerControl o sistema não consegue ficar mais que 2 horas funcionando. Essa é uma parte do código que utilizo para dar o Play. Eu fiz um Array de TMediaPlayer para armazenar as "mídias carregadas". Utilizo o pIndexList para percorrer todos os vídeos da lista. Podem notar que acabei fazendo um Array de TMediaPlayerControl para ficar criando e apagando (tentei com isso liberar memória dando um .Release). procedure TForm1.PlayVideo; begin inc(pIndexList); if (pIndexList > 9) then begin pIndexList := 0; end; Memo1.Lines.Clear; Memo1.Lines.Add('Índice: '+ pIndexList.ToString); if Assigned(pMediaPlayerControl[0]) then if pMediaPlayerControl[0].MediaPlayer.State = TMediaState.Playing then pMediaPlayerControl[0].MediaPlayer.Stop; pMediaPlayerControl[0].MediaPlayer := pMediaPlayer[pIndexList]; pMediaPlayerControl[0].MediaPlayer.Play; end; Alguém teria alguma solução para esse problema? Por que a aplicação fechar sem dar uma mensagem de erro? As vezes aparece um mensagem de que não pode abrir o vídeo.
  8. Boa tarde, Estou migrando um projeto Delphi 7 para XE, e o mesmo tem um TDataModule com um TSQLConnection que de uma hora para outra não aparece mais na propriedade "SQLConnection" dos TSQLQuery nos formulários. Se eu colocar "DM.Connection" manualmente no parâmetro "SQLConnection" do objeto TSQLQuery funciona perfeitamente, más ele não aparece como opção se eu clicar no combo. Em outros projetos continuam aparecendo normal, só neste projeto específico que não aparece, o combo fica vazio, parece que corrompeu algo. Alguém saberia me dizer como posso fazer para recuperar este link no projeto? Desde já, agradeço.
  9. Amigos, desenvolvi um aplicativo e necessito que este possa receber notificações push através do Firebase Cloud Messaging, segui todos os passos encontrados em pesquisas na web, hoje já consigo receber notificações no Android, porém no iOS apesar de compilar sem erros, resgatar o TOKEN e do Firebase retornar mensagem positiva quando uso este TOKEN para testes de envio, a notificação nunca chega. Alguém conhece um bom passo a passo que possa ajudar-me nessa empreitada?
  10. Olá, me ajudem aqui por favor!!! Preciso de um comando que faça a porcentagem de votos, o projeto seia assim, colocaria o voto da pessoa1 e depois da pessoa2, e assim calcular a porcentagem dos 2 e logo em seguida aparecer qual pessoa tem a porcentagem maior e a porcentagem logo do lado.
  11. Bom dia, sou novo em programação Lazarus, e estou iniciando um projeto para controle de estoque, ocorre que preciso usar um datamodule, o problema é que quando estou fazendo a ligação na fase de programação tudo ocorre muito bem, só quando faço a compilação, nesta fase surgi o seguinte erro " "unit UniDados not used in FormPrincipal” ", e no executável a conexão com o banco some, segue código abaixo, agradeço qualquer ajuda, obrigado: Form principal: < unit FormPrincipal; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, DBCtrls, DBGrids; type { TForm1 } TForm1 = class(TForm) DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; procedure teste(Sender: TObject); private public end; var Form1: TForm1; implementation {$R *.lfm} uses UniDados; { TForm1 } procedure TForm1.teste(Sender: TObject); begin // DataModule1.Create(self); end; end. > Form DataModule: < unit UniDados; {$mode objfpc}{$H+} interface uses Classes, SysUtils, ZConnection, ZDataset, DB; type { TDataModule1 } TDataModule1 = class(TDataModule) DataSource1: TDataSource; ZConnection1: TZConnection; ZQuery1: TZQuery; private public end; var DataModule1: TDataModule1; implementation {$R *.lfm} end. >
  12. Boa tarde a todos 🙂 Recentemente começamos a migrar as nossas apps (Android / iOS) do Delphi Rio 10.3.3 para a mais recente Delphi Sydney 10.4.2. Em android correu tudo bem, basicamente foi compilar e ficou feita a migração. No iOS, estou com bastantes problemas para conseguir que as notificações push funcionem, sendo que na versão anterior estava tudo a funcionar. Uma das novidades na versão 10.4.2 é, precisamente, o suporte para Firebase Push Notification para iOS. Segui os passos apresentados neste webinar https://blogs.embarcadero.com/pt/webinar-amanha-mao-na-massa-com-rad-studio-10-4-2/ (no video, começa no minuto 1:08:30), atualizei o mac para o mais Big Sur (vs 11.4), instalei a partir do GetIt Package Manager o Firebase SDK for iOS 6.28. Depois de configurar nas opções do projeto a opção "Framework search path" com o caminho para as pastas FirebaseAnalytics e FirebaseMessaging e colocar a opção -ObjC em "Options passed to de LD linker" estou a receber o seguinte erro: [DCC Error] E2597 ld: file not found: PromisesObjC [DCC Fatal Error] F2588 Linker error code: 1 ($00000001) Descarreguei o exemplo apresentado no webinar https://github.com/flrizzato/WEBINARS/tree/master/10.4.2-HandsOn e tenho exatamente o mesmo erro... Talvez esteja a faltar alguma configuração no delphi ou no mac (não sei se é necessário instalar alguma coisa).. Alguém tem ideia do que será? Agradeço qualquer ajuda, se não houver ajudas, pelo menos desabafei 😅
  13. Elabora um programa em pascal que peça ao utilizador uma frase com um max de 70 caracteres... faz com que o programa responda dizendo o numero de palavras introduzinas na frase sendo que não pode ultrapassar os 70 caracteres... Boa sorte... (PS: até agora fiz isto e professor já corrigiu e disse que estava certo desta forma); Program Contador_com_70_caracteres ; const ct= 70; type arr=array [1..ct] of char; var p: arr; n:integer; Procedure ler_caracteres (var frase:arr; var k:integer); Begin writeln ('introduza uma frase com um max de 70 caracteres'); k:=1; Repeat k:=k+1; read (frase [k]); until (k=70) or (frase[k] = '#'); End; Procedure analizar (frase:arr; j:integer; var palavras:integer); var i: integer; begin palavras:=0; for i:=1 to j do if (frase[i]=' ') and (frase[i-1] <> ' ') or ( frase[i] = '#') then palavras:=palavras+1; End; Procedure escrever (f:arr; h:integer); var i: integer; Begin For i:=1 to h do write (f[i]); writeln (' o numero de caracteres é ',h); end; Begin ler_caracteres(p,n); analizar(p,n,n); escrever(p,n); End.
  14. Olá, colegas Meu nome é Vlademiro, sou brasileiro, e estou entrando agora no fórum. Apesar de já ter mais de 30 anos de experiência com informática, considero-me um iniciante em Pascal. Acredito que anos de experiência dizem muito pouco sobre um profissional, por isso estou aqui na condição de aprendiz. Meu primeiro contato com o Pascal foi na escola técnica de programação, ainda nos anos 1990, mas acabei usando o que estava em alta naquela época, que era o Clipper 5, depois veio a web e fui para o ASP antigo, PHP, Oracle Forms, Perl e depois voltei para o xBase através do Harbour. Apesar de amante do software livre me vi atraído pelo Delphi por sua simplicidade e maturidade. Quando vi a versão community me empolguei. Vi também que o primo open-source do Delphi, o Lazarus, evoluiu muito desde a última vez que vi (sou curioso). Espero contribuir com vocês e aprender também. Como minha primeira contribuição eu criei um repositório git e vou alimentando com o que vou aprendendo de Delphi e Pascal em geral. Tem algumas coisas legais que descobri nos meus estudos. Inclusive talvez vá ajudar a algum profissional também, já que tem uma pasta de exemplos com alguns códigos de firedac somente console (sou do tempo do console, por isso só sinto que aprendi algo quando faço exemplos em console). Meu repósitório Espero que estejam todos bem a as suas famílias também. Até mais.
  15. Olá boa noite Eu preciso de fazer um projeto para a escola, mas não tenho ideias e queria perguntar se alguém teria alguma. É o meu primeiro ano de programação , por isso eu não sou um pro nisto, mas desenrasco me bem e não tenho problema em ir pesquisar algo que não saiba. Neste projeto nos somos avaliados entre outras coisas pela originalidade do programa e é obrigatório usar: Ciclos de repetição e decisão (aprendemos o while, until, case of, if, ...), vetores/matrizes, strings, funções e procedimentos. Alguém tem alguma ideia? Obrigado desde já!
  16. Estou com dúvidas de como resolver estes exercícios alguem me poderia ajudar? https://prnt.sc/106jxwd
  17. Estou a criar um Jogo em Pascalzim com matrizes. Foi me pedido para fazer a batalha naval singleplayer para a escola mas quero fazxer com que haja outro jogador. Como Posso Fazer isso? Aqui esta o codigo: { 24-02-2021} Program Batalha_Naval ; {Jogo da batalha naval single player contra o computador} {Campo de 10 por 10} type Matriz=array[1..10, 1..10] of char; var batalha:matriz; li,c,contaS:integer; opc:char; {----------------------------------------------------------------- objectivo: preencher o tabuleiro com submarios em posicoes aleatorias. parâmetros: matriz -------------------------------------------------------------------} Procedure PreencheBatalha(var Jogo:matriz); var linha,coluna,sub:integer; begin {gerador de números aleatórios} randomize(); {Põe todos os elemntos a Agua} For linha:= 1 to 10 do For coluna:= 1 to 10 do {A=agua} jogo[linha,coluna]:='A' ; {Poe dois submarinos} for sub:=1 to 2 do {Poe os submarinos em posicoes aleatorias} jogo[random(9)+1,random(9)+1]:='S';{S=submarino} end; {----------------------------------------------------------------- objectivo: mostrar no ecrã o tabuleiro parâmetros: matriz -------------------------------------------------------------------} Procedure mostranoecra(jogo: matriz); var linha,coluna:integer; begin {Ciclo para percorrer todos os elementos da matriz} for linha:=1 to 10 do begin for coluna:=1 to 10 do begin Write(jogo[linha,coluna]); write(' '); end; writeln; end; end; {----------------------------------------------------------------- objectivo: pedir as coordenadas para afundar os submarinos parâmetros: matriz -------------------------------------------------------------------} procedure JogarBatalha(Jogo:matriz); var linha,coluna:integer; begin writeln('insira a linha e coluna.'); write('Linha:'); readln(linha); writeln; write('coluna:'); readln(coluna); writeln(linha, coluna); if batalha[linha,coluna]='S' then begin writeln('afundou'); contaS:=contaS-1; end else writeln('agua'); end; {----------------------------------corpo-principal----------------------------} begin {Contador para parar quando se afundou todos os submarinos} contaS:=2; PreencheBatalha(batalha); {Mostra No ecrã o tabuleiro mostranoecra(batalha);} //repete enquanto houver submarinos repeat JogarBatalha(batalha) until(contaS=0); writeln('Parabens! Afundou todos os Submarinos!'); End.
  18. Program ping_pong ; const cantoCima = 2 ; cantoBaixo = 10 ; cantoEsquerda = 2 ; cantoDireita = 38 ; var bolaX, bolaY: integer; // posicao x, y da bola raquete1X, raquete1Y: integer; // posicao x, y da raquete 1 raquete2X, raquete2Y: integer; // posicao x, y da raquete 2 moveBolaDireita, moveBolaBaixo: boolean ; // controla direcao da bola pontos: integer; acabouJogo: boolean ; menu1:real; nome1, nome2:string; Procedure menuin; //Interface do Menu Begin clrscr; Writeln; Writeln; writeln(' ----------- '); Writeln(' 1-Jogar '); writeln(' ----------- '); writeln; Writeln; writeln(' ---------------- '); Writeln(' 2-como jogar '); writeln(' ---------------- '); Writeln; Writeln; writeln; writeln(' ---------- '); Writeln(' 3-Sair '); writeln(' ---------- '); Writeln; menu1:=4 End; //Ecrã Inicial Begin textcolor (Red); Writeln (' - - - --- -´~~~~ '); Writeln (' ,´ `, '); Writeln (' ( , '); Writeln (' ( ) '); Writeln (' { --- ) '); Writeln (' { / / ) _ _ _ _ _ _ _ _ _ _ _ _ '); Writeln (' | --- | | | '); Writeln (' | | | Ping Pong | '); Writeln (' | | |_ _ _ _ _ _ _ _ _ _ _ _| '); Writeln (' \ / '); Writeln (' \ / '); Writeln (' - - -´~~~~ - - -´~~~~ '); Writeln (' | | '); Writeln (' | | '); Writeln (' | | '); Writeln (' | | '); Writeln (' | | '); Writeln (' | | '); Writeln (' | | '); Writeln (' | | '); Writeln (' |_____| '); Textcolor (Black); Textbackground (White); Writeln(' ---------------------------------------------- '); Writeln(' | Insira o nome dos 2 jogadores para jogar | '); Writeln(' ---------------------------------------------- '); Textcolor (red ); Textbackground (Black); Readln(nome1); Readln(nome2); menuin; Repeat Readln(menu1); If menu1=1 then // Começa o jogo begin //---------------------------------------------------------------- // Desenha o campo do pong //---------------------------------------------------------------- procedure DesenhaCampo; begin textcolor(white); gotoxy(1,1); writeln(#201,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#203,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#187); writeln(#186,' ',#176,' ',#186); writeln(#186,' ',#176,' ',#186); writeln(#186,' ',#176,' ',#186); writeln(#186,' ',#176,' ',#186); writeln(#186,' ',#176,' ',#186); writeln(#186,' ',#176,' ',#186); writeln(#186,' ',#176,' ',#186); writeln(#186,' ',#176,' ',#186); writeln(#186,' ',#176,' ',#186); writeln(#200,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#202,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#188); writeln(''); writeln('------------------------'); writeln('Pascalzim PONG'); writeln('------------------------'); writeln('- Mateus Riva'); writeln('- Caio Augusto Faria'); writeln('- Denis Miura'); writeln('- Tobias Furtado'); writeln(''); writeln('Controles Jogador 1 => seta para cima, seta para baixo.'); writeln('Controles Jogador 2 => 8 para cima, 2 para baixo'); writeln(''); if(pontos <> 0) then writeln('Pontos: ', pontos); end; //---------------------------------------------------------------- // Move a bola pelo campo //---------------------------------------------------------------- procedure moveBola ; Begin // Move a bola na horizontal if (moveBolaDireita) then bolaX:= bolaX + 1 else bolaX:= bolaX - 1; // Move a bola na vertical if (moveBolaBaixo) then bolaY:= bolaY + 1 else bolaY:= bolaY - 1; // Se a bola bateu em cima ou embaixo do campo inverte sua direcao if (bolaY = cantoBaixo) or (bolaY = cantoCima) then moveBolaBaixo := not moveBolaBaixo ; // Desenha a bola na sua nova posicao gotoxy(bolaX,bolaY); write(#219); End ; //---------------------------------------------------------------- // Move as raquetes //---------------------------------------------------------------- procedure moveRaquetes ; var moveuRaquete : boolean ; Begin // Verifica se alguma raquete se moveu while keypressed do begin case readkey of // Seta para cima: move a raquete 1 para cima #72: if (raquete1Y > cantoCima+1) then raquete1Y:= raquete1Y - 1; // Seta para baixo: move a raquete 1 para baixo #80: if (raquete1Y < cantoBaixo) then raquete1Y:= raquete1Y + 1; // Numero 8: move a raquete 2 para cima '8': if (raquete2Y > cantoCima+1) then raquete2Y:= raquete2Y - 1; // Numero 2: move a raquete 2 para baixo '2': if (raquete2Y < cantoBaixo) then raquete2Y:= raquete2Y + 1; end; end ; // Desenha a raquete 1 textcolor (lightred); gotoxy(raquete1X,raquete1Y); write(#219); gotoxy(raquete1X,raquete1Y -1); write(#219); // Desenha a raquete 2 textcolor(lightblue); gotoxy(raquete2X,raquete2Y); write(#219); gotoxy(raquete2X,raquete2Y -1); write(#219) ; End; //---------------------------------------------------------------- // Verifica se a bola bateu em alguma raquete //---------------------------------------------------------------- procedure VerificaChoqueRaquete ; Begin // Se a bola bateu na raquete 1 joga ela para direita if (bolaX = raquete1X+1) then if (bolaY = raquete1Y) or (bolaY = raquete1Y-1) then begin moveBolaDireita := true ; pontos:= pontos + 1; end; // Se a bola bateu na raquete 2 joga ela para esquerda if (bolaX = raquete2X-1) then if (bolaY = raquete2Y) or (bolaY = raquete2Y-1) then begin moveBolaDireita := false ; pontos := pontos + 1; end; End; //---------------------------------------------------------------- // Inicia o jogo //---------------------------------------------------------------- procedure iniciaJogo ; Begin randomize; // Determina posicao inicial da bola bolaX:= 20; bolaY:= random(cantoBaixo-2) + 2; // Determina para que lado a começa a se mover moveBolaBaixo := true ; if(random(2) = 1) then moveBolaDireita := true else moveBolaDireita := false ; // Determina posicao inicial da raquete 1 raquete1X:= cantoEsquerda; raquete1Y:= (cantoCima+cantoBaixo) div 2 ; // Determina posicao inicial da raquete 2 raquete2X:= cantoDireita; raquete2Y:= (cantoCima+cantoBaixo) div 2 ; pontos := 0; // inicializacao do jogo acabouJogo := false ; clrscr; End; //---------------------------------------------------------------- // Fim do jogo: a bola passou por uma das raquetes //---------------------------------------------------------------- procedure VerificaFimJogo ; var resp : char ; Begin // Se a bola nao bateu no canto do tabuleiro sai do procedure if(bolaX <> cantoEsquerda-1) and (bolaX <> cantoDireita+1) then exit ; // Mostra qual jogador venceu o jogo textcolor(white); gotoxy(41,3); if (bolaX < cantoEsquerda) then writeln('Vencedor: Jogador 2') else writeln('Vencedor: Jogador 1'); // Pergunta se quer continuar jogando gotoxy(41,5); write('Digite <ENTER> para parar...'); gotoxy(41,7); write('Pressione outra tecla para jogar...'); resp := upcase(readkey); // Se a resposta é não, termina o programa if (resp= #13) then Begin acabouJogo := true ; exit ; End ; // Se a resposta é sim, reinicia o jogo iniciaJogo ; End ; //---------------------------------------------------------------- // Inicio do programa //---------------------------------------------------------------- Begin // Desenha o campo de jogo, de fundo verde textbackground(green); clrscr; DesenhaCampo; writeln('=> Pressione uma tecla para iniciar o jogo'); readkey ; // Roda o jogo iniciaJogo ; while not acabouJogo do begin delay(150); DesenhaCampo; moveBola ; moveRaquetes ; VerificaChoqueRaquete ; VerificaFimJogo ; end; End. End //Tela ao sair do Jogo Else if menu1=3 then Begin clrscr; Writeln; Textcolor (red); Writeln(' ---------------------------------------------- '); Writeln(' Obrigado por jogar! '); Writeln(' ---------------------------------------------- '); Writeln; Writeln; Writeln; Writeln; Textcolor (red); Writeln (' - - - --- -´~~~~ '); Writeln (' , ´ `, '); Writeln (' ( , '); Writeln (' ( ) '); Writeln (' { --- ) '); Writeln (' { / / ) '); Writeln (' | --- | '); Writeln (' | | '); Writeln (' \ / '); Writeln (' \ / '); Writeln (' - - -´~~~~ - - -´~~~~ '); Writeln (' | | '); Writeln (' | | '); Writeln (' | | '); Writeln (' | | '); Writeln (' | | '); Writeln (' | | '); Writeln (' | | '); Writeln (' | | '); Writeln (' |_____| '); Writeln; Writeln; Writeln; Writeln; Writeln; End //Instruções Else if menu1=2 then Begin clrscr; Textcolor (11); Writeln; Writeln(' Se é o jogador 1, mova a raquete com as setas do lado esquerdo e direito (<--- --->) '); Writeln(' Se é o jogador 2, mova a raquete com o "A" e o "D" '); Writeln(' O jogo vai até aos 10 pontos '); Writeln; Writeln(' Quem fizer mais pontos ganha! '); Writeln; Writeln; writeln; writeln(' ----------------------------- '); writeln(' | Boa Sorte e boas raquetadas!| '); writeln(' ----------------------------- '); Textcolor (red); Writeln('Pressione esc para voltar ao Menu'); Readkey; menuin; End Else Writeln('Opção inválida'); Until ((menu1=1) or (menu1=2) or (menu1=3)); //Fim do Programa End. Alguem que me ajude, pff!
  19. Boa Tarde Integração do Delphi com o Primavera V10. Alguém consegue comunicar com a API do Primavera usando Delphi ? Obrigado Carlos Martins
  20. program SomaGrande; {$R+} const NumMaxAlg=100; type indices=0..NumMaxAlg; digitos=0..9; numGrande=array[indices] of digitos; var n, i : Integer; num1, num2, somaNum :numGrande; vaiUm:0..1; somaAlg:0..19; begin readLn(n); for i:=1 to n do read(num1); readLn; for i:=1 to n do read(num2); readLn; vaiUm:=0; for i:=n downto 1 do begin somaAlg:=num1 +num2 +vaiUm; somaNum :=somaAlg mod 10; vaiUm:=somaAlg div 10 end; somaNum[0]:=vaiNum; for i:=0 to n do write(somaNum ); writeLn end.
  21. JoaoF

    Webservice AT SOAP

    Bom dia, Alguém está a conseguir implementar os Webservices SOAP da AT para a Declaração Periodica de IVA, IRC ou IES? Actualmente em .NET dá-me o seguinte erro: An error occurred while making the HTTP request to https://servicos.portaldasfinancas.gov.pt/dm22ircws/SubmeterDeclaracaoIRCService/. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server. Tenho andado nos foruns e confesso que o tópico Webservice AT está extenso e confuso. Obirgado pela ajuda.
  22. Preciso de uma pequena ajuda. Tenho um arquivo que eu devo ordenar, tem diversos campos, dentre eles categoria e nome. Essas categorias vão de 1 a 10 e eu teria que ordenar por categoria e ordem alfabetica, preciso quebrar essa listagem toda vez que der 15 registros, essas duas coisas eu já tenho, só que junto a isso preciso parar a listagem toda vez que a categoria também for diferente, ou seja, quando for 2, mostrar na próxima página, 3 na próxima, assim sucessivamente. Segue o trecho do código: if (totalreg mod 15 = 0) then header; Obs: header "para" a ordenação dos registros. O que eu preciso é maisomenos isso: if (totalreg mod 15 = 0) or (categ_anterior<> categ_atual) then header; Não estou conseguindo fazer a logica certa para a variavel categ_anterior, esse é o problema...
  23. Olá amigos, preciso instalar o OnGuard no Lazarus 2.0.6 e não estou conseguindo, se puderem me explicar o passo-a-passo vos agradeço muito. #EternamentePascal
  24. Pretendo fazer uma calculadora no pascal que possa: 1- Executar operações até que o utilizador interrompa o programa 2- Sejam realizadas operações diversas entre vários valores, não apenas 2 3- Uma opção especial para o cálculo da média aritmética simples de um número variado de valores. Previamente já consegui realizar uma calculadora que apenas fizesse as 4 operações com 2 valores, como se vê em baixo. Gostava que me pudessem ajudar com este problema Este é o programa : program calculadora; uses crt; var n1, n2: integer; conta: real; operacao: char; begin textbackground(blue); textcolor(yellow); (*Primeiro digita-se o valor*) clrscr; writeln ('Digite o primeiro número: '); readln (n1); textbackground(white); textcolor(red); (*Escolhe-se a operação*) writeln('Escolha uma das seguintes operações [+, -, *, /]: '); readln(operacao); textbackground(red); textcolor(blue); (*Insire-se o segundo valor*) writeln ('Digite o segundo número: '); readln (n2); case operacao of '+': conta:= n1+n2; '-': conta:= n1-n2; '*': conta:= n1*n2; '/': conta:= n1/n2; end; textbackground(cyan); textcolor(white); writeln('O valor é ‚: ',conta); Readln; writeln('Obrigado por utilizar a minha calculadora,prima CTRL+C ou Enter para sair'); readkey; end. Nota: Tudo o que tenha haver com cor não interessa
  25. Escrever um algoritmo que leia o nome e o sexo de 5 pessoas e informe o nome e se ela é homem ou mulher. No final informe total de homens, de mulheres, e de casos não identificados (quando o utilizador não respondeu nem M nem F) e eu não sei o que estou a fazer de errado var i, homens, mulheres, nao_identificado: integer; nome, sexo, nao_identificados: char; Begin for i := 1 to 5 do begin writeln ('Escreva o seu nome'); readln (nome); writeln ('Caso seja Mulher, digite a letra M'); writeln ('Caso seja Homem, digite a letra H'); readln (sexo); case sexo of M : writeln(' ', nome,' é mulher' ); mulheres := mulheres + 1; H : writeln(' ', nome,' é homem' ); homens := homens + 1 else writeln(' ', nome,' não está identificado/a'); nao_identificados := nao_identificados + 1; end; writeln ('Foram inseridos ' , mulheres, ' mulheres'); writeln ('Foram inseridos ' , homens, ' homens'); writeln ('Foram inseridos ' , nao_identificados, ' pessoas não identificadas'); readkey; End.
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.