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...

  1. 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?
  2. Vitor Arruda

    Comando de Porcentagem

    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.
  3. 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 😅
  4. 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.
  5. Vlademiro Landim

    Contribuição de iniciante para iniciante

    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.
  6. Chenriques

    Ideias de programas

    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á!
  7. xaviermbp

    Arrays bidimensionais

    Estou com dúvidas de como resolver estes exercícios alguem me poderia ajudar? https://prnt.sc/106jxwd
  8. Duarte

    Batalha naval em Pascalzim

    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.
  9. 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!
  10. Boa Tarde Integração do Delphi com o Primavera V10. Alguém consegue comunicar com a API do Primavera usando Delphi ? Obrigado Carlos Martins
  11. 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.
  12. 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.
  13. nazshue

    Quebra de listagem registros

    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...
  14. Wenderson Lisboa

    Instalando pacote OnGuard

    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
  15. Mário01

    Calculadora em Pascal

    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
  16. Adelaide

    Erro de sintaxe

    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.
  17. Podem ajudar-me a escrever um algoritmo em visualg que converta um número real em horas, minutos e segundos.
  18. Rafael aloned da Silva

    Progama sem fim

    Ola pessoal, Eu sou novo em programação. Vocês poderiam me ajudar com um probleminha? Eu quero fazer uma programação mas não consigo fazela pois ela devia ficar aberta para sempre mas ela fica fexando e não consigo terminala. Agradesso por qual quer idea.
  19. Larfis

    Eventos no Pascalzim

    Boa tarde, venho hoje pedir ajuda a resolver um problema que tenho no meu programa. O programa é um jogo simples de Pong, no qual eu tenho uma função para User Input (mexer as barras para cima e para baixo). Ela está assim de momento: Procedure TeclaPressionada; begin if keypressed then begin case upcase(readkey) of #0:Begin case upcase(readkey) of #80: desenhoBar('B', 1); #72: desenhoBar('B', 0); end; end; #56: desenhoBar ('B', 0); #50: desenhoBar ('B', 1); 'W': desenhoBar ('A', 0); 'S': desenhoBar ('A', 1); 'P': while (upcase(readkey) <> 'P') do ; 'R': reseter(); 'F': Ajogar:= false; end; end; end; O problema é que ao usar uma função deste tipo, com readkeys, é que apenas uma tecla pode ser pressionada ao mesmo tempo. A minha professora não me deixa fazer o trabalho noutra lingua, e, visto que o público-alvo do dia da apresentação é a turma de sexto ano da professora, é provável que eles joguem sujo e nao deixem o oponente jogar (premindo as suas próprias teclas, o que impede o adversário de jogar). Gostaria de saber se há alguma maneira de usar eventos no pascalzim, de modo a evitar este problema. (E, já agora, se há alguma maneira de rodar executáveis atráves do pascalzim). Obrigado!
  20. Miguel Tomas

    Ideias para projeto

    Boa noite, comecei a pouco tempo na escola um curso de programaçao. Pediram me para fazer um projeto em pascal mas o problema é que nao sei o que fazer. Tenho de usar ao máximo tudo o que ja dei(while,case of, for to do, repeat, if,). Será que alguem me podia ajudar? Nao quero codigos feitos nem nada disso, apenas queria alguma ideia do que fazer.
  21. Alfonso CV

    Abrir Gaveta de dinheiro

    Olá galera. Estou a apresentar problemas ao tentar abrir a minha gaveta de dinheiro pela aplicação "Lazarus", eu utilizo uma impressora fiscal de talão USB e já tentei abrir de varias formas diferentes e não consigo, alias, para Lazarus em google com porta USB não encontro nada. Já fiz testes colocando diretamente na impressora no comando antes de imprimir e trabalha lindamente abrindo a gaveta mas preciso administrar isso pela aplicação e não mandar aos clientes a ter que mexer na impressora. Alguma dica por favor??? Cumprimentos....
  22. Faustino

    Erro na leitura de ficheiros

    Fiz este programa em pascal: Program Pzim ; type pessoa=record nome:string; idade:integer; end; var f:file of pessoa; p:pessoa; x:integer; Begin assign(f,'pessoa.dat'); {$I-} reset(f); if ioresult<>0 then rewrite(f); {$I+} repeat write('Insira o nome: '); readln(p.nome); if upcase(p.nome)<>'FIM' then begin write('Idade: '); readln(p.idade); write(f,p); end; writeln; until upcase(p.nome)='FIM'; close(f); reset(f); clrscr; gotoxy(1,1); write('Nome'); gotoxy(35,1); write('Idade'); x:=3; while not eof(f) do begin read(f,p); gotoxy(1,x); write(p.nome); gotoxy(35,x); write(p.idade); x:=x+1; end; close(f); End. Entretanto quando é para listar os dados da lista, alem de o primeiro de sobrepor ao anterior, ele apenas mostra 5 dos dados presentes no ficheiro. Conseguem ajudar? Feito no Pascalzim 6.0.3
  23. 10gpsi

    Records

    Dá para colocar vários records em pascal? se sim, como o faço?
  24. Olá galera. Me esta a acontecer o seguinte. Tenho uma app já desenvolvida e em "produção" desde a versão 1.6 de Lazarus, até lá todo bém. Resulta que a semana anterior fiz upgrade da versão 1.8 para a 2.00 de Lazarus e todo perfeito, mas a principio de semana quando os clientes começarem a explorar o sistema inicio-se a catástrofe. Quando vou a gravar una transacção que inclui mais duna sentencia SQL o sistema compilado com a versão 2.00 me da um erro e antes não, isso sem cambiar uma linha de código. Sublinho que isto não sucedia antes. Fazendo um "debugger" (depurando o sistema) tomo las sentencias SQL para PostgreSQL que dá erro desde o sistema e a modo de exemplo: UPDATE app.a_arbol SET cod='00096',descrip='MTCV' WHERE id=5200; UPDATE app.a_pt SET longitud=-23.491440000000,latitud=14.919906000000,control_ip=0,circuito_comando=True,comentario='', potencianominal=20.0,tipofornecimento=1,estado=True WHERE idarbol=5200; as coloco no analisador de consultas do pgadmin de Postgres e correm perfeitamente mas se executo esta mesma sentencia desde o programa me da o error anterior. E, o erro no sucede solo com estas sentencias, sino sempre que envio para PostgreSQL mas de una como por exemplo quando desejo eliminar registos de tabelas pais e filha, ou também quando desejo INSERTAR mais dum registo numa tabela e assim..... Busque em outros forum mas a única coisa que vi é a sugestão para fazer transacções sentencia a sentencia mas se necessito por exemplo carregar uma tabela com 1000 registo resulta menos custoso em termos de tempo preparar uma query com todas as linhas e depois enviar que não ficar a enviar linha a linha. Assim fazia em versões anteriores a 2.00 de Lazarus sem dificuldades. Alguem sabe si para la versión esta de Lazarus 2.00 y Zeos 7.2.4 existe algum parâmetro o propriedade nova que permita fazer/definir transacciones simples o complexas com múltiplas sentencia?. Cumprimentos. Alfonso Arias Lemas
  25. DiamondStyle

    Remover espaços em braco de uma String ?

    Olá pessoal, Eu gostaria de saber se alguém sabe como eu faço para retirar os espaços no meio da string. Ex: Nome: \"Alberto Silva\", e o programa deve retornar \"AlbertoSilva\".
×
×
  • 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.