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, Finanças e Admin. Pública
    • Dúvidas e Discussão de Programação
    • Tutoriais
    • Snippets / Armazém de Código
  • Outras Áreas
    • Notícias de Tecnologia
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
  • 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. Sempre que seleciono a sobremesa número 1, em vez de aparecer apenas a frase "Iremos trazer agora o seu arroz doce então.", ela entra em conflito com a número 4 aparecendo tanto a frase da 1 como a da 4, porém todas as outras funcionam perfeitamente, incluindo que se eu escolher a 4 nenhum erro ocorre. Encontrei a solução de trabalhar com variáveis Char em vez de Real, mas queria entender o que causa este conflito Uses Crt; Const Sopa_Legumes = 2; Camarao = 8; Enchidos = 7; Pao_Alho = 3; Creme_Marisco = 4; Salada = 3; Pasteis_Bacalhau = 3.50; IceTea = 1.50; Coca_Cola = 1.50; Cerveja = 2; Agua = 1; Cha = 1.50; Vinho_Rose = 7; Whisky_Velho = 13; Nenhuma_Bebida = 0; Bitoque = 10; Carne_Alentejana = 15; Francesinha = 13; Peito_Frango = 10; Filete_Robalo = 13; Ameijoa = 11; Bacalhau_Espiritual = 12; Bacalhau_Natas = 12; Arroz_Doce = 3; Leite_Creme = 2.50; Bolo_Bolacha = 4; Doce_Casa = 3; Cafe = 1.20; Gelado = 1.30; Nenhuma_Sobremesa = 0; Pedidos = 0; Var Cliente_1, Cliente_2, Cliente_3, Cliente_4, Cliente_5: String; Num_Pedidos: Integer; Registro_Conta_1, Registro_Conta_2, Registro_Conta_3, Registro_Conta_4, Registro_Conta_5: Real; Quer_Entrada_1, Quer_Entrada_2, Quer_Entrada_3, Quer_Entrada_4, Quer_Entrada_5, Quer_Sobremesa_1, Quer_Sobremesa_2, Quer_Sobremesa_3, Quer_Sobremesa_4, Quer_Sobremesa_5: Integer; Pedidos_Entrada, Pedidos_Sobremesa: Integer; Entrada_1, Entrada_2, Entrada_3, Entrada_4, Entrada_5: Real; Prato_Principal_1, Prato_Principal_2, Prato_Principal_3, Prato_Principal_4, Prato_Principal_5: Real; Sobremesa_1, Sobremesa_2, Sobremesa_3,Sobremesa_4, Sobremesa_5: Real; Bebida_1, Bebida_2, Bebida_3, Bebida_4, Bebida_5: Real; Avaliacao_1, Avaliacao_2, Avaliacao_3, Avaliacao_4, Avaliacao_5: Real; Begin WriteLn('Espero que tudo tenha estado do seu agrado :)'); WriteLn; WriteLn('Iremos agora mostrar as sobremesas.'); WriteLn; WriteLn('======================'); WriteLn('MENU DO RESTAURANTE'); WriteLn('======================'); WriteLn; WriteLn('SOBREMESAS'); WriteLn; WriteLn('(1) Arroz Doce- 3$'); WriteLn; WriteLn('(2) Leite Creme- 2,50$'); WriteLn; WriteLn('(3) Bolo de Bolacha- 4$'); WriteLn; WriteLn('(4) Doce da Casa(Serradura)- 3$'); WriteLn; WriteLn('(5) Café- 1,20$'); WriteLn; WriteLn('(6) Gelado- 1.30$'); WriteLn; WriteLn; Write('Deseja uma sobremesa? (1=Y/2=N) '); Read(Quer_Sobremesa_1); WriteLn; WriteLn; If(Quer_Sobremesa_1 = 1) Then Begin Write('Que sobremesa deseja? '); Read(Sobremesa_1); If(Sobremesa_1 = 1) Then Begin Sobremesa_1 := Sobremesa_1 + Arroz_Doce; WriteLn; WriteLn('Iremos trazer agora o seu arroz doce então.'); End; If(Sobremesa_1 = 2) Then Begin Sobremesa_1 := Sobremesa_1 + Leite_Creme; WriteLn; WriteLn('Iremos trazer agora o seu leite creme então.'); End; If(Sobremesa_1 = 3) Then Begin Sobremesa_1 := Sobremesa_1 + Bolo_Bolacha; WriteLn; WriteLn('Iremos trazer agora o seu bolo de bolacha então.'); End; If(Sobremesa_1 = 4) Then Begin Sobremesa_1 := Sobremesa_1 + Doce_Casa; WriteLn; WriteLn('Iremos trazer agora o doce da casa então.'); End; If(Sobremesa_1 = 5) Then Begin Sobremesa_1 := Sobremesa_1 + Cafe; WriteLn; WriteLn('Iremos trazer agora o seu café então.'); End; If(Sobremesa_1 = 6) Then Begin Sobremesa_1 := Sobremesa_1 + Gelado; WriteLn; WriteLn('Iremos trazer agora o seu gelado então.'); End; End; End.
  2. Estou a tentar usar o read(); na minha variável de tipo Char, porém o programa ignora esse comando, mas quando uso na variável de tipo Int o programa age normalmente. Program Restaurante; Uses Crt; Var Num_Pedidos: Integer; Registro_Conta: Real; Entrada, Nova_Entrada, Pedidos_Entrada: Char; Begin WriteLn('============================'); WriteLn('Restaurante (Max 5 pessoas)'); WriteLn('============================'); WriteLn; WriteLn; WriteLn('Boa tarde, seja bem vindo'); WriteLn; Write('Quantas pessoas iram comer? '); Read(Num_Pedidos); WriteLn; If(Num_Pedidos > 5) Then Write('Pedimos desculpa, mas o máximo neste momento é 5.') Else Begin ClrScr; WriteLn('Muito bem, iremos entregar o Menu.'); WriteLn; Delay(1000); WriteLn('Pedido 1'); WriteLn; WriteLn('======================'); WriteLn('MENU DO RESTAURANTE'); WriteLn('======================'); WriteLn; WriteLn('ENTRADAS'); WriteLn; WriteLn('(A) Sopa de Legumes- 2$'); WriteLn; WriteLn('(B) Camarão- 8$'); WriteLn; WriteLn('(C) Enchidos- 7$'); WriteLn; WriteLn('(D) Pão c/Alho- 3$'); WriteLn; WriteLn('(E) Creme de Marisco- 4$'); WriteLn; WriteLn('(F) Salada- 3$'); WriteLn; WriteLn('(G) Pastéis de Bacalhau- 3.50$'); WriteLn; WriteLn; Write('Vai desejar alguma entrada? (Y/y,N/n) '); Read(Entrada); End; End.
  3. Vou tentar ser mais objetivo. Em um DBLookupComboBox escolho um determinado "serviço" (nome_servico) e ao sair do DBLookup quero preencher um DBEdit com o preço do serviço escolhido anteriormente... O DBLookup é preenchido via uma query.
  4. Olá pessoal, hoje vim aqui ao melhor site pedir ajuda para que alguém me mandasse um exemplo de um programa que agisse como calculadora. Nesse programa eu gostava que desse para fazer a adição, subtração, divisão e a multiplicação, que desse para corrigir erros como o zero no denominador quando é divisão, e gostaria que fosse usado comandos como Else/ While etc (Caso seja possível claro). Também gostaria de ver neste exemplo, como vocês fariam para tornar a calculadora mais bonita, mudando o fundo as bordas etc. Espero que alguém me possa ajudar, agradeço pelo vosso tempo. Obrigado a todos!
  5. Prezados, Alguém poderia me ajudar solucionar um problema creio de charset/collate? Estou usando Lazarus 226/MariaDB 11.2 via ZEOS 7.2.14-release No TZConnection: conexao.Properties.Add('codepage=UTF8') conexao.Properties.Add('Dialect=3') No MariaDB: utf8mb4_general_ci No entanto os caracteres aparecem como escrevo, corretos e com acentuação, nos DBEdits mas desconfigurados no banco. Já tentei várias combinações e não estou tendo sucesso. Não sou analista ou programador, estou usando a programação como um recurso terapêutico e muito está me ajudando. No entanto estou travado neste problema. Agradeço desde já, e fico feliz por conhecer a pouco este fórum.
  6. Como crio um programa para fazer a tabuada mas em vez de ser o utilizador a escolher a tabuada é a função random que escolhe a tabuada que o utilizador irá fazer
  7. O código não quer ir para if "fugir" e nem para o if "nao" Estou fazendo um trabalho para a escola e eu não sei quase nada sobre pascalzim Esse código conta uma historia onde o utilizador pode fazer as decisões /////////////////////////////////////////////////////////////////////// program RPG; var acao, nome: string; /////////////////////////////// Começo da Introdução ////////////////////////////////// begin; writeln; textcolor(red); writeln (' ======================================'); writeln (' == Produção feita por Eric Faustino =='); writeln (' ======================================'); writeln; textcolor (white); writeln (' -------------------'); writeln (' -Explicação rapida-'); writeln (' -------------------'); writeln; writeln; writeln (' Para passar os dialogos prescione "Espaço" '); writeln; textcolor (green+red); writeln (' Letras em Amarelo, representa as indicações'); writeln; textcolor (blue); writeln (' Letras em Azul, representa a historia'); writeln; textcolor (blue+red); writeln (' Letras em Roxo, representa decisões'); textcolor (white); writeln; writeln (' Não use letras maiusculas no dialogo de decisão'); readln; clrscr; writeln; textcolor (green+red); writeln ('Olá, Seja bem-vindo'); writeln ('Antes de começar, Qual será o nome do seu ou sua personagem? '); textcolor (white); gotoxy(18,10); writeln ('----------------------------------------------------------------'); gotoxy(19,11); writeln ('-- Aqui você pode usar letra maiuscula sem nenhum problema 🙂 --'); gotoxy(18,12); writeln ('----------------------------------------------------------------'); textcolor (blue+red); gotoxy(1,4); read (nome); clrscr; //////////////////////////// Fim da Introdução ///////////////////////////////// /////////////////////////// Começo da Historia //////////////////////////////// begin textcolor (blue); writeln; writeln ('Pelas 01:00 da madrugada, 4 amigos estavam em uma viagem de carro...'); readln; writeln; writeln ('Junior, Sofia, Johny e o(a) ' ,nome,' estavam se divertindo e cantando uma bela melodia'); writeln; readln; writeln ('"Olha se você não me ama então não me ligue e nem fique me fazendo queixa..." '); readln; clrscr; writeln; writeln ('Enquanto o carro se movia, eles avistaram uma figura estranha...'); readln; writeln; writeln ('O Johny, para não bater nesta figura, ele desviou e os 4 amigos capotaram em uma floresta escura e sombria...'); readln; writeln; writeln ('Depois de confirmarem se todos estavam bem, eles desceram do carro e perceberam a situação em que se encontravam...'); readln; writeln; writeln ('Incapazes de sair da floresta, eles olharam em volta e notaram uma pequena fonte de luz na floresta'); readln; writeln; writeln ('Portanto, continue seu caminho até chegar a este lugar onde a luz viaja'); writeln; readln; writeln ('Boa sorte nessa caminhada, ',nome); writeln; readln; end; /////////////////////////// FIM DA HISTORIA //////////////////////////////// clrscr; textcolor ( green+red ); writeln; writeln ('Agora você esta pronto para iniciar sua caminhada'); writeln; writeln ('Preste muita atenção nas suas decisões'); readln; clrscr; writeln; writeln ('Vamos começar!!!'); readln; clrscr; textcolor (blue); writeln; writeln (nome, ' pergunta se eles querem entrar na flosta para pedir ajuda e todos do grupo concordam'); readln; writeln; writeln ('Quando o grupo decide entrar na floresta o Junior reclama pois ele acha muito perigoso pois esta muito escuro'); writeln; readln; writeln (nome,', responde que não havia problema em dar uma caminhada matinal (respondendo em um tom de humor)'); readln; writeln; writeln ('Sofia confia em seus amigos'); readln; writeln; writeln ('Johny esta indeciso, e mesmo assim segue na descisão do grupo'); readln; clrscr; writeln; writeln ('Caminhando por um tempo, O grupo encontra pedaços de madeiras jogadas no chão'); textcolor (green+red); writeln; writeln ('Talves vocês poderiam usar para se protegerem dos animais selvagens'); readln; writeln; writeln ('Mas essas madeiras atrasariam um pouco, Por conta do peso extra'); readln; writeln; writeln ('Você quer pegar as madeiras'); writeln; textcolor (blue+red); write ('sim '); textcolor (green+red); write ('ou '); textcolor (blue+red); write ('nao'); writeln; read (acao); if acao = 'sim' then begin clrscr; textcolor (green+red); writeln; writeln ('Vocês pegaram as madeiras'); readln; writeln; writeln ('Agora vocês estão um pouco mais forte'); readln; clrscr; textcolor (blue); writeln; write ('Derrepente'); delay (1000); write ('.'); delay (1000); write ('.'); delay (1000); write ('.'); delay (1000); write (' O grupo escuta um rugido bem alto, E todos se assustam'); readln; writeln; writeln ('Eles olham diretamente para a fera e descobrem que era um Tigre faminto'); readln; writeln; writeln ('Por um instante Johny abaixa a guarda e o Tigre aproveita esse curto periodo de tempo para abocanhar o ombro de Johny'); readln; writeln; writeln ('Johny fica aterrorizado e grita de dor, enquanto todos ficam olhando com muito medo de serem os proximos'); readln; clrscr; textcolor (green+red); writeln; writeln ('O que você ira fazer?'); readln; textcolor (blue+red); writeln; writeln ('Você pode tentar salvar a vida de johny mas você estara colocando sua vida em risco'); textcolor (green+red); writeln ('Pense bem, a vida dele é mais valiosa do que a sua?'); readln; writeln; textcolor (blue+red); writeln ('Você pode fugir e salvar o Junior e a Sofia'); textcolor (green+red); writeln ('Como você ira se sentir sabendo que teve uma chance de salvar Johny e mesmo assim o deixou-lhe?'); readln; textcolor (green+red); writeln; writeln; write ('Escolha: '); textcolor (blue+red); write ('salvar'); textcolor (green+red); write (' ou '); textcolor (blue+red); write ('fugir'); textcolor (blue+red); writeln; read (acao); if acao = 'salvar' then begin textcolor (blue); clrscr; writeln; writeln (nome, ' resolve ajudar o Johny, E vai para cima do Tigre dando uma pancada na cabeça dele com uma das madeiras que foram encontradas no caminho'); readln; writeln; writeln ('Depois do seu ataque o Tigre fica meio tonto, Então Junior e Sofia percebem uma oportunidade de desferir outro golpe'); readln; writeln; writeln ('Assim... Acabando com a ameaça, Matando o tigre e conseguindo resgatar o Johny com apenas alguns ferimentos no ombro'); writeln; readln; writeln ('Antes de comemorarem o proprio Johny com toda sua raiva vai ate o corpo para conferir se o Tigre estava vivo, Dando 3 ataques na cabeça do tigre'); readln; clrscr; writeln; delay (1000); write ('.'); delay (1000); write ('.'); delay (1000); write ('.'); delay (1000); writeln; writeln ('Depois de um tempo fazendo um corativo improvisado no Johny, O grupo decidiu continuar sua trajetora'); readln; clrscr; writeln; writeln ('Eles finalmente enchergam uma cabana de onde vem a luz'); writeln; readln; writeln ('Eles olham para dentro da cabana e percebem que a lareira estava com algumas faiscas e um pouco de fumaça'); readln; writeln; writeln ('Claramente, alguem tinha acabado de apagar aquela lareira'); writeln; readln; writeln; writeln ('Eles resolvem bater na porta, Mas aparenemente não tem ninguem la dentro'); readln; writeln ('Junior tem a ideia de invadir a cabana para que nós possamos nos abrigarmos'); readln; writeln; writeln ('Sofia diz que a melhor coisa a se fazer é esperar ate que o dono da cabana apareça para que podesemos conversar'); readln; clrscr; writeln; writeln ('O que você irá fazer?'); readln; writeln; writeln ('Você pode esperar até que o dono dessa cabana chegue, talvez ele demore e o Johny ainda esta sangrando aos poucos'); readln; writeln; writeln ('Você pode invadir a cabana para se abrigar e usar o telefone para se comunicar com as autoridades'); writeln; readln; writeln ('Qual a sua decisão?'); readln; writeln; textcolor (blue+red); write ('esperar'); textcolor (green+red); write ('ou'); textcolor (blue+red); write ('invadir'); writeln; read (acao); if acao = 'esperar' then begin clrscr; writeln; writeln (nome,' acha melhor esperar, então o grupo se senta a beira da porta da cabana'); writeln; readln; writeln ('Depois de 30 minutos o dono da cabana aparece com uma arma na mão e um pato morto na outra mão'); readln; writeln; writeln ('O tal caçador deixou o grupo ficar na sua cabana ate que as autoridades chegem...'); readln; writeln; writeln ('Foi assim que Johny, Sofia, Junior e o(a) ' ,nome, ' sobreviveram a esse acidente'); readln; clrscr; writeln; writeln ('Todos os 4 amigos sobreviveram'); end; if acao = 'invadir' then begin clrscr; writeln; writeln (nome,' toma descisão de invadir'); readln; writeln; writeln ('Mas logo que a porta e quebrada, ' ,nome,' e Sofia são acertados por um tiro de espingarda'); writeln; readln; writeln ('Eles demoram pra entender o que esta acontecendo'); writeln; writeln ('E quando eles olham para trás, o grupo se depara com o dono da cabana com uma arma na mão'); writeln; writeln ('Logo eles entende o que aconteceu, enquanto o ' ,nome, ' e a Sofia, caiem no chão com sangue escorrendo pela boca...'); readln; writeln; writeln ('Esse foi seu fim, Johny e Junior sobreviveram.'); writeln; writeln ('Suas decisões te levaram para a morte x_x'); end; if acao = 'fugir' then begin textcolor (blue); writeln; writeln ('Mesmo podendo usar as madeiras como arma, ' ,nome, ' decide fugir para conseguir salvar 2 amigos'); writeln; readln; writeln ('Com muito medo ' ,nome, ' fala para Junior e Sofia para correrem se eles quisesem ficar vivos'); writeln; writeln ('Com lagrimas nos olhos Johny vê os melhores amigos indo em bora sem olhar para tras, enquanto ele é devorado pela fera'); readln; writeln; writeln ( nome, ', Junior e Sofia sobrevivem, e o Johny infelizmente é morto pelo Tigre faminto'); readln; writeln; writeln ('Depois de um tempo correndo pela floresta com medo de serem os proximos'); readln; clrscr; writeln; writeln ('Eles finalmente enchergam uma cabana de onde vem a luz'); writeln; readln; writeln ('Eles olham para dentro da cabana e percebem que a lareira estava com algumas faiscas e um pouco de fumaça'); readln; writeln; writeln ('Claramente, alguém tinha acabado de apagar aquela lareira'); writeln; readln; writeln; writeln ('Eles resolvem bater na porta, Mas aparenemente não tem ninguem la dentro'); readln; writeln ('Junior tem a ideia de invadir a cabana para que nós possamos nos abrigarmos'); readln; writeln; writeln ('Sofia diz que a melhor coisa a se fazer é esperar ate que o dono da cabana apareça para que posamos conversar'); readln; clrscr; writeln; writeln ('O que você irá fazer?'); readln; writeln; writeln ('Você pode esperar até que o dono dessa cabana chegue, talvez ele demore, e a Sofia esta ficando com resfriado por conta do frio'); readln; writeln; writeln ('Você pode invadir a cabana para se abrigar e usar o telefone para se comunicar com as autoridades'); writeln; readln; writeln ('Qual a sua decisão?'); readln; writeln; textcolor (blue+red); write ('esperar'); textcolor (green+red); write ('ou'); textcolor (blue+red); write ('invadir'); writeln; end; read (acao); if acao = 'esperar' then begin clrscr; writeln; writeln (nome,' acha melhor esperar, então o grupo se senta a beira da porta da cabana'); writeln; readln; writeln ('Depois de 30 minutos o dono da cabana aparece com uma arma na mão e um pato morto na outra mão'); readln; writeln; writeln ('O tal caçador deixou o grupo ficar na sua cabana ate que as autoridades chegem...'); readln; writeln; writeln ('Foi assim que Sofia, Junior e o(a) ' ,nome, ' sobreviveram a esse acidente'); readln; clrscr; writeln; writeln ('Todos os 3 amigos sobreviveram'); end; if acao = 'invadir' then begin clrscr; writeln; writeln (nome,' toma descisão de invadir'); readln; writeln; writeln ('Mas logo que a porta e quebrada, ' ,nome,' e Sofia são acertados por um tiro de espingarda'); writeln; readln; writeln ('Eles demoram pra entender o que esta acontecendo'); writeln; writeln ('E quando eles olham para trás, o grupo se depara com o dono da cabana com uma arma na mão'); writeln; writeln ('Logo eles entende o que aconteceu, enquanto o ' ,nome, ' e a Sofia, caiem no chão com sangue escorrendo pela boca...'); readln; writeln; writeln ('Esse foi seu fim, só o Junior sobreviveu.'); end; if acao = 'salvar' then begin textcolor (blue); clrscr; writeln; writeln (nome, ' resolve ajudar o Johny'); readln; writeln; writeln ('Sem arma nenhuma ' ,nome, ' vai para cima da fera'); readln; writeln; writeln ('E é morto brutalmente com um ataque do Tigre, caindo no chão e jorrando sangue pelo pescoço'); writeln; readln; clrscr; writeln; delay (1000); write ('.'); delay (1000); write ('.'); delay (1000); write ('.'); delay (1000); writeln; writeln ('Johny e ' ,nome, ' morreram, Junior e Sofia sobreviveram.'); readln; clrscr; writeln; writeln ('Esse foi seu fim.'); writeln; readln; textcolor (green+red); writeln ('Suas decisões te levaram para a morte x_x'); readln; end; if acao = 'nao' then begin writeln; writeln ('Vocês não pegaram as madeiras'); readln; writeln; writeln ('O grupo continua fraco, mas eles não ficaram consados por conta do peso'); readln; clrscr; textcolor (blue); writeln; write ('Derrepente'); delay (1000); write ('.'); delay (1000); write ('.'); delay (1000); write ('.'); delay (1000); write (' O grupo escuta um rugido bem alto, E todos se assustam'); readln; writeln; writeln ('Eles olham diretamente para a fera e descobrem que era um Tigre faminto'); readln; writeln; writeln ('Por um instante Johny abaixa a guarda e o Tigre aproveita esse curto periodo de tempo para abocanhar o ombro de Johny'); readln; writeln; writeln ('Johny fica aterrorizado e grita de dor, enquanto todos ficam olhando com muito medo de serem os proximos'); readln; clrscr; textcolor (green+red); writeln; writeln ('O que você ira fazer?'); readln; textcolor (blue+red); writeln; writeln ('Você pode tentar salvar a vida de johny mas você estara colocando sua vida em risco'); textcolor (green+red); writeln ('Pense bem, a vida dele é mais valiosa do que a sua?'); readln; writeln; textcolor (blue+red); writeln ('Você pode fugir e salvar o Junior e a Sofia'); textcolor (green+red); writeln ('Como você ira se sentir sabendo que teve uma chance de salvar Johny e mesmo assim o deixou-lhe?'); readln; textcolor (green+red); writeln; writeln; write ('Escolha: '); textcolor (blue+red); write ('salvar'); textcolor (green+red); write (' ou '); textcolor (blue+red); write ('fugir'); textcolor (blue+red); writeln; read (acao); if acao = 'fugir' then begin textcolor (blue); writeln; writeln ('Mesmo podendo usar as madeiras como arma, ' ,nome, ' decide fugir para conseguir salvar 2 amigos'); writeln; readln; writeln ('Com muito medo ' ,nome, ' fala para Junior e Sofia para correrem se eles quisesem ficar vivos'); writeln; writeln ('Com lagrimas nos olhos Johny vê os melhores amigos indo em bora sem olhar para tras, enquanto ele é devorado pela fera'); readln; writeln; writeln ( nome, ', Junior e Sofia sobrevivem, e o Johny infelizmente é morto pelo Tigre faminto'); readln; writeln; writeln ('Depois de um tempo correndo pela floresta com medo de serem os proximos'); readln; clrscr; writeln; writeln ('Eles finalmente enchergam uma cabana de onde vem a luz'); writeln; readln; writeln ('Eles olham para dentro da cabana e percebem que a lareira estava com algumas faiscas e um pouco de fumaça'); readln; writeln; writeln ('Claramente, alguém tinha acabado de apagar aquela lareira'); writeln; readln; writeln; writeln ('Eles resolvem bater na porta, Mas aparenemente não tem ninguem la dentro'); readln; writeln ('Junior tem a ideia de invadir a cabana para que nós possamos nos abrigarmos'); readln; writeln; writeln ('Sofia diz que a melhor coisa a se fazer é esperar ate que o dono da cabana apareça para que posamos conversar'); readln; clrscr; writeln; writeln ('O que você irá fazer?'); readln; writeln; writeln ('Você pode esperar até que o dono dessa cabana chegue, talvez ele demore, e a Sofia esta ficando com resfriado por conta do frio'); readln; writeln; writeln ('Você pode invadir a cabana para se abrigar e usar o telefone para se comunicar com as autoridades'); writeln; readln; writeln ('Qual a sua decisão?'); readln; writeln; textcolor (blue+red); write ('esperar'); textcolor (green+red); write ('ou'); textcolor (blue+red); write ('invadir'); writeln; end; read (acao); if acao = 'esperar' then begin clrscr; writeln; writeln (nome,' acha melhor esperar, então o grupo se senta a beira da porta da cabana'); writeln; readln; writeln ('Depois de 30 minutos o dono da cabana aparece com uma arma na mão e um pato morto na outra mão'); readln; writeln; writeln ('O tal caçador deixou o grupo ficar na sua cabana ate que as autoridades chegem...'); readln; writeln; writeln ('Foi assim que Sofia, Junior e o(a) ' ,nome, ' sobreviveram a esse acidente'); readln; clrscr; writeln; writeln ('Todos os 3 amigos sobreviveram'); end; if acao = 'invadir' then begin clrscr; writeln; writeln (nome,' toma descisão de invadir'); readln; writeln; writeln ('Mas logo que a porta e quebrada, ' ,nome,' e Sofia são acertados por um tiro de espingarda'); writeln; readln; writeln ('Eles demoram pra entender o que esta acontecendo'); writeln; writeln ('E quando eles olham para trás, o grupo se depara com o dono da cabana com uma arma na mão'); writeln; writeln ('Logo eles entende o que aconteceu, enquanto o ' ,nome, ' e a Sofia, caiem no chão com sangue escorrendo pela boca...'); readln; writeln; writeln ('Esse foi seu fim, só o Junior sobreviveu.'); end; if acao = 'salvar' then begin textcolor (blue); clrscr; writeln; writeln (nome, ' resolve ajudar o Johny'); readln; writeln; writeln ('Sem arma nenhuma ' ,nome, ' vai para cima da fera'); readln; writeln; writeln ('E é morto brutalmente com um ataque do Tigre, caindo no chão e jorrando sangue pelo pescoço'); writeln; readln; clrscr; writeln; delay (1000); write ('.'); delay (1000); write ('.'); delay (1000); write ('.'); delay (1000); writeln; writeln ('Johny e ' ,nome, ' morreram, Junior e Sofia sobreviveram.'); readln; clrscr; writeln; writeln ('Esse foi seu fim.'); writeln; readln; textcolor (green+red); writeln ('Suas decisões te levaram para a morte x_x'); readln; end; end; end; end; end.
  8. var coluna, readkey: integer ; var coluna, readkey: integer ; var Gasoleo, KMINICIAL, KMFINAL, sub: Real; Begin for coluna:= 5 to 50 do Begin clrscr ; gotoxy( 1, 2 ); writeln( 'Bruum... Pressione uma tecla para parar...' ); gotoxy( coluna, 7 ); writeln( ' - ', #177, #177, #177, #177, #177, #177 ); gotoxy( coluna, 8 ); writeln( '- - ', #177, #177, #177, #177, ' ', #177 ); gotoxy( coluna, 9 ); writeln( '- - ', #177, #177, #177, #177, #177, #177, #177, #177 ); gotoxy( coluna, 10 ); writeln( ' o o' ); writeln( '--------------------------------------------------------------'); delay( 400 ); if(keypressed ) then break ; repeat tecla:=readkey; tecla:=upcase (tecla); case tecla of #80 :down; #72 :up; #77:right; #75 :left; End ; End. Estou ainda a começar mas não estou a conseguir resolver este problema, se alguém me poder ajudar. Agradecia, obrigado.
  9. Eu estou a fazer um menú e quando seleciono algo que não está inserido no escopo do programa gostava que informasse o utilizador e inserisse a opção de voltar atrás com uma label. Quando fiz isso sempre que executo o exercício escolhido aparece no final sempre a mensagem do exercício não válido. Se alguém me conseguisse ajudar, agradecia. Em anexo, vai o código em questão: Program MenuFicha4 ; label inicio; label inicioseccao1; label inicioseccao2; label inicioseccao3; label fim; label inicioex2_6; label fimex2_6; var seccao:integer; var labelseccao:char; var seccao1,seccao2,seccao3:string; var respseccao1,respseccao2,respseccao3:char; var a:real; var b:real; var c,d,e:real; var g,h,f,i:real; var j,k,l:real; var m,n,o:real; var p,q:real; var a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11:real; var b1:integer; var b2,b3:integer; var b4:integer; var b5,b6,b7:real; var b8,b9,b10:real; var c1,c2,c3:real; var c4:char; var c5,c6,c7,c8,c9,c10:real; var d1,d2,d3:real; var d4:integer; var d5,d6,d7,d8:real; var d9,d10:integer; var e1,e2:integer; var e3,e4,e5,e6:integer; var e7,e8,e9:integer; var t1, t2, t3, t4, t5, t6, t7, max, min: real; var fernando,fernando1,fernando2,fernando3:char; const pi = 3.1416; Begin textcolor(white); inicio: clrscr; textcolor(lightred); writeln('********************************************'); writeln('* *'); writeln('* Bem-Vindo ao menú da Ficha 4! *'); writeln('* *'); writeln('* Feito por: Tomé Almeida *'); writeln('* *'); writeln('********************************************'); writeln(); writeln(); textcolor(white); writeln('A ficha 4 está dividida em 3 secções:'); writeln(); writeln(); writeln('> Secção 1'); writeln(); writeln('> Secção 2'); writeln(); writeln('> Secção 3'); writeln(); writeln(); writeln('Insira a secção que deseja abrir'); write('> '); readln(seccao); clrscr; case seccao of 1: begin inicioseccao1: clrscr; writeln('Selecionou a secção 1!'); writeln(); writeln(); writeln(' 1.1 -> Área do quadrado '); writeln(' 1.2 -> Perímetro da cirncunferência '); writeln(' 1.3 -> Gasolina gasta '); writeln(' 1.4 -> Latas de tinta '); writeln(' 1.5 -> Hipotenusa do triângulo '); writeln(' 1.6 -> Tempo gasto '); writeln(' 1.7 -> Conversão para polegadas '); writeln(' 1.8 -> Conversão para Fahrenheit '); writeln(' 1.9 -> Forrar com a carpete '); writeln(' 1.10 -> Distância entre dois pontos '); writeln(); writeln(); writeln('Insira o exercício que deseja executar!'); write('> '); readln(seccao1); clrscr; if (seccao1='1.1')then begin writeln('Insira os lados do quadrado'); readln(a); clrscr; writeln('A área do quadrado é ',(a*a):0:2); readkey; end; if (seccao1='1.2')then begin writeln('Insira o raio da circunferência'); readln(b); clrscr; writeln('O perímetro da circunferência é ',(2*pi*b):0:2); readkey; end; if (seccao1='1.3')then begin writeln('Indica a distância percorrida em km e os litros de gasolina gastos'); readln(c,e); d:=c/e; clrscr; writeln('Fez uma média de ',d:0:1 ,' litros por kilómetro!'); readkey; end; if (seccao1='1.4')then begin writeln('Insira a altura e a largura da parede'); readln(f,g); h:=f*g; i:=h/3; clrscr; writeln('São necessárias ',i:0:1,' latas de tinta para cobrir toda a parede'); readkey; end; if (seccao1='1.5')then begin writeln('Indique os valores dos catetos'); readln(j,k); l:=sqrt((j*j)+(k*k)); writeln('A hipotenusa do triângulo é ',l:0:1); readkey; end; if (seccao1='1.6')then begin writeln('Indica a distância percorrida em km e o tempo gasto'); readln(m,n); o:=m/n; clrscr; writeln('Fez uma média de ',o:0:2 ,' minutos por kilómetro!'); readkey; end; if (seccao1='1.7')then begin writeln('Indique a medida em centímetros'); readln(q); p:=q/2.54; clrscr; writeln('A sua medida dá ',p:0:1, ' polegadas!'); readkey; end; if (seccao1='1.8')then begin writeln('Insira a temperatura em graus Celsius'); readln(a6); a7:=(9/5)*a6+32; clrscr; writeln('A temperatura inserida dá ',a7:0:1, ' graus Fahrenheit!'); readkey; end; if (seccao1='1.9')then begin writeln('Insira o comprimento e a largura da carpete'); readln(a8,a9); a10:=a8*a9; a11:=a10*35; clrscr; writeln('Vão ser necessários ',a11:0:1,' euros para forrar todo o piso com a carpete'); readkey; end; if(seccao1='1.10')then begin writeln('Insira o X e o Y do ponto P'); readln(a1,a2); clrscr; writeln('Insira o X e o Y do ponto Q'); readln(a3,a4); a5:=((a3-a1)*(a3-a1))+((a4-a2)*(a4-a2)); writeln('Os pontos estão a ',sqrt (a5):0:1, ' valores de distância'); readkey; end else writeln('Exercício não válido! Pretende escolher outro?'); readln(fernando1); if(fernando1='S') or (fernando1='s')then goto inicioseccao1 else clrscr; write('> Se pretender voltar ao menú principal prima '); begin textcolor(lightred); write('[1]'); textcolor(white); write('.'); end; writeln(); write('> Se pretender voltar a escolher um exercício da secção 1 prima '); begin textcolor(lightred); write('[2]'); textcolor(white); write('.'); end; writeln(); write('> Se pretender encerrar o programa prima '); textcolor(lightred); write('[3]'); textcolor(white); write('.'); writeln(); readln(respseccao1); if(respseccao1='1')then goto inicio; if(respseccao1='2')then goto inicioseccao1 else goto fim end; 2:begin inicioseccao2: clrscr; writeln('Selecionou a secção 2!'); writeln(); writeln(); writeln(' 2.1 -> Par ou Ímpar '); writeln(' 2.2 -> Maior e menor '); writeln(' 2.3 -> Permissão para a carta '); writeln(' 2.4 -> IMC '); writeln(' 2.5 -> Salário total '); writeln(' 2.6 -> Média do aluno '); writeln(' 2.7 -> Equação de raízes completas '); writeln(' 2.8 -> Classificação de triângulos '); writeln(); writeln(); writeln('Insira o exercício que deseja executar!'); write('> '); readln(seccao2); clrscr; if(seccao2='2.1')then begin writeln('Introduza um valor inteiro'); readln(b1); if ( b1 mod 2 = 0) then begin writeln('O valor introduzido ', b1,' é par') end else begin writeln('O valor introduzido ', b1,' é impar'); end; readkey; end; if(seccao2='2.2')then begin writeln('Introduza dois valores inteiros'); readln(b2,b3); if ( b2 > b3 ) then writeln('O maior valor é ', b2, ' e o menor valor é ', b3 ) else writeln('O maior valor é ', b3, ' e o menor valor é ', b2); readkey; end; if(seccao2='2.3')then begin writeln('Introduza uma idade e descubre se já podes ter carta de motorista'); read(b4); if ( b4 >= 18) then writeln('Tu já podes ter a carta!'); if ( b4 < 18) then writeln('Tu ainda não tens permissão para ter a carta.'); readkey; end; if(seccao2='2.4')then begin writeln ('Insira o seu peso(em kg) e altura(metros)'); readln(b5, b6); b7:= b5 / sqr(b6); writeln('Seu imc corresponde a ', b7:0:2); readkey; end; if(seccao2='2.5')then begin writeln('Introduza o total de horas trabalhadas.'); readln(b8); b9 := b8 * 14.50; if ( b9 >= 1200) then begin b10 := b9 - ( b9 * 0.15); writeln('O seu salário corresponde a ', b9:0:2 ,'; e após a redução de 15%, passou a ser ', b10:0:2); end else writeln('O seu salário total corresponde ? ', b9:0:2); readkey; end; if(seccao2='2.6')then begin inicioex2_6: clrscr; textcolor(white); writeln( 'Introduza duas notas.'); readln( c1 , c2 ); c3 := (c1 + c2)/2; if ( c1 < 0 ) or ( c1 > 20) or ( c2 < 0 ) or ( c2 > 20) then begin writeln('A nota introduzida não pode ser lida. Deseja recomeçar? S|N'); readln(c4); if ( c4 = 's') or ( c4 = 'S') then goto inicioex2_6; if ( c4 = 'n') or ( c4 = 'N') then goto fimex2_6; end else if ( c3 >= 7 ) then begin textcolor (lightblue); writeln('O aluno(a) está aprovado! A sua média correspondente é ', c3:0:1); end; if ( c3 < 3 ) then begin textcolor (red); writeln('O aluno(a) está reprovado. A sua média correspondente é ', c3:0:1); end; if ( c3 >= 3 ) and ( c3 <= 6 ) then begin textcolor (yellow); writeln('O aluno(a) está em recuperação. A sua média correspondente é ', c3:0:1); end; fimex2_6: readkey; end; if(seccao2='2.7')then begin writeln('Insira o valor de a,b e c.'); readln(c5, c6, c7); c8 := (sqr( c6 )) - ( 4 * c5 * c7 ); if (c8 > 0) then begin writeln('A equação tem duas raizes reais diferentes.'); c9 := ( -c6 + sqrt(c8))/2 * c5; c10 := ( -c6 - sqrt(c8))/2 * c5; writeln; writeln('A 1ª raiz é ', c9:0:2); writeln('A 2ª raiz é ', c10:0:2); end; if (c8 = 0) then begin writeln('A equação tem uma raíz dupla.'); c9:= ( -c6 + sqrt(c8))/2 * c5; writeln; writeln('A 1ª raiz é ', c9:0:2); end; if ( c8 < 0) then writeln('A equação tem duas raízes complexas.'); readkey; end; if(seccao2='2.8')then begin writeln('Introduz três valores'); readln(d1, d2, d3); if ( d1 > ( d2 + d3 )) or ( d2 > (d1 + d3)) or ( d3 > ( d1 + d2)) then begin writeln('Os valores introduzidos não formam um triângulo'); end else if ( d1 = d2 ) and ( d2 = d3 ) then begin writeln('O triângulo é equilátero'); end else if ( d1 = d2 ) or ( d1 = d3 ) or ( d2 = d3) then begin writeln('O triângulo é isósceles'); end else begin writeln('O triângulo é escaleno'); end; readkey; end else writeln('Exercício não válido! Pretende escolher outro?'); readln(fernando2); if(fernando2='S') or (fernando2='s')then goto inicioseccao2 else clrscr; write('> Se pretender voltar ao menú principal prima '); begin textcolor(lightred); write('[1]'); textcolor(white); write('.'); end; writeln(); write('> Se pretender voltar a escolher um exercício da secção 2 prima '); begin textcolor(lightred); write('[2]'); textcolor(white); write('.'); end; writeln(); write('> Se pretender encerrar o programa prima '); textcolor(lightred); write('[3]'); textcolor(white); write('.'); writeln(); readln(respseccao2); if(respseccao2='1')then goto inicio; if(respseccao2='2')then goto inicioseccao2 else goto fim end; 3:begin inicioseccao3: clrscr; writeln('Selecionou a secção 3!'); writeln(); writeln(); writeln(' 3.1 -> Média '); writeln(' 3.2 -> Soma de números naturais '); writeln(' 3.3 -> Quadrado ( mod <> 0 ) '); writeln(' 3.4 -> Pares e ímpares '); writeln(' 3.5 -> Fatorial '); writeln(' 3.6 -> Temperaturas '); writeln(); writeln(); writeln('Insira o exercício que deseja executar!'); write('> '); readln(seccao3); clrscr; if(seccao3='3.1')then begin d5 := 0; for d4 := 1 to 10 do begin writeln('Introduz um valor.'); readln(d6); d7 := d5 + d6; d8 := d7 /2; end; writeln('A média dos valores é ', d8:0:2); readkey; end; if(seccao3='3.2')then begin writeln('Introduz um valor inteiro.'); readln (d9); for d9 := d9 downto 1 do begin d10:= d10 + d9; end; delay(300); writeln('A soma dos primeiros números naturais corresponde a ', d10:0:0); readkey; end; if(seccao3='3.3')then begin writeln('Insira um número que deseja ver o quadrado'); readln(e1); for e2:=1 to e1 do begin if(e2 mod 2<>0)then writeln(e2); end; readkey; end; if(seccao3='3.4')then begin randomize; while ( e3 < 1000 ) do begin e4 := random(100); delay(10); writeln(e4); if ( e4 mod 2 = 0 ) then begin e5 := e5 + 1; end else begin e6 := e6 + 1; end; e3 := e3 + 1; end; delay(500); writeln; writeln('Foram inseridos ', e5, ' números pares.'); writeln('Foram inseridos ', e6, ' números impares.'); readkey; end; if(seccao3='3.5')then begin writeln('Introduz um valor'); readln(e7); e9:= 1; for e8:= e7 downto 1 do begin e9 := e9 * e8; end; writeln('O resultado do fatorial é ', e9:0:2); readkey; end; if(seccao3='3.6')then begin max := 0; min := 100; writeln('Introduza a temperatura de segunda-feira.'); readln( t1 ); clrscr; writeln('Introduza a temperatura de terça-feira.'); readln( t2 ); clrscr; writeln('Introduza a temperatura de quarta-feira.'); readln( t3 ); clrscr; writeln('Introduza a temperatura de quinta-feira.'); readln( t4 ); clrscr; writeln('Introduza a temperatura de sexta-feira.'); readln( t5 ); clrscr; writeln('Introduza a temperatura de sábado.'); readln( t6 ); clrscr; writeln('Introduza a temperatura de domingo.'); readln( t7 ); clrscr; if (t1>t2) and (t1>t3) and ( t1 > t4 ) and ( t1 > t5 ) and ( t1 > t6 ) and ( t1 > t7 ) then max:= t1 else min:= t1; if (t2>t1) and (t2>t3) and ( t2 > t4 ) and ( t2 > t5 ) and ( t2 > t6 ) and ( t2 > t7 ) then max:= t2 else min:= t2; if (t3>t1) and (t3>t2) and ( t3 > t4 ) and ( t3 > t5 ) and ( t3 > t6 ) and ( t3 > t7 ) then max:= t3 else min:= t3; if (t4>t1) and (t4>t2) and ( t4 > t3 ) and ( t4 > t5 ) and ( t4 > t6 ) and ( t4 > t7 ) then max:= t4 else min:= t4; if (t5>t1) and (t5>t2) and ( t5 > t3 ) and ( t5 > t4 ) and ( t5 > t6 ) and ( t5 > t7 ) then max:= t5 else min:= t5; if (t6>t1) and (t6>t2) and ( t6 > t3 ) and ( t6 > t4 ) and ( t6 > t5 ) and ( t3 > t7 ) then max:= t6 else min:= t6; if (t7>t1) and (t7>t2) and ( t7 > t3 ) and ( t7 > t4 ) and ( t7 > t5 ) and ( t7 > t6 ) then max:= t7 else min:= t7; writeln; writeln('A temperatura mais quente é ', max:0:1, 'ºC e a mais fria é ', min:0:1, 'ºC'); readkey; end else writeln('Exercício não válido! Pretende escolher outro?'); readln(fernando3); if(fernando3='S') or (fernando3='s')then goto inicioseccao3 else clrscr; write('> Se pretender voltar ao menú principal prima '); begin textcolor(lightred); write('[1]'); textcolor(white); write('.'); end; writeln(); write('> Se pretender voltar a escolher um exercício da secção 1 prima '); begin textcolor(lightred); write('[2]'); textcolor(white); write('.'); end; writeln(); write('> Se pretender encerrar o programa prima '); textcolor(lightred); write('[3]'); textcolor(white); write('.'); writeln(); readln(respseccao3); if(respseccao3='1')then goto inicio; if(respseccao3='2')then goto inicioseccao3 else goto fim end; else writeln('Opção não válida! Pretende voltar atrás?'); readln(fernando); if(fernando='S') or (fernando='s')then goto inicio else fim: clrscr; writeln('Prima novamente para encerrar!'); end; readkey; End.
  10. Eu estou a tentar fazer um menú para executar uns exercícios mas quando faço case está me a dar erro e não sei porque. Vou citar o código em questão. Dá erro onde inseri o comentário. Se alguém me conseguisse ajudar agradecia! Program MenuFicha4 ; label inicio; var seccao:integer; var labelseccao:char; var seccao1:real; var a:real; var b:real; var c,d,e:real; const pi = 3.1416; Begin textcolor(white); inicio: clrscr; writeln('********************************************'); writeln('* *'); writeln('* Seja bem-vindo ao menú da Ficha 4! *'); writeln('* *'); writeln('********************************************'); writeln(); writeln(); writeln(); writeln('A ficha 4 está dividida em 3 secções:'); writeln(); writeln(); writeln('-> Secção 1'); writeln(); writeln('-> Secção 2'); writeln(); writeln('-> Secção 3'); writeln(); writeln(); writeln('Insira a secção que deseja abrir'); readln(seccao); clrscr; case seccao of 1: writeln('Selecionou a secção 1!'); writeln(); writeln(); writeln(); writeln(' 1.1 -> Área do quadrado '); writeln(' 1.2 -> Perímetro da cirncunferência '); writeln(' 1.3 -> Gasolina gasta '); writeln(' 1.4 -> Latas de tinta '); writeln(' 1.5 -> Hipotenusa do triângulo '); writeln(' 1.6 -> Tempo gasto '); writeln(' 1.7 -> Conversão para polegadas '); writeln(' 1.8 -> Conversão para Fahrenheit '); writeln(' 1.9 -> Forrar com a carpete '); writeln(' 1.10 -> Distância entre dois pontos '); writeln(); writeln(); writeln('Insira o exercício que deseja executar!'); readln(seccao1); if(seccao1='1.1')then writeln('Insira os lados do quadrado'); readln(a); clrscr; writeln('A área do quadrado é ',(a*a):0:2); readkey; if(seccao1='1.2')then writeln('Insira o raio da circunferência'); readln(b); clrscr; writeln('O perímetro da circunferência é ',(2*pi*b):0:2); readkey; if(seccao1='1.3')then writeln('Indica a distância percorrida em km e os litros de gasolina gastos'); readln(c,e); d:=c/e; clrscr; writeln('Fez uma média de ',d:0:1 ,' litros por kilómetro!'); readkey; 2:writeln('2'); 3:writeln('3'); else writeln('A opção não é válida'); writeln(); writeln('Deseja voltar a escolher? S|N'); readln(labelseccao); if(labelseccao='S') or (labelseccao='s')then goto inicio else writeln('Prima qualquer tecla para encerrar!'); end; readkey; End.
  11. burns

    Pascalzim

    Eu criei um código mas ele esta com um erro no End. alguem me ajude a conseguir corrigir o programa? Program livroslojas ; var opcao:integer; var menu:real; var livro:integer; Begin repeat clrscr; writeln(' ---Menu--- '); writeln ('Escolhe o Genero de Leitura :'); writeln ('1- Aventura'); writeln ('2- Acao'); writeln ('3- Romance'); writeln ('4- Terror'); writeln ('5- Suspance'); writeln ('6- Fantasia'); writeln ('7- Manga'); readln(opcao); case (opcao) of 1: begin writeln ('Voce escolheu o Genero de Aventura'); writeln ('Recomendo o Livro O Artifice de Richard Sennett'); readln(livro); end; 2: begin writeln ('Voce escolheu o Genero de Acao'); writeln ('Recomendo o Livro O Hobitt Jonh Ronald Tolkien '); readln (livro); end; 3: begin writeln ('Voce Escolheu o Genero de Romance'); writeln ('Recomendo o Livro A Culpa e das estrelas de Jonh Green'); readln (livro); end; 4: begin writeln ('Voce Escolheu o Genero de Terror'); writeln ('Recomendo o Livro O Corvo de Edgar Allan Poe '); readln (livro); end; 5: begin writeln ('Voce Escolheu o Genero de Suspance'); writeln ('Recomendo o Livro YOU de Caroline Kepnes'); readln (livro); end; 6: begin writeln ('Voce Escolheu o Genero de Fantasia'); writeln ('Recomendo o Livro Harry Potter de J.K Rolling'); readln (livro); end; 7: begin writeln ('Voce Escolheu o Genero de Mang�'); writeln ('Recomendo o Livro One Piece de Eiichiro Oda'); readln (livro); end; else begin if(opcao=8) then begin writeln ('Voce Escolhe Sair , Adeus :)'); end else begin writeln (' Opcao Inv�lida'); end; if(opcao=8); End.
  12. Teresa Jorge

    Pascalzim

    Olá, estou a fazer um programa na escola ,para enviar de avaliação ao professor no entanto ele pede que fique igual ao dele quando executarmos o programa ( cores de letras, fundo, etc) mas nao estou a conseguir dar espaço, por exemplo aparece-me introduz um número, eu introduzo e logo na linha abaixo aparece o resultado do programa e no dele entre estas duas linhas está uma sem nada, alguém me pode ajudar, é que o programa está a funcionar bem e só necessito mesmo do comando para deixar o espaço entre linhas para enviar, obrigada!!
  13. O programa fornece uma séries de chaves em que uma delas é a chave certa do euromilhões Program Euromilhoes; Var Bola = array [1..6] of integer; Estrela = Array [1..2] of integer; begin For Bola[1]:= 1 to 46 do For Bola[2]:= Bola[1]+1 to 47 do For Bola[3]:= Bola[2]+1 to 48 do For Bola[4]:= Bola[3]+1 to 49 do For Bola[5]:= Bola[4]+1 to 50 do For Estrela[1]:= 1 to 11 do For Estrela[2]:= Estrela[1]+1 to 12 do begin For b:= 1 to 6 do Write(bola[b]," "); write(" - "); For e:= 1 to 2 do write(estrela[e]," "); writeln; end; end. 😁
  14. Caros, boa tarde. Tenho feito um relatório que inclui Códigos QR, utilizo o LazReport com frBarCode2d1 e frTNPDFExport1. O assunto é que o relatório na tela e se mando a imprimir diretamente fica todo "ok-ótimo", mas se envio o reporte para PDF não insere os códigos QR, o resto se fica todo bem. Alguma ideia ou dica??
  15. Opa pessoal, estou com um problema que quero que esse programa de arranjo em pascal apenas rode os arranjos de: 1234 ,sendo digitado 1 o 2 e assim sucessivamente, porém mesmo se eu digitar outro número eu quero que apenas o arranjo do 1234 seja feito e não outro. Alguém tem uma ideia de como fazer isso ? Virei e revirei o código e não consigo encontrar. program mistureba; type placa = array [1..4] of integer; expr = record texto : string; valor : real; end; a4expr = array [1..4] of expr; const MAXDIG = 4; var a4num : array [1..24] of placa; // a4num : array [1..24,1..4] of integer linha : integer; procedure mistura(input : placa; index : integer); // input tem a série de digitos da placa // index indica a posição que inicia o arranjo var output : placa; p, i : integer; begin if index=MAXDIG then begin // mostra / insere a sequencia que está em input //for i := 1 to MAXDIG do //write(input[i]); //writeln; a4num[linha] := input; linha := linha + 1; end else begin output := input; for p := index to MAXDIG do begin output[index] := input[p]; for i := index to p - 1 do output[i + 1] := input[i]; for i := p + 1 to MAXDIG do output[i] := input[i]; mistura(output,index + 1); end; end; end; var //a4num : placa; p, i : integer; begin linha := 1; for i := 1 to MAXDIG do readln(a4num[linha,i]); mistura(a4num[linha],1); // vou mostrar o conteúdo do mei conjunto de placas for linha := 1 to 24 do begin for i := 1 to MAXDIG do write(a4num[linha,i]); writeln; end; end.
  16. 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
  17. 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.
  18. 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!
  19. 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.
  20. 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.
  21. 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.
  22. 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.
  23. 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?
  24. 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.
  25. 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 😅
×
×
  • 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.