Pantoja 5 Denunciar post Postado Setembro 28, 2007 Program minusculo_maiusculo;${APPTYPE CONSOLE}uses sysutils;VARNome,nomeUP: String;Letra: Char;I: integer;Beginwriteln('digite seu nome');readln(nome);for i:= 1 to length(nome) do begin Letra:=upcase(copy(nome,i,1); //aqui é o problema * if i=1 then begin NomeUP:=Letra; end else begin nomeUP:=concat(nomeUP,Letra)); end; end;writeln('O nome digitado em maiúsculo é: ', nomeUP);sleep(3000);end. Olá pessoal de lógica e pascal bele? Seguinte fiz um algoritmo para pegar um nome qualquer minúsculo e trasnformá-lo em maiúsculo em pascal. caso vocês copiem e colem no pascal ou console do Delphi dará incompatibilidade entre char e string* normal tendo em vista que a função upcase serve SOMENTE para char e a função copy somente para string. O que eu quero na verdade é converter 1 caracter em string para char. Uma observação é que não pode ser por Matriz pois meus alunos nestaq ocasião nãon conheciam vetor nem matriz logo não daria para fazer este exercício e quando eu passei ele não me atententei a esse "detalhe". Caso alguém conheça um método de conversão viável fico grato. PS. fiz rapidão o algorítmo acima e não rodei ainda, logo pode ter algum erro de grafia ou até mesmo lógico, peço se alguém achar apontar por gentileza. Valew galera gente boa! Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Setembro 29, 2007 Bom, pode fazer de duas formas, uma fazendo letra por letra, que seria: Program minusculo_maiusculo;uses sysutils;VAR nome: String; i: integer;beginwriteln('digite seu nome');readln(nome);for i:=1 to length(nome) do nome[i]:=upcase(nome[i]);writeln('O nome digitado em maiúsculo é: ' + nome);sleep(3000);end. Ou então usando o comando AnsiUpperCase, ficando muito mais simples... Program minusculo_maiusculo_2;uses sysutils;VAR nome: String;beginwriteln('digite seu nome');readln(nome);nome:=AnsiUpperCase(nome);writeln('O nome digitado em maiúsculo é: ' + nome);sleep(3000);end. Compartilhar este post Link para o post Compartilhar em outros sites
Pantoja 5 Denunciar post Postado Outubro 1, 2007 Bom, pode fazer de duas formas, uma fazendo letra por letra, que seria: Program minusculo_maiusculo;uses sysutils;VAR nome: String; i: integer;beginwriteln('digite seu nome');readln(nome);for i:=1 to length(nome) do nome[i]:=upcase(nome[i]);writeln('O nome digitado em maiúsculo é: ' + nome);sleep(3000);end.Ou então usando o comando AnsiUpperCase, ficando muito mais simples... Program minusculo_maiusculo_2;uses sysutils;VAR nome: String;beginwriteln('digite seu nome');readln(nome);nome:=AnsiUpperCase(nome);writeln('O nome digitado em maiúsculo é: ' + nome);sleep(3000);end. Uma observação é que não pode ser por Matriz pois meus alunos nestaq ocasião nãon conheciam vetor nem matriz logo não daria para fazer este exercício e quando eu passei ele não me atententei a esse "detalhe". Opa Marcio Bele? cara não pode ser por Matriz. O lance dessa função que você passou ai é bacana. Mas tb fugiu o que eu queria mostrar. Letra por letra pelo for. Mas pelo que vi é inviavel mesmo! Valew aee Marcio e a todos que deram uma olhada aqui no Tópico. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Outubro 2, 2007 O lance dessa função que você passou ai é bacana. Mas tb fugiu o que eu queria mostrar. Letra por letra pelo for. Mas pelo que vi é inviavel mesmo!Grande Pantoja, Do jeito que voce quer tem que usar um vetor e uma variável indexando.Não tem como passar caracter por caracter de uma string sem isso, a não ser que voce crie uma função que retorne um caracter de uma string e com uma variável global voce controle o caracter a ser retornado. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Pantoja 5 Denunciar post Postado Outubro 2, 2007 O lance dessa função que você passou ai é bacana. Mas tb fugiu o que eu queria mostrar. Letra por letra pelo for. Mas pelo que vi é inviavel mesmo!Grande Pantoja, Do jeito que voce quer tem que usar um vetor e uma variável indexando.Não tem como passar caracter por caracter de uma string sem isso, a não ser que voce crie uma função que retorne um caracter de uma string e com uma variável global voce controle o caracter a ser retornado. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gifopaaaaaaaaaavalew pela força Kandrade, sabe cara é que eu passei esse exercício antes de ensinar vetor. Na verdade na aula seguinte eu ensinei e disse que com vetor daria para fazer na boua mas que eu ia ver se tinha algum método de conversão que "salvasse" esse exemplo pois ele lógicamente está perfeito. Tirando a incompatibilidade claro.Bem, obrigadmo mais uma vez ao Marcio e a você Kandrade! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif PS. se quiser podem colocar como "RESOLVIDO" Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Outubro 3, 2007 Foi nada Pantoja.Abração cara!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif opaaaaaaaaaavalew pela força Kandrade, sabe cara é que eu passei esse exercício antes de ensinar vetor. Na verdade na aula seguinte eu ensinei e disse que com vetor daria para fazer na boua mas que eu ia ver se tinha algum método de conversão que "salvasse" esse exemplo pois ele lógicamente está perfeito. Tirando a incompatibilidade claro.Bem, obrigadmo mais uma vez ao Marcio e a você Kandrade! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif PS. se quiser podem colocar como "RESOLVIDO" Compartilhar este post Link para o post Compartilhar em outros sites