Sequencia de numeros!

P4rthen0n

Power Member
Processamento de caracteres

Pretende-se construir um programa, bem estruturado, que processe qualquer sequência de caracteres provenientes do teclado, tomando para análise todos aqueles que sejam encontrados até à primeira ocorrência de um determinado símbolo, escolhido prévia e interactivamente pelo utilizador final, ao qual será exigida a confirmação desse mesmo símbolo.

Do processamento deverão resultar as seguintes informações, a afixar no ecrã:

* O maior número inteiro que será possível formar com todos os algarismos que figurem na sequência de caracteres introduzida e o respectivo número de algarismos significativos, ou, conforme o caso, outras indicações apropriadas;

* O menor número inteiro que será possível formar com todos os algarismos que figurem na sequência de caracteres introduzida e o respectivo número de algarismos significativos, ou, conforme o caso, outras indicações apropriadas.

Todas as mensagens para o utilizador, incluindo as da afixação dos resultados, deverão ser frases completas e tão claras quanto possível, não pressupondo, da parte do utilizador, qualquer conhecimento prévio do enunciado do problema.

Mais um trabalho que não sabemos como fazer!! :(

Dicas ou sugestões?
 
E qual é a linguagem? Bem, mas pelo enunciado, tens que pensar primeiro antes de tentar programar, porque o programa implica alguma matemática, também tive uns assim em Programação em C.
 
Heyas all....

Bem se eu percebi isto como deve ser...acho o enunciado uma beca para o confuso...mas pronto...

* O maior número inteiro que será possível formar com todos os algarismos que figurem na sequência de caracteres introduzida e o respectivo número de algarismos significativos, ou, conforme o caso, outras indicações apropriadas;

Isto é fácil...pegam num vector com todos os números que leram...fazem-lhe um sort do maior para o menor (ordenam já devem ter dado os algoritmos quicksort e bubblesort) e esse é o vosso maior inteiro...em relação aos algarismos significativos...essa é que eu não percebi....mas como o maior número inteiro nunca começa por zero...portanto o número de algarismos nesse número é o número de algarismos significativos...(espero que tenham percebido...)


* O menor número inteiro que será possível formar com todos os algarismos que figurem na sequência de caracteres introduzida e o respectivo número de algarismos significativos, ou, conforme o caso, outras indicações apropriadas.

Este aqui é precisamente o contrário..ordenam por ordem crescente o vector....e tá a andar...agora já sabem que o número 0 não é algarismo significativo....espero que saibam isto...

Em relação às outra "indicações apropriadas" não faço a mínima ideia...já parece o asdwq dw utya do meu prof de física 3, quer que expliquemos porque é que 1+1 = 2....mas pronto...

Espero ter ajudado..hasta all [[]]

PS: A linguagem é Pascal...
 
Lancaster disse:
Heyas all....

Bem se eu percebi isto como deve ser...acho o enunciado uma beca para o confuso...mas pronto...



Isto é fácil...pegam num vector com todos os números que leram...fazem-lhe um sort do maior para o menor (ordenam já devem ter dado os algoritmos quicksort e bubblesort) e esse é o vosso maior inteiro...em relação aos algarismos significativos...essa é que eu não percebi....mas como o maior número inteiro nunca começa por zero...portanto o número de algarismos nesse número é o número de algarismos significativos...(espero que tenham percebido...)




Este aqui é precisamente o contrário..ordenam por ordem crescente o vector....e tá a andar...agora já sabem que o número 0 não é algarismo significativo....espero que saibam isto...

Em relação às outra "indicações apropriadas" não faço a mínima ideia...já parece o asdwq dw utya do meu prof de física 3, quer que expliquemos porque é que 1+1 = 2....mas pronto...

Espero ter ajudado..hasta all [[]]

PS: A linguagem é Pascal...

antes precisam de separar para uma string auxiliar os algarismos... para ignorarem os caracteres... ou terei percebido mal o enunciado?
 
Vamos precisar de pedir ao utilizador por um caracter que sirva como limite da sequencia de caracteres!!

do tipo

tatata99*fshjfduisfhlsj123*

ou seja, ele só lê o k está entre os ** e o maior numero será 321, o menor será 123 e serão 3 algarismos significativos!!!

[[]]
 
eu faria da seguinte maneira.

num ciclo
1 - avaliava o primeir caracter da string.
2- metia na string dos numeros caso fosse algarismo.
3 - saia caso fosse o simbolo escolhido.

depois ordenava os caracteres da string algarismos, dos dois modos necessarios para obter o maior numero e menor numero.

nota: para ordenar... usem o valor ASCII
 
SwimmerBoy disse:
Vamos precisar de pedir ao utilizador por um caracter que sirva como limite da sequencia de caracteres!!

do tipo



ou seja, ele só lê o k está entre os ** e o maior numero será 321, o menor será 123 e serão 3 algarismos significativos!!!

[[]]
Penso que não estejas a ler bem o enunciado.
O utilizador apenas irá introduzir uma vez o "*", se o o caracter escolhido pelo utilizador como o delimitador.
Ou seja, se o caracter delimitador for o "*", então temos por exemplo:

"ocaganamata1eu2mgr3anderabao*", e termina a introdução dos dados ao introduzir o "*".
Depois tens que procurar na string os caracteres do tipo number e guarda-los numa variável, do tipo string. Ordenas essa string em 2 variáveis distintas, onde uma terá a ordem crescente, e a outra terá a ordem decrescente.
Depois apresentas ao utilizador uma frase pipi a indicar a mensagem que ele introduziu; da mensagem que introduziu os algarismos encontrados foram xxx; o maior nº inteiro é o x, e o menor nº inteiro é o y.

Só não percebi: "o respectivo número de algarismos significativos". :(
 
Feiticeiro disse:
Penso que não estejas a ler bem o enunciado.
O utilizador apenas irá introduzir uma vez o "*", se o o caracter escolhido pelo utilizador como o delimitador.
Ou seja, se o caracter delimitador for o "*", então temos por exemplo:

"ocaganamata1eu2mgr3anderabao*", e termina a introdução dos dados ao introduzir o "*".
Depois tens que procurar na string os caracteres do tipo number e guarda-los numa variável, do tipo string. Ordenas essa string em 2 variáveis distintas, onde uma terá a ordem crescente, e a outra terá a ordem decrescente.
Depois apresentas ao utilizador uma frase pipi a indicar a mensagem que ele introduziu; da mensagem que introduziu os algarismos encontrados foram xxx; o maior nº inteiro é o x, e o menor nº inteiro é o y.

Só não percebi: "o respectivo número de algarismos significativos". :(
Isso é apra o caso de teres posto algo como "o0caganamata1eu20mgr3anderabao*", neste caso o primeiro zer não conta, visto que não é um algarismo significativo.
Ou seja, quando tivessemos que dizer o número de algarismos significativos, diriamos que era o 1, o 2, o 0 e o 3 (4 no total).
 
A minha contribuição, já que o Swimmerboy foi o tipo q me vendeu a anterior palca grafica (lembras-te da MX440? - ainda funciona lol) e deu-me a ideia que ja q sabes a linguagem é pq tb tas a fazer esse trabalho :) :

O que é um algarismo significativo:
é o número de digitos de um número MEDIDO EXPERIMENTALMENTE sobre os quais temos a certeza... por exemplo: tipo temos uma balança digital, pesamo-nos e temos 76,0 kilos, no mostrador... temos 3 algarismos significativos.. ok...MAS pode ser 76,045657 e não sabemos pq a balança não tem divisões no mostrador q nos indiquem isso... ok continuando:


mas um número não medido experimentalmente é.. infinitamente preciso: 3 É 3 aqui ou na china, não é 3,00000000000000011

Um numero por si só é o número... algarismos significativos INFINITOS!! Logo, o teu professor não percebe grande coisa de algortitmos significativos e não tinha nada q fazer essa pergunta a menos que indicasse EXPLICITAMENTE que eram numeros assim ou assado medidos numa experiencia com esta ou aquela precisão...

peço desculpa ao senhor se estiver a ler isto, mas é a verdade...

PS: Lol editei e pus mais suave :P
 
Última edição:
Andr0m3da disse:
eu faria da seguinte maneira.

num ciclo
1 - avaliava o primeir caracter da string.
2- metia na string dos numeros caso fosse algarismo.
3 - saia caso fosse o simbolo escolhido.

depois ordenava os caracteres da string algarismos, dos dois modos necessarios para obter o maior numero e menor numero.

nota: para ordenar... usem o valor ASCII
é isto...



0123456789
 
Zeppel disse:
peço desculpa ao senhor se estiver a ler isto, mas é a verdade...

Realmente o prof foi um bocado bronco....quis se armar em esperto e saiu-se mal....de resto já foi tudo dito. Boa sorte a bater codigo que isso em pascal tem de se fazer tudo à lá pata né?

Há libraries em pascal? Ja nem me lembro...
 
Andr0m3da disse:
eu faria da seguinte maneira.

num ciclo
1 - avaliava o primeir caracter da string.
2- metia na string dos numeros caso fosse algarismo.
3 - saia caso fosse o simbolo escolhido.

depois ordenava os caracteres da string algarismos, dos dois modos necessarios para obter o maior numero e menor numero.

nota: para ordenar... usem o valor ASCII

Exactamente, apenas com a excepção que se pode evitar a ordenação no fim, caso a inserção seja ordenada ...
 
Ppl....mas como fazem para contar os numeros a subir (1234) e os numeros a descer (4321)?!

Alguem tem coragem para colocar uma parte do programa em vez de dar ideias de estrutura?! É k estrutura já tá mais k feita...o pior de tudo é mm o código!!!

[[]]
 
epa, primeiro eu pessoalmente n sou adepto dos outros fazerem as coisas por ti, uma coisa é ajudar outra é fazer pelos outros.

tens a estrutura, tens como fazer...

alem disso já te disse como ordenas os numeros... q queres mais?
 
SwimmerBoy disse:
Ppl....mas como fazem para contar os numeros a subir (1234) e os numeros a descer (4321)?!

Alguem tem coragem para colocar uma parte do programa em vez de dar ideias de estrutura?! É k estrutura já tá mais k feita...o pior de tudo é mm o código!!!

[[]]

Tu supostamente tens os números num vector(array) certo? O delphi não tem uma função para ver o tamanho do vector?? Se tem é fácil...

Outra maneira de o fazeres...é contares quando os lês...quando os estás a separar das letras...tb dá por aí...

Hasta all [[]]

PS: E como disse o Andr0m3da acho muito bem que não ponham o código porque se o puserem...tens o trabalho feito. Não aprendes nada...
PS2: Não deve ser a estrutura...deves querer dizer que é o algoritmo quejá está feito..
 
Andr0m3da disse:
epa, primeiro eu pessoalmente n sou adepto dos outros fazerem as coisas por ti, uma coisa é ajudar outra é fazer pelos outros.

tens a estrutura, tens como fazer...

alem disso já te disse como ordenas os numeros... q queres mais?

Há disseste?? Onde??

[[]]

PS-o programa tá +/- a avançar.... mas ainda falta umas coisitas!!!
 
eu num post anterior escrevi.

"nota: para ordenar... usem o valor ASCII"

n leste... azar...pa um gajo pedir ajuda, ter a ajuda...e nao a ler como deve de ser...
 
Back
Topo