Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
estou com três exercicio q ñ estou compreendendo lavai o primeiro
Ler uma palavra e se ela começar pela letra L ou D (também deve ser considerado l ou d) e formar uma nova palavra
que terá os dois primeiros caracteres e o último; caso contrário a nova palavra será formada pelo por todos os
caracteres menos o primeiro.
como faço isso???
é.... dá para dar um nó na cabeça de quem ta começando mesmo.
mas nao é tao dificil quanto parece amigo.
Você vai ter que pensar asssim...
primeiro... como detecto a primeira letra?
bem, posso usar o proprio vetor STRING como fez o Quizzaum ou copiar a primeira letra e verificar ela separasamente com a função copy.
tipo Letra:=Copy(palavra,1,1)
BEGIN
Letra := UPCASE(LETRA);
if letra = 'L' ou Letra = 'D' Then
Writeln('A primeira letra da palavra é L ou D')
Else
Writel('A priemria Letra NAO é nem L nem D com certeza!');
Amigo fiz a base de raciocinio... você precisará por isso em pratica e ver a seguda parte do problema tb.
Abração
eu ñ to achando dificil o problema é como atrbuir um limite de caracter no visualig
caso fosse
colocaria
letrar : caracter [1] {so q esta dando erro ne [1] e ai o q eu faço pra limitar a quantidade de caracter no visualig}
outra coisa M e m no visualig ñ si diferencia a ñ ser quando quer encontra o mair entre eles
a declaração em Portugol de uma cadeia de caracteres é feita assim:
caracter letra[3];e ja q naum diferencia maiscula de minuscula fica + facil entaum!
[]'s
no visualig ñ esta dando certo
Em portugol a declaracão de um vetor de caracteres é feita assim:
nome: vetor [1..20] de caracter
temos então 20 variáveis com o mesmo nome sendo diferenciadas pelo índice:
nome[1]
nome[2]
.
.
.
nome[20]
Não sei se funciona no Visualg, mas é assim que deveria ser.
isso eu sei, eu ñ estou conseguindo é ler uma palavra e indetificar apenas a primeira letra
tenho q fz um programa q leia uma palavra se ela iniciar com l ou d formar uma nova palavra
>
Em portugol a declaracão de um vetor de caracteres é feita assim:
nome: vetor [1..20] de caracter
temos então 20 variáveis com o mesmo nome sendo diferenciadas pelo índice:
nome[1]
nome[2]
.
.
.
nome[20]
Não sei se funciona no Visualg, mas é assim que deveria ser.
TCHE você q meche com visualg me diga c existe alguma função para "medir" o tamanho da variavel e retornar em um valor inteiro, caso exista é facil fazer, jah c naum existir você tem q fazer algo assim:
Escreva("Digite a quantidade de letras da palavra: ");
Leia(qnt_letras_palavra);
Para i de 0 até qnt_letras_palavra-1 faça
Leia (palavra[i]);
fim_para
Se (palavra[0] = "L" ou palavra[0] = "D") então
//
// agora é com você ^^
//
[]'svelho eu achei isso aqui
CODE
var
y, X : inteiro
palavra : caracter
inicio
leia (palavra)
x := compr(palavra)
y := asc(palavra)
fimalgoritmo
onde eu digitei:YQJZW
x resultou em 5
y resultou em 89
o X deu ate pra entender ele conta quantas letras tem mais y com o comando asc num entendi
bom o compr entaum parece trazer o tamanho da variavel!
e o asc(); traz o valor em ascii do caracter! consulte a tabela ASCII para ver melhor sobre isso!
89 é o código ascii em decimal da letra Y.
o X deu ate pra entender ele conta quantas letras tem mais y com o comando asc num entendi
entao agora fica mais facil, ja voltou com a resposta
var
y: inteiro
palavra : caracter
inicio
leia (palavra)
y := asc(palavra)
se (y = 76) ou (y = 68) ou (y = 100) ou (y = 108) entao
escreva ("ladrao")
senao
escreva ("X") { e agora o q faço aqui}
fimse
fimalgoritmo
oq você naum sabe fazer?
senao formar uma nova palavra com os caracter menos com o primeiro
oq você naum sabe fazer?
ao mew entender é pra você montar uma palavra tirando a primeira letra, soh isso!
oq tem q fazer é passar letra por letra para uma outra variavel caracter sendo q começa a pegar a partir da segunda letra q seria [1] pois [0] é a primeira letra!
[]'s
como eu posso fazer pra ler uma palavra e excluir a primeira letra da mesma so fata isso
var
y: inteiro
palavra, p, a: caracter
inicio
leia (palavra)
y := asc(palavra)
p := carac(y)
se (p = "D") ou (P = "d") ou (p = "L") ou (p = "l") entao
escreva ("ladrao")
senao
a := (palavra - p) {da erro nessa parte, ao tentar tirar o primeiro caracter}
escreva (a)
fimse
fimalgoritmo
em um laço 'para' você passa as letras assim:
para i de 1 até compr(palavra)-1 faça
palavra_nova[i-1] <- palavra[i]
fim_para
velho no visualg ta mal, vou deixar esse pra fazer no pascal quando estiver aprendendo crei q tenha mais recurso pra elaborar isto
claro q você opta por aprender a linguagem q quiser seguir depois de Portugol!
+ eu te aconselho em dar uma repensada em Pascal ou C!
pq depois q você aprender C você aprende Java e terá facilidade nos programas!
+ como disse você q decide neh! =p
>
claro q você opta por aprender a linguagem q quiser seguir depois de Portugol!
+ eu te aconselho em dar uma repensada em Pascal ou C!
pq depois q você aprender C você aprende Java e terá facilidade nos programas!
+ como disse você q decide neh! =p
acho essa ordem sua PERFEITA!
mas ja vi gente aprender C logo como primeira linguagem ou ate mesmo JAVA!
tem cada doidao ai que ta loko!
o de letras é facil você declara um vetor de caracteres, depois q você lew você faz as condições assim:
se (palavra[0] = 'L' ou palavra[0] = 'D' ou palavra[0] = 'l' ou palavra[0] = 'd') então
.
.
fim_se