Ir ao conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Mostrando resultados para as tags ''Pascal''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Categorias

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

Categorias

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

Categorias

  • Livros disponíveis
  • Livros esgotados

Fóruns

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

Categorias

  • Hardware
  • Redes
  • Eletrônica
  • Sistemas operacionais

Encontrar resultados em...

Encontrar resultados que...


Data de criação

  • Iniciar

    FIM


Última atualização

  • Iniciar

    FIM


Filtrar pelo número de...

Data de registro

  • Iniciar

    FIM


Grupo


Caixas de som

Encontrado 114 registros

  1. Pessoal, boa noite! Estou com um problemão em uma aplicação que estou fazendo para empresa onde trabalho (não sou da área de tecnologia kk). Criei um sistema onde algumas pessoas precisam atualizar alguns contratos, logo criei uma base de dados em ACCESS e aplicação em PASCAL (Delphi 7). Contudo o meu problema está na hora de bloquear os contratos, para que duas pessoas não façam o trabalho duas vezes. Detalhando: ao todo são 10 pessoas que precisam atualizar um quantidade muito grande de contratos. O BD fica em um servidor e a aplicação nas 10 máquinas. Para evitar o trabalho dobrado preciso que enquanto um atualiza um determinado contrato outra pessoa não possa fazer tal edição. Procurei algumas soluções na internet porém sem sucesso. Decidi então criar um jeitinho de bloquear alguns contratos. Criei um campo na tabela que se chama "ATUALIZANDO" toda vez que alguém clica para atualizar um contrato ele acrescenta a palavra 'sim', então pensei em colocar um filtro para mostrar apenas os contratos que estejam com o campo "ATUALIZANDO" vazio. Não deu certo, uma vez que o banco de dados não é atualizado em tempo real. Gostaria de saber a solução mais simplista possível para bloquear os contratos que já estão sendo atualizados por outras pessoas. Ps.: Não necessariamente precisa BLOQUEAR, se desse para colocar um botão que pulasse para um contrato aleatório que não estivesse sendo modificado também atende a necessidade. Preciso da ajuda de vocês!!! Agradeço desde já.
  2. Olá pessoal estou fazendo um programa no qual registra placas, chassis e informa a situação do veículo, porém, não estou conseguindo buscar as placas ou o chassi para informar a situação do veículo. OBS: Deixei a pasta do arquivo para baixarem, eu uso o Lazarus para programar. program BuscaPlacas; uses UnitPlacas,crt; var EscolhaInicio,EscolhaSituacao,Parar,NomeArq : string; A,B,C,Indice1 : integer; Arq : TArq; Carro: TCarro; begin NomeArq := 'BuscaPlacas3000.bin'; cabecalho(); readln; ClrScr(); AbreArquivo(Arq, NomeArq); repeat writeln('Esolha o que deseja realizar: '); writeln('1 - Buscar Placas '); writeln('2 - Registrar Placa '); Writeln('3 - Fechar '); readln(EscolhaInicio); //Chamando a Função para validar o que foi digitado pelo usuário A := Val1(EscolhaInicio); case A of 1: //Caso o usuário digite 1 entao ira buscar os arquivos já registrados begin repeat ClrScr(); Writeln('Escolha uma das opções abaixo '); Writeln('1 - Continuar Buscando/Buscar '); writeln('2 - Parar'); readln(Parar); C:= val3(Parar); //Validando o valor digitado if C = 1 then begin ClrScr(); Writeln('Informe a placa ou o chassi para buscar o carro: '); writeln('Aperte enter caso nao saiba algum dos campos '); writeln(); Writeln('Placa: '); readln(Carro.Placa); WriteLn('Chassi: '); readln(Carro.chassi); Indice1 := BuscaArquivo1(Arq,Carro.Placa); //Chamando o procedimento de buscar arquivos if (Indice1 <> -1) then begin Seek(Arq,Indice1);//Buscando o arquivo da posição desejada Read(Arq,Carro); TextColor(Red); Writeln('Placa: ',Carro.Placa,' Chassi: ',Carro.chassi,' Situação: ',Carro.situacao); TextColor(White); readln; end else begin Writeln('Registro não encontrado '); end; end; until parar = '2'; //O programa ira parar de procurar quando o usuario digitar 2 Close(Arq); ClrScr(); end; 2: //PROCEDIMENTOS PARA REGISTRAR OS VEICULOS begin ClrScr(); repeat Writeln('Escolha uma das opções abaixo '); Writeln('1 - Continuar Registrando/Registrar '); writeln('2 - Parar de Registrar '); readln(Parar); C:=val3(Parar); if C = 1 then begin repeat ClrScr(); Writeln('Informe a placa do Carro '); readln(Carro.Placa); AdicionaArquivo(Arq,Carro); WRiteLn('Informe o chassi do carro '); readln(Carro.chassi); AdicionaArquivo(Arq,Carro); Writeln('Escolha a Situação do Veículo: '); Writeln('1 - Roubado/Furtado '); WriteLn('2 - Sem ocorrências '); readln(EscolhaSituacao); B := val2(EscolhaSituacao); if B = 1 then Carro.situacao:='Roubado/Furtado'; AdicionaArquivo(Arq,Carro); ClrScr(); if B = 2 then Carro.situacao:='Sem ocorrências'; AdicionaArquivo(Arq,Carro); ClrScr(); end; until parar = '2'; Close(Arq); end; end; until EscolhaInicio = '3'; end. unit UnitPlacas; {$mode objfpc}{$H+} interface uses Classes, SysUtils,crt; type TCarro = record Placa : string[7]; chassi : string[17]; situacao : string[30]; end; TArq = file of TCarro; procedure Cabecalho(); function Val1(Mensagem : string):integer; function Val2(Mensagem : string):integer; function Val3(Mensagem: string): integer; //Estrutura de Arquivos procedure AbreArquivo(var Arq: TArq; NomeArq: string); procedure AdicionaArquivo(var Arq: TArq; A: TCarro); function BuscaArquivo1(var Arq: Tarq; Placa: string): integer; implementation procedure Cabecalho(); begin TextColor(red); writeln('****** BEM-VINDO AO BUSCA PLACAS 3000 ****** '); TextColor(white); end; //Laço de repetição para forçar o usuário a digitar um número válido function Val1(Mensagem: string): integer; var Valor,Erro:integer; begin repeat val(Mensagem,Valor,Erro); if Erro <> 0 then begin Writeln('Numero Inválido, Digite novamente '); readln(Mensagem); end; repeat if (Valor < 1) or (Valor > 3) then begin writeln('Número Inválido, Digite novamente '); readln(Mensagem); val(Mensagem,Valor,Erro); end; until (Valor >=1) and (Valor <= 3); until (Erro = 0); Val1 := Valor; end; function Val2(Mensagem: string): integer; var Valor,Erro :integer; begin repeat val(Mensagem,Valor,Erro); if Erro <> 0 then begin Writeln('Numero Inválido, Digite novamente '); readln(Mensagem); end; repeat if (Valor <1) and (Valor > 2) then begin writeln('Número Inválido,Digite novamente '); readln(Mensagem); val(Mensagem,Valor,Erro); end; until (Valor = 1) or (Valor = 2); until (Erro = 0) and (Valor = 1) or (Valor = 2); Val2 := Valor; end; function Val3(Mensagem: string): integer; var Valor,Erro :integer; begin repeat val(Mensagem,Valor,Erro); if Erro <> 0 then begin Writeln('Numero Inválido, Digite novamente '); readln(Mensagem); end; repeat if (Valor <1) or (Valor > 2) then begin writeln('Número Inválido,Digite novamente '); readln(Mensagem); val(Mensagem,Valor,Erro); end; until (Valor = 1) or (Valor = 2); until (Erro = 0) and (Valor = 1) or (Valor = 2); Val3 := Valor; end; procedure AbreArquivo(var Arq: TArq; NomeArq: string); begin Assign(Arq, NomeArq); if FileExists(NomeArq) then begin Reset(Arq); end else begin Rewrite(Arq); end; end; procedure AdicionaArquivo(var Arq: TArq; A: TCarro); begin Seek(Arq, FileSize(Arq)); Write(Arq, A); Seek(Arq, FileSize(Arq) - 1); end; function BuscaArquivo1(var Arq: Tarq; Placa: string): integer; var A: TCarro; Posicao: integer; begin Posicao := -1; Seek(Arq,0); repeat Read(Arq,A); if (A.placa = Placa) then begin Posicao := FilePos(Arq) - 1; end; until (EOF(Arq)) or (Posicao <> -1) ; BuscaArquivo1 := Posicao; end; end. BuscaPlacas.rar
  3. Program Pzim ; var P:string; //Palavra Cont:string; //palavra ao contrario x:integer; r:char; Begin write ('Digita a palavra: '); read(P); P:=upcase(P); repeat delete(P,pos(' ',P),1) until pos(' ',P) = 0; //remover espaços repeat delete(P,pos('-',P),1) until pos('-',P) = 0; //remover hífens for x:= length(P) downto 1 do cont:=cont + P[x]; clrscr; writeln(' A palavra normal é: ', P); writeln(' A palavra ao contrario é: ',cont); if P = cont then writeln(' Essa palavra é Polindromo!!') else writeln(' Essa palavra não é um Polindromo.'); //====================================================================================// writeln; write('OUTRA CONSULTA? [S/N] >> '); repeat sair:=upcase(readkey) until sair in ['S','N']; until sair='N'; End. Ele simplesmente fica cismando com a parte inferior, onde tento fazer outra consulta.
  4. Olá, estou fazendo um trabalho de escola e quero comparar dois SpeedButtons, gostaria de saber se posso fazer um hint pra cada botão e comparar (pra ver se são iguais ou diferentes) ou se posso usar tag (se possível me ajude, pois não conheço nada dessa função, só ouvi falar). Claro que outras sugestões para comparação também serão aceitas, falei dessas duas pois foram as que me "recomendaram".
  5. Olá, gostaria de ajuda para formular "tópicos" para o começo de um projeto de escola que seria desenvolver um jogo da memória. Como assim tópicos? Penso em tópicos como "ações" que seriam programadas para fazer o programa funcionar. Exemplo: - Se o usuário clicar na peça, ela mostra a imagem até o próximo clique, se as duas peças possuírem o mesmo HINT (modo que achei para comparar as duas), então as duas ficam viradas, se não, as duas voltam ao estado original ("escondidas"); - Randomizar localização das peças cada vez que o programa for iniciado; - Inserção de imagens em um botão (não sei se é possível e nem como fazer, tenho de procurar ainda kkk); - Na hora de mostrar a imagem, pensei em no OnClick, dai ele recebe a imagem que quero. Por enquanto só fiz isso, qualquer dica já será de grande ajuda. Ah, achei um quebra-cabeça na internet, mas ele não roda no Lazarus e não tenho conhecimento o suficiente para descobrir o porque. Vou deixar o código aqui, talvez ajude kkk unit TelaPrincipal; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Buttons, StdCtrls, ExtCtrls, Menus; type TFormTelaPrincipal = class(TForm) LabelPontos: TLabel; btnReinicia: TButton; AreaDoJogo: TPanel; btnCartaSaillorMoon1: TSpeedButton; btnCartaPokemon1: TSpeedButton; btnCartaSakura1: TSpeedButton; btnCartaYukito1: TSpeedButton; btnCartaGohan1: TSpeedButton; btnCartaDragonBall1: TSpeedButton; btnCartaPokemon2: TSpeedButton; btnCartaDragonBall2: TSpeedButton; btnCartaSakura2: TSpeedButton; btnCartaYukito2: TSpeedButton; btnCartaGohan2: TSpeedButton; btnCartaSerena1: TSpeedButton; btnCartaSerena2: TSpeedButton; btnCartaGoku1: TSpeedButton; btnCartaGoku2: TSpeedButton; btnCartaLiga1: TSpeedButton; btnCartaLiga2: TSpeedButton; btnCartaLince1: TSpeedButton; btnCartaLince2: TSpeedButton; btnCarta1Gohan: TSpeedButton; btnCarta2Gohan: TSpeedButton; btnCartaVampira1: TSpeedButton; btnCartaVampira2: TSpeedButton; Cronometro: TTimer; chkEmbaralha: TCheckBox; btnCartaSaillorMoon2: TSpeedButton; procedure ClickBotao(Sender: TObject); procedure CronometroTimer(Sender: TObject); procedure btnReiniciaClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure btnCartaSerena1Click(Sender: TObject); private B1,B2: TSpeedButton; // O par de botões de cada jogada... Pontos, Acertos: integer; procedure PerdePontos(N: integer); procedure GanhaPontos(N: integer); procedure FimDeJogo(mensagem: string); public procedure ReiniciaJogo; procedure LimpaBotao(Botao: TSpeedButton); procedure Embaralha; end; var FormTelaPrincipal: TFormTelaPrincipal; implementation {$R *.DFM} procedure TFormTelaPrincipal.ReiniciaJogo; begin B2 := nil; {o "nil" acima significa que B2 estará VAZIA e não apontará para NENHUM botão!} Pontos := 60; // inicia com 60 pontos Acertos := 0; {Limpa todos os botões:} LimpaBotao(btnCartaPokemon1); LimpaBotao(btnCartaPokemon2); LimpaBotao(btnCartaSaillorMoon1); LimpaBotao(btnCartaSaillorMoon2); LimpaBotao(btnCartaSakura1); LimpaBotao(btnCartaSakura2); LimpaBotao(btnCartaYukito1); LimpaBotao(btnCartaYukito2); LimpaBotao(btnCartaDragonBall1); LimpaBotao(btnCartaDragonBall2); LimpaBotao(btnCartaGohan1); LimpaBotao(btnCartaGohan2); LimpaBotao(btnCartaSerena1); LimpaBotao(btnCartaSerena2); LimpaBotao(btnCartaGoku1); LimpaBotao(btnCartagoku2); LimpaBotao(btnCartaLiga1); LimpaBotao(btnCartaLiga2); LimpaBotao(btnCartaLince1); LimpaBotao(btnCartaLince2); LimpaBotao(btnCarta1Gohan); LimpaBotao(btnCarta2Gohan); LimpaBotao(btnCartaVampira1); LimpaBotao(btnCartaVampira2); {Verifica op. de embaralhar:} if chkEmbaralha.Checked then Embaralha; {Habilita a tela p/ jogar:} AreaDoJogo.Enabled := True; Cronometro.Enabled := True; // liga o cronometro end; procedure TFormTelaPrincipal.CronometroTimer(Sender: TObject); begin PerdePontos(1); // perde um ponto por segundo end; procedure TFormTelaPrincipal.ClickBotao(Sender: TObject); begin if B2 = nil then // vazio (ver ReiniciaJogo) B2 := B1; // o botão anterior B1 := TSpeedButton(Sender); // O botão clicado B1.Spacing := 4; // Retira os espaços p/ mostrar a figura if (B2 = nil) or (B1 = B2) then Exit // sai desta procedure else if B2.Tag = B1.Tag then begin {A propriedade Tag é um número que você pode usar à vontade - aqui usamos para identificar os pares de botões.} B1 := nil; B2 := nil; GanhaPontos(5); end else begin // ERROU! LimpaBotao(B2); B2 := nil; PerdePontos(2); end; end; procedure TFormTelaPrincipal.PerdePontos(N: integer); begin Pontos := Pontos - N; LabelPontos.Caption := 'Tempo Restante: '+IntToStr(Pontos); if Pontos <= 0 then FimDeJogo('Você perdeu...Tente outra VEZ'); end; procedure TFormTelaPrincipal.GanhaPontos(N: integer); begin Pontos := Pontos + N; Acertos := Acertos + 1; LabelPontos.Caption := 'Tempo Restante: '+IntToStr(Pontos); if Acertos = 12 then FimDeJogo('Parabéns! você acertou !!! '); end; procedure TFormTelaPrincipal.FimDeJogo(mensagem: string); begin Cronometro.Enabled := False; // desliga o cronometro ShowMessage('Fim de Jogo: '+mensagem); AreaDoJogo.Enabled := False; // impede de mexer no jogo end; procedure TFormTelaPrincipal.btnReiniciaClick(Sender: TObject); begin ReiniciaJogo; end; procedure TFormTelaPrincipal.LimpaBotao(Botao: TSpeedButton); begin Botao.Spacing := 200; // cobre a figura com espaços Botao.Down := False; end; procedure TFormTelaPrincipal.FormCreate(Sender: TObject); begin ReiniciaJogo; end; procedure TFormTelaPrincipal.Embaralha; var aBotao: array[1..12,1..2] of TSpeedButton; i,j, p, id: integer; imagem: TBitmap; nome: string; begin {Coloca os botões no array:} aBotao[1][1] := btnCartaPokemon1; aBotao[1][2] := btnCartaPokemon2; aBotao[2][1] := btnCartaSaillorMoon1; aBotao[2][2] := btnCartaSaillorMoon2; aBotao[3][1] := btnCartaSakura1; aBotao[3][2] := btnCartaSakura2; aBotao[4][1] := btnCartaYukito1; aBotao[4][2] := btnCartaYukito2; aBotao[5][1] := btnCartaDragonBall1; aBotao[5][2] := btnCartaDragonBall2; aBotao[6][1] := btnCartaGohan1; aBotao[6][2] := btnCartaGohan2; aBotao[7][1] := btnCartaSerena1; aBotao[7][2] := btnCartaSerena2; aBotao[8][1] := btnCartaGoku1; aBotao[8][2] := btnCartaGoku2; aBotao[9][1] := btnCartaLiga1; aBotao[9][2] := btnCartaLiga2; aBotao[10][1] := btnCartaLince1; aBotao[10][2] := btnCartaLince2; aBotao[11][1] := btnCarta1Gohan; aBotao[11][2] := btnCarta2Gohan; aBotao[12][1] := btnCartaVampira1; aBotao[12][2] := btnCartaVampira2; {Troca as imagens entre os botões, aleatóriamente:} Randomize; imagem := TBitmap.Create; for i := 1 to 12 do for j := 1 to 2 do begin p := Random(11)+1; // gera um número entre 1..6 {Guarda as informações do botão escolhido...} id := aBotao[i][j].Tag; imagem.Assign(aBotao[i][j].Glyph); nome := aBotao[i][j].Caption; {...e troca com o botão atual:} aBotao[i][j].Glyph.Assign(aBotao[p][j].Glyph); aBotao[p][j].Glyph.Assign(imagem); aBotao[i][j].Tag := aBotao[p][j].Tag; aBotao[p][j].Tag := id; aBotao[i][j].Caption := aBotao[p][j].Caption; aBotao[p][j].Caption := nome; end; // for j imagem.Free; end; procedure TFormTelaPrincipal.btnCartaSerena1Click(Sender: TObject); begin if B2 = nil then // vazio (ver ReiniciaJogo) B2 := B1; // o botão anterior B1 := TSpeedButton(Sender); // O botão clicado B1.Spacing := 4; // Retira os espaços p/ mostrar a figura if (B2 = nil) or (B1 = B2) then Exit // sai desta procedure else if B2.Tag = B1.Tag then begin {A propriedade Tag é um número que você pode usar à vontade - aqui usamos para identificar os pares de botões.} B1 := nil; B2 := nil; GanhaPontos(5); end; end; end.
  6. Problema: Algoritmo que elimine de uma pilha P todos os elementos iguais a um certo valor X, mantendo os valores restantes na pilha na mesma ordem. Observação: Só são permitidas operações de desempilhamento e empilhamento. Dica: Utilizar uma pilha auxiliar Q para resolver este problema. O meu algoritmo está funcionando e atende a resolução do problema (eu acho). Mas gostaria de saber se eu posso melhorar de alguma forma esse código? Não tenho muito conhecimento de Pascal e tenho um pouco de dificuldade em manipular arrays kk Muito obrigado! program Ad12Dados; const max = 5; var p: array[0..max] of integer; q: array[0..max] of integer; i, topop, topoq, e, x: integer; procedure Cria(var p: array of integer); begin topop := 0; topoq := 0; end; function Vazia(var p: array of integer; var topo: integer): boolean; begin if topo = 0 then vazia := true else vazia := false; end; procedure Empilha(var p: array of integer; var topo: integer; var e: integer); begin topo := topo + 1; p[topo] := e; end; procedure Desempilha(var p: array of integer; var topo: integer); begin p[topo] := 0; topo := topo - 1; end; procedure ExibePilha(var p: array of integer); begin for i := 1 to max do begin write(p[i], ' '); end; writeln(); end; begin Cria(p); Cria(q); writeln('Preencher pilha P: '); for i := 1 to max do begin readln(e); Empilha(p, topop, e); end; ExibePilha(p); writeln('Valor eliminado: '); readln(x); for i := 1 to max do begin if p[topop] = x then Desempilha(p, topop) else begin e := p[topop]; Empilha(q, topoq, e); Desempilha(p, topop); end; end; while topoq > 0 do begin e := q[topoq]; Desempilha(q, topoq); Empilha(p, topop, e); end; writeln('Resultado da pilha P: '); ExibePilha(p); end.
  7. Boa tarde, Este algoritmo deve receber um determinado horário e definir se o turno de trabalho é manhã, tarde ou noite, conforme a informação a seguir: Manhã - 6h às 14h Tarde - 14h às 22h Noite - 22h às 06h O aluno apresentou o seguinte algoritmo e disse que quando digitados os horários, apresentam uma mensagem diferente do turno que deveria aparecer. Como proceder? [OBS: Aprendendo muito com este fórum, desde já, obrigada!] Program Turno_de_trabalho; VAR hora, turno, user: string; Begin Write('Digite seu nome: '); readln(user); Write('Digite seu horário de trabalho: '); readln(hora); Writeln; If (hora>='06h') or (hora<='13h59')then Begin turno:=('Manhã'); Write(user, ' seu turno de trabalho é ', turno); end Else If (hora>='14h') or (hora<='21h59')then Begin turno:=('Tarde'); Write(user, ' seu turno de trabalho é ', turno); end Else If (hora>='22h') or (hora<='05h59')then Begin turno:=('Noite'); Write(user, ' seu turno de trabalho é ', turno); end; Readln; End.
  8. Boa tarde pessoal! Mais uma vez venho pedir ajuda... Eu, como pouquíssimo experiente em Pascal, estou tendo problemas em solucionar mais um problema no programinha sugerido pela apostila. A proposta é que seja criada uma tela simples que confirme a validade de um login e senha. No inicio testei apenas as condições que o probleminha pedia, depois experimentei usar apenas um dos itens corretamente (login ou senha) para ver o que acontecia. O resultado foi que o programinha não finaliza como esperado. Segue o código, conto a ajuda de vocês! Desde já, obrigada! Program Login; Var User, pass: string; Begin Writeln('Digite o nome de usuário: '); Readln(user); Writeln('Digite a senha: '); Readln(pass); Writeln; If (user<>'prepara') and (pass<>'123456') then Begin Write('Usuário ou senha inválido!'); end Else If (user='prepara') and (pass='123456') then Begin Write('Seja Bem-Vindo!'); end; readln; End.
  9. Boa noite, Sou educadora em uma escola de cursos da minha cidade. Tenho alguns alunos no módulo de Lógica de programação e estou fazendo algumas atividades complementares para ajudá-los. Estou com um certo problema com programinhas que usem o OP aritmético da divisão, só ele não funciona durante a execução. Vou deixar as linhas aqui e peço que, quem identificar o erro me ajude, por favor. To quebrando a cabeça e não sei o que pode ser. Program Multiplica_divide; VAR n1, n2, resultado: real; Escolha: Char; Begin Writeln('Digite M para Multiplicação'); Writeln('Digite D para Divisão'); Writeln('Qual operação deseja realizar? '); Readln(escolha); Writeln; Writeln('Digite o primeiro número: '); Readln(n1); Writeln('Digite o segundo número: '); Readln(n2); If escolha= 'M' then Begin resultado:=N1*N2; readln; end; If escolha= 'D' then Begin resultado:=N1/N2; readln; end Else Begin Writeln('O resultado e: ', resultado :2:2); readln; End; Readln; End. program Calculadora_N_divide; Var N1, N2, Resultado: real; escolha: char; begin Writeln('A para Somar'); Writeln('B para Subtrair'); Writeln('C para Multiplicar'); Writeln('D para Dividir'); Write('Escolha o que deseja fazer: '); Read(escolha); Writeln; Write('Digite o primeiro numero: '); read(N1); Write('Digite o segundo numero: '); read(N2); If escolha='A' then Begin Resultado:=N1+N2; End; If escolha='B' then Begin Resultado:=N1-N2; End; If escolha='C' then Begin Resultado:=N1*N2; End; If escolha='D' then Begin Resultado:=N1/N2; End Else Begin Writeln('Resultado: ', Resultado :2:2); readln; End; Readln; end.
  10. Me ajudem ae por favor, preciso fazer esse exercício e não sei fazer. Alguém ajuda pls >> "Considere o seguinte formato de uma equação de segundo grau Ax2 + Bx + C = 0. Crie a subrotina TermosEquacaoGrau2(Equacao: String): TVetTermos que retorne um vetor de 3 posições com os termos da equação."
  11. Então, tentei fazer um programa de "cadastro" e busca, onde primeiro tem um menu com as opções do usuario, até aqui tudo bem, mas ao escolhe a opções 1 ou 2 o programa esta exibindo o menu novamente, como se tivesse um comando de repetição, e não executa nenhum dos IF's. program Menu; uses crt; type registro = record nome: String; idade:Integer; telefone: String; cidade: String; end; var cliente: array [1..4] of registro; opcao, indice, i: Integer; nomecliente: String; achou: Boolean; indicebusca: Integer; begin indice := 1; opcao := 0; while (opcao <> 3) do begin writeln('--- Cadastro de clientes ---'); writeln(' '); Write('[1] Cadastrar Cliente'); writeln(' '); Write('[2] Consultar Cliente'); writeln(' '); Writeln('[3] Sair'); read(opcao); end; if (opcao = 1) then begin begin writeln('--- cadastro de clientes ---'); writeln(' '); write('>> Digite o nome do cliente: '); readln(cliente[indice].nome); write('>> Digite a idade do cliente: '); readln(cliente[indice].idade); write('>> Digite o telefone do cliente: '); readln(cliente[indice].telefone); write('>> Digite a cidade do cliente: '); readln(cliente[indice].cidade); indice := indice+1; end; end; if (opcao = 2) then begin clrscr; achou := false; write('--- Busca de clientes ---'); writeln(' '); write('>> Digite o nome do cliente'); readln(nomecliente); for i := 1 to indice do begin if (nomecliente = cliente[i].nome) then begin achou := true; indicebusca := i; end; end; if achou = true then begin write(cliente[indicebusca].nome); write(cliente[indicebusca].idade); write(cliente[indicebusca].telefone); write(cliente[indicebusca].cidade); end else Begin write('>> Cliente não cadastrado'); end; end; end.
  12. tentei criar uma matriz, porém ao executar ela nao fica coma tal (linhas e colunas), os numeros ficam tudo um embaixo do outro program Matrizes; //Matrizes= vetores com mais d uma dimensão //1° dimensão = linhas da matriz //2° dimensão= colunas da matriz uses crt; var vetornum:array [0..3, 0..4] of integer; //minha matriz vai ter a dimensão de 4X4 I:Integer; O:Integer; begin Randomize; for I := 0 to 3 do Begin for O := 0 to 4 do begin vetornum[I,O] := random(1000); end; end; for I:=0 to 3 do Begin for O := 0 to 4 do begin write(vetornum[I,O],' * '); writeln(' '); end; end; readln; end.
  13. A tempos não utilizo Delphi, e resolvi baixar o Lazarus pra dar uma olhada. E por exemplo, encontrei vários botões para conexão com vários tipos de Banco de Dados, MySQL, Postgre.... Atualmente o Delphi continua sendo a melhor opção, ou o Lazarus oferece mais facilidade e opções em sua ferramenta, como o exemplo acima?
  14. Boa noite, estou tendo problemas na impressão e com o valor 1, quais dicas me dao ? Program repetvetorvetor; Var Vetor1, vetor2: array [1..100] of integer; i,j:integer; Begin For i:=1 to 5 do Begin Writeln ( 'digite o número da posição ' , i ); Readln (vetor1); End; For i:= 1 to 5 do Begin For j:=1 to 5 do Begin If (vetor1 <> vetor1 [j]) then Vetor2[j]:=1 Else Vetor2[j]:= vetor2[j] + 1 ; End; End; For i:= 1 to 5 do Begin For j:=1 to 5 do Begin If (vetor1 <> vetor1 [j]) then Writeln ( ' o número de vezes que o numero ',vetor1,' , de posicao ',i,'se repetiu foram ',vetor2); end; end; end.
  15. Olá! Estou com um exercício em que devo criar um algoritmo para o seguinte problema : Uma empresa decidiu fazer um levantamento em relação aos candidatos que se apresentarem para preenchimento de vagas no seu quadro de funcionários. Supondo que você seja o programador dessa empresa, faça um programa que: -> Leia, para cada candidato, a idade, o sexo ( M e F ) e a experiência no serviço ( S ou N). Para encerrar a entrada de dados digite zero para a idade. Calcule e mostre: -> o número de candidatos do sexo feminino; -> o número de candidatos do sexo masculino; ->O numero de homens que ja possui experencia no serviço; -> O número de Homens que não possui experiencia no serviço; ->O número de mulheres que já possui experiencia no serviço; ->O numero de mulheres que não possui experiencia no serviço; ->O nome do candidato com maior tempo de experiencia no serviço; ->Soma de todas as idades; ->A media de todas as idades; ->A média de todas as idades do sexo feminino; ->A média de todas as idades do sexo masculino; Consegui fazer esse começo, mais não consigo terminar, alguém poderia me ajudar, comecei o curso de programação faz pouco tempo... var i, idade, masculino, feminino, maior, menor, exp_masc, exp_fem, funcionarios, soma: integer; media: real; sexo, experiencia: char; Begin soma:= 0; media:= 0; exp_fem:= 0; exp_masc:= 0; feminino:= 0; masculino:= 0; readln(funcionarios); For I:= 1 to funcionarios do Writeln ('Entre com a idade do funcionario'); readln(idade); maior:= idade; menor:= idade; Writeln ('Agora com o sexo do funcionario <M ou F>'); readln (sexo); if sexo = 'F' then feminino:= feminino + 1 Else masculino:= masculino + 1 end.
  16. Não consigo resolver esta questão: Elabore um algoritmo que observando a idade dada de um jogador, clasifique-o em uma das categorias, seguindo a tabela abaixo. Feito isso, mostre as mensagens de acordo com a classificação. Tabela: Idade Classificação infantil 5 a 10 anos Juvenil 11 a 17 anos Adulto Maiores que 18 anos se o usuario digitar uma idade menor que 5 anos, entao mostre a seguinte mensagem: 'A idade digitada e de uma criança'. Faça o algoritmo usando o comando CASE. Fiz o algoritmo mais da um erro que não consigo resolver o erro é: ';' não esperado! Var Idade: integer; Begin Writeln('Digite a sua idade'); readln(idade); Case Idade of 5..10: Writeln('voce e infantil'); end; Case Idade of 11..17: Writeln('voce e Juvenil'); end; Case Idade of 18..1000; Writeln('voce e Adulto'); end; Case Idade of 0..5: Writeln('A idade digitada e de uma crianca'); end; End. Fiz pelo pascalzim...
  17. Não estou conseguindo voltar ao menu principal. Nesse caso eu necessito usar ponteiro, ou , usar registro , pedindo ao usuário o nome dos estados listados? Program Pzim ; CONST SAIR=3; type frotadeumestado=record nome_Estado: string; total_veiculos:integer; total_acidentes: integer; END; var option,option2:integer; continuar: char; frota: frotadeumestado; Begin REPEAT writeln('BEM VINDO AO SISTEMA DETRAN SUL-SUDESTE-CENTROOESTE 2017'); WRITELN('1-INSERIR DADOS DE UM ESTADO'); WRITELN('2-ANALISAR ACIDENTES E FROTA ATUAL'); WRITELN('3-SAIR'); WRITELN('DIGITE O NUMERO DA OPCAO DESEJADA' ); READLN(OPTION); UNTIL (OPTION=1) OR (OPTION=2) OR (OPTION=3) or (continuar='s'); // como faco para voltar ao menu inicial if (OPTION=1) then begin CLRSCR; writeln('digite o nome do estado do veiculo'); readln(frotadeumestado.nome_estado); writeln('digite o TOTAL DE veiculos do estado'); readln(frotadeumestado.total_veiculos); writeln('digite o total de acidentes do estado'); readln(frotadeumestado.total_acidentes); i:=i+1; writeln('DADOS DO ',frotadeumestado.nome_estado,' CADASTRADOS COM SUCESSO!!'); repeat writeln('deseja continuar? s/n'); readln(continuar); until (continuar='s') or (continuar='n') end; IF (OPTION=2) THEN BEGIN CLRSCR; REPEAT writeln('BEM VINDO AO SISTEMA DETRAN SUL-SUDESTE-CENTROOESTE 2017 '); writeln('0-MAIOR E MENOR INDICE DE ACIDENTES E ONDE ELES OCORRERAM '); writeln('1-PERCENTUAL DE VEICULOS DE CADA ESTADO ') ; writeln('2- MEDIA DE ACIDENTES EM CADA ESTADO ') ; WRITELN('3-SAIR'); WRITELN('4-VOLTAR AO MENU ANTERIOR'); WRITELN('DIGITE O NUMERO DA OPCAO DESEJADA' ); READLN(OPTION2); UNTIL (OPTION2=0) OR (OPTION2=1) OR (OPTION2=2) OR (OPTION2=3) OR (OPTION2=4) ; if (OPTION2=0) then begin end ; end; End.
  18. Boa tarde meus queridos Estou com dificuldades em decompor números, seguindo o sistema decimal, por exemplo, o 100 em 1 + 0 + 0 Como posso fazer isso, seria para o seguinte exercício :
  19. Boa tarde meus queridos, estou com um problema no seguinte exercício: ele compila mas não da a resposta correta Program Pzim ; var n,i,j,resultado,contador:integer; Begin writeln('digite um numero para aplicarmos a conjectura de collartz, mostrando cada resultado e quantas vezes foi aplicado'); readln(n); For resultado:=n to 1 do begin if (n mod 2<>0) then begin resultado:=(3*resultado)+1 ; contador:= contador+1; writeln(resultado) end else begin resultado:=resultado div 2 ; contador:= contador+1; writeln(resultado) end; end; writeln(contador) End.
  20. Bom dia, pessoal. Estou bem perdido para fazer esse programa no PascalZim. Já tentei fazer três programas mas nenhum tá rodando. Estou perdido pra fazer o submenu e a varredura pra saber se o ingresso já foi selecionado ou não. Precisaria disso até amanhã. Se alguém puder me ajudar, agradeceria. Elabore um programa que permita reservar um ingresso em um cinema, considerando que o cinema tem 15 fileiras e 20 cadeiras por fileira. As fileiras são identificadas pelas letras A, B, C, ... e O, seguidas de um número sequencial de 2 dígitos (01 até 20). Para a reserva, o programa deve armazenar, em uma estrutura do tipo record, as informações solicitadas e somente salvar no arquivo INGRESSO.txt após o término do programa. • Deve ser exibido um menu com as seguintes opções: 1. Incluir Ingresso; 2. Alterar Ingresso; 3. Excluir Ingresso; 4. Listar Ingresso: 1. Listar por Sobrenome; 2. Listar por Assento; 3. Listar todas as Reservas; 5. Salvar e Terminar
  21. var nome, nome_mais_velha, nome_mais_nova: char; idade, idade_mais_velha, idade_mais_nova, i: integer; begin for i:= 1 to 4 do writeln('Informe o nome da ', i, 'ª pessoa: '); readln(nome); writeln('Informe a idade da ', i, 'ª pessoa: '); readln(idade); if (i = 1) then nome_mais_velha := nome; idade_mais_velha := idade; nome_mais_nova := nome; idade_mais_nova := idade; if (idade > idade_mais_velha) then nome_mais_velha := nome; idade_mais_velha := idade; if (idade < idade_mais_nova) then nome_mais_nova := nome; idade_mais_nova := idade; writeln('Mais velha: ', nome_mais_velha, ' com ', idade_mais_velha, ' anos'); writeln('Mais nova: ', nome_mais_nova, ' com ', idade_mais_nova, ' anos') end. Bom dia, estou fazendo um exercicio e ele pede para fazer um algoritmo que receba o nome e a idade de um determinado numero de pessoas e mostre o nome da pessoa mais velha e o nome da pessoa mais nova, primeiro fiz em portugol e usei o programa visualg e o algoritmo funcionou corretamente depois converti o algoritmo para o pascal que é este daqui mais quando uso o programa (Pascalzim) quando o programa executa ele le nao da a opcao pra digitar o nome e a idade da pessoa ele le tudo de uma vez, o que eu errei?? No portugol ficou assim var nome, nome_mais_velha, nome_mais_nova: caracter idade_mais_velha, idade_mais_nova, i: inteiro idade: inteiro inicio para i de 1 ate 4 faca escreva("Informe o nome da ", i, "ª pessoa: ") leia(nome) escreva("Informe a idade da ", i, "ª pessoa: ") leia(idade) se (i = 1) entao nome_mais_velha <- nome idade_mais_velha <- idade nome_mais_nova <- nome idade_mais_nova <- idade senao se (idade > idade_mais_velha) entao nome_mais_velha <- nome idade_mais_velha <- idade fimse se (idade < idade_mais_nova) entao nome_mais_nova <- nome idade_mais_nova <- idade fimse fimse fimpara escreval("Mais velha: ", nome_mais_velha, " com ", idade_mais_velha, " anos") escreval("Mais nova: ", nome_mais_nova, " com ", idade_mais_nova, " anos") fimalgoritmo no pascal o programa le assim:
  22. Olá, este programa é novo para mim e não estou a conseguir fazer o seguinte trabalho: Alguém me pode ajudar? Obrigada
  23. Type Idades = array[1..5] of string; Var Idade: Idades; maiores, menores: integer; Soma, I: integer; Begin Soma:=0; For I := 1 to 5 do Begin Writeln('informe a idade:', I); readln(Idade[I]); Bom dia, tenho um Exercício para fazer mais não consigo termina-lo alguem poderia me ajudar? Exercicio: Em Pascal faça um algoritmo que armazene a idade das pessoas e ao final mostre o total das idades sendo divididos: os maiores de 18 anos e o menores de 18 anos. Utilize o Comando TYPE. Não consigo fazer a parte que mostra quais são os maiores de 18 e os menores de 18.
  24. Ola, Estou com dúvida nesse exercício, não estou sabendo trabalhar os ponteiros nele Se alguém puder fazer algumas procedures para eu conferir Fiz uma para cada item, inclusive a do menu
  25. esse é o mesmo problema dos anteriores ( duvida: como fazer a contagem de alunos Aprovados e Reprovados ) Program Exercicio_6 ; Var md:Array[1..5] Of Real; n1,n2:Real; i:Integer; Begin i:=0; For i:=1 To 5 Do Begin TextColor(LightCyan); Writeln('Aluno ',i); Writeln(); TextColor(White); Writeln('Digite Sua Primeira Nota :'); Readln(n1); Writeln(); Writeln('Digite Sua Segunda Nota:'); Readln(n2); Writeln(); md[i]:=(n1+n2)/2; TextColor(Yellow); Writeln('Média: ',md[i]:0:2); End; For i:=1 To 5 Do Begin Writeln('**************************************************************'); if(md[i]>7)Then Begin Writeln(); TextColor(LightBlue); Writeln('Aluno ',i,' APROVADO Com: ',md[i]:0:2,' Na Media!'); End; If(md[i]<7)Then Begin Writeln(); TextColor(LightRed); Writeln('Aluno ',i,' REPROVADO Com: ',md[i]:0:2,' Na Media!'); End; End; ReadKey; End.

Sobre o Clube do Hardware

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

Direitos autorais

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

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!