EXERCICIO PASCAL
19/09/2021
0
Estou desenvolvendo uma atividade em pascal mas estou com dificuldades para terminar, alguem pode me ajudar ?
Program Pzim ;
var
str : array[0..511] of integer;
begin
writeln('Digite um texto para embaralhar/restaurar (sem espaços): ');
readln(str);
{repetição}
for i := 0; str[i] <> 0; i++
begin
* pular := 1;
{multipla escolha}
case(str[i]) of
begin
'A':
str[i] := 'E';
break;
'E':
str[i] := 'A';
break;
'I':
str[i] := 'O';
break;
'O':
str[i] := 'I';
break;
'U':
str[i] := 'U';
break;
default:
pular := 0;
break;
end;
if(pular) then continue;
{condicional composta}
if(str[i] >= '0' and str[i] <= '9') then
begin
str[i] := '9' - (str[i] - '0');
end;
else if(str[i] >= 'a' and str[i] <= 'z') then
begin
str[i] := 'a' + ((str[i] - 'a' + 13) mod 26);
end;
end;
writeln('Resultado é: ', str);
end;
end.
Rattlehead
Post mais votado
20/09/2021
Program Pzim; var str: string; i: integer; begin writeln('Digite um texto para embaralhar/restaurar (sem espaços): '); readln(str); for i := 1 to length(str) do begin {multipla escolha} case(str[i]) of 'A': str[i] := 'E'; 'E': str[i] := 'A'; 'I': str[i] := 'O'; 'O': str[i] := 'I'; 'U': str[i] := 'U'; end; {condicional composta} if((str[i] >= '0') and (str[i] <= '9')) then str[i] := chr(ord('9') - (ord(str[i]) - ord('0'))) else if((str[i] >= 'a') and (str[i] <= 'z')) then str[i] := chr(ord('a') + ((ord(str[i]) - ord('a') + 13) mod 26)); end; writeln('Resultado é: ', str); end.
Emerson Nascimento
Mais Posts
20/09/2021
Emerson Nascimento
mas o que você precisa fazer e qual é a dificuldade?
20/09/2021
Rattlehead
Program Pzim; var str: string; i: integer; begin writeln('Digite um texto para embaralhar/restaurar (sem espaços): '); readln(str); for i := 1 to length(str) do begin {multipla escolha} case(str[i]) of 'A': str[i] := 'E'; 'E': str[i] := 'A'; 'I': str[i] := 'O'; 'O': str[i] := 'I'; 'U': str[i] := 'U'; end; {condicional composta} if((str[i] >= '0') and (str[i] <= '9')) then str[i] := chr(ord('9') - (ord(str[i]) - ord('0'))) else if((str[i] >= 'a') and (str[i] <= 'z')) then str[i] := chr(ord('a') + ((ord(str[i]) - ord('a') + 13) mod 26)); end; writeln('Resultado é: ', str); end.
Show de bola me deu uma luz imensa, desculpa não ter esclarecido direito...
Consigo colocar um vetor tambem pra controlar ?
No meu exercicio pede para ter multipla escolha, repetição, condicional composta, vetor ou matriz
Tava tentando juntar tudo e me perdi no meio :)
no for posso fazer um vetor por exemplo que nem eu estava tentando ?
21/09/2021
Emerson Nascimento
na verdade já está fazendo, porque um tipo string é um vetor de char, tanto que acessa uma letra com str[x].
você só precisará preencher teu vetor, e isto não será possível com readln().
23/09/2021
Rattlehead
na verdade já está fazendo, porque um tipo string é um vetor de char, tanto que acessa uma letra com str[x].
você só precisará preencher teu vetor, e isto não será possível com readln().
Qual eu consigo usar ?
Program Pzim;
var
str: array[1..511] of string;
i: integer;
begin
writeln(''Digite um texto para embaralhar/restaurar (sem espaços): '');
readln(str);
for i := 1 to 511 do
begin
{multipla escolha}
case(str[i]) of
''A'': str[i] := ''E'';
''E'': str[i] := ''A'';
''I'': str[i] := ''O'';
''O'': str[i] := ''I'';
''U'': str[i] := ''U'';
end;
{condicional composta}
if((str[i] >= ''0'') and (str[i] <= ''9'')) then
str[i] := chr(ord(''9'') - (ord(str[i]) - ord(''0'')))
else
if((str[i] >= ''a'') and (str[i] <= ''z'')) then
str[i] := chr(ord(''a'') + ((ord(str[i]) - ord(''a'') + 13) mod 26));
end;
writeln(''Resultado é: '', str);
end.
30/09/2021
Rattlehead
Deu tudo certo no exercicio, estava tão cego em fazer matriz matriz que não tinha visto o que tinha falado antes.
Fiz algumas alterações e show de bola, agradeço!
Program Pzim;
var
str: string; {array[0..10] of char;}
i: integer;
{ a : char; }
begin
writeln(''Digite um texto para embaralhar/restaurar (sem espaços): '');
readln(str);
for i := 1 to 10 do
begin
{multipla escolha}
case(str[i]) of
''A'': str[i] := ''E'';
''E'': str[i] := ''A'';
''I'': str[i] := ''O'';
''O'': str[i] := ''I'';
''U'': str[i] := ''U'';
end;
{condicional composta}
if((str[i] >= ''0'') and (str[i] <= ''9'')) then
str[i] := chr(ord(''9'') - (ord(str[i]) - ord(''0'')))
else
if((str[i] >= ''a'') and (str[i] <= ''z'')) then
str[i] := chr(ord(''a'') + ((ord(str[i]) - ord(''a'') + 13) mod 26));
end;
writeln(''Resultado é: '', str);
end.
Clique aqui para fazer login e interagir na Comunidade :)