Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Recommended Posts

Pessoal estou querendo programar o seguinte algoritMO:

EM LINGUAGEM PASCAL!

eu gostaria de fazer um que pegasse uma frase ou uma palavra, mostrasse a quantidade de digitos, e ela invertida.

usando estrutura de repetição while.

so que encontrei algums problemas, 1 deles eh que quando peço pra continuar na tela de comandos, ele le tudo e não faz quase nada. ex:

ele le Palavra : Eu

mostra : A palavra tem 2 digitos.

Não mostra ela invertida :(

While : Deseja continuar? 1 sim 2 nao .

qndo envio 1 para sim, ele faz isso :

Le a palavra :

Mostra : A Palavra tem 0 digitos.

While : da erro :(

me ajudem pff!!

 

Program Contar_e_Inverter;

uses crt;

var N:String;

x,a,i:integer;

begin

x:=1;textcolor(10); delay(1000); write('Loading...');

while x=1 do

begin clrscr; delay (1000); textcolor (29);

writeln(' ');

write(' All rights Reserved.');

write('© Development by Gutierre Silva Maynart ®');

gotoxy(2,3); Writeln('Informe alguma palavra: ');

readln(n);

writeln(' ');

a:= length(n);

gotoxy(4,6); writeln (' A palavra contem ', a , ' digitos ');

writeln('Palavra invertida'); write(n[a]);

gotoxy(15,15); textcolor(12);

delay(800);

textcolor(21); writeln(' ');

writeln('Deseja continuar nesta tela de comando ?1 para sim e 2 para nÆo. '); read(x);

if (x<1) or (x>2) then

textcolor(red); write(' Op‡Æo invalida!!! ');

end;

while x=2 do

begin

clrscr;

delay(1000);

textcolor(26);

write('Saindo');

textcolor (27); write('......');

delay(2000); exit;

end;

end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não entendi porque você colocou tanta coisa rsrs...

Fiz um código na hora aqui, acho que resolve seu problema :)

program Contar_Inverter;
uses crt;
var
 txt: string;
 opcao, tamanho: integer;
begin
 opcao := 1;
 while opcao=1 do
 begin
   clrscr;
   write('Digite um texto: ');
   readln(txt);
   tamanho := length(txt);
   writeln('Este texto contem ', tamanho, ' caracteres');
   write('Texto invertido: ');
   while tamanho>=1 do
   begin
     write(txt[tamanho]);
     dec(tamanho);
   end;
   writeln;
   write('Digite 1 para continuar na tela ou qualquer outro para sair... ');
   readln(opcao);
 end;
end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mano, eu inseri essa parte no meu code:

 

" while tam>=1 do

begin

write(p[tam]);

dec(tam);

end; "

e ele deu certo ta imprimindo ela direitinho, mais não coloca na ordem certa, tipo vo tenta usar chr, e copy.

Mais o While Continua dando erro no meu, qndo :

Aki no comecinho.... a primeira vez da certo, mais qndo ele repete, ele lê tdo e lê a palavra, e o tamanho conta como 0 digitos.

" begin

x:=1;

while x=1 do

begin

clrscr; "

ai eu testei sem o ClrScr; ai deu certo, mais ai ele joga o codigo aleatiamente na tela:S Aff to a +/- 1 semana e não consigo pensar em um jeito de resolver.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque que em vez de tentar arrumar o seu código, você não adapta o que você quer ao meu?

Testei o meu e ele ta funcionando corretamente, só não usei tantas coisas do crt como você usou

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.