Dúvida em programa que imprime valores de um intervalo númerico [RESOLVIDO]

1. Dúvida em programa que imprime valores de um intervalo númerico [RESOLVIDO]

Gustavo Ziger
Wayy

(usa Outra)

Enviado em 18/02/2015 - 13:30h

Boa tarde! Estou com um problema para desenvolver um programa em C. Esse programa precisa receber dois valores num intervalo de 0 e 255, mostrar os números dentro desse intervalo e o caractere correspondente na tabela ASCII para cada valor. O problema que não tenho a mínima ideia de como resolver isso. Alguém poderia me ajudar?

Muito obrigado, Gustavo.


  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/02/2015 - 16:21h

guziger escreveu:

Boa tarde! Estou com um problema para desenvolver um programa em C. Esse programa precisa receber dois valores num intervalo de 0 e 255, mostrar os números dentro desse intervalo e o caractere correspondente na tabela ASCII para cada valor. O problema que não tenho a mínima ideia de como resolver isso. Alguém poderia me ajudar?

Muito obrigado, Gustavo.


Cara, você pode tentar o seguinte:

/*
*
* Esse programa precisa receber dois valores num intervalo de 0 e 255,
* mostrar os números dentro desse intervalo
* e o caractere correspondente na tabela ASCII para cada valor.
*
*/

#include <stdio.h>

//simples função de mensagem na tela

void msg(){

printf("Decimal | ASCII \n");
}


int main(void){

int num1, num2, countNum;
char countChar;

printf("Informe dois números dentro do intervalo de 0 à 255: \n");
scanf("%i %i", &num1, &num2);

/* mostrar os números dentro do intervalo digitado
* e o caractere correspondente para cada valor
*/


if(num1 > num2){
msg();
/*Não vamos imprimir o número já digitado,
* apenas a partir dele.
*/
for(countNum = num1; countNum > num2; countNum--){
countChar = countNum;
printf("%i \t| %c \n", countNum, countChar);
}
}

else if(num2 > num1){
msg();
/*Não vamos imprimir o número já digitado,
* apenas a partir dele.
*/
for(countNum = num2; countNum > num1; countNum--){
countChar = countNum;
printf("%i \t| %c \n", countNum, countChar);
}
}


//compilei o programa no Geany, este requer a chamada a return 0;

return 0;
}


Tem outros jeitos de resolver isto, com certeza, caberá a você sempre tentar resolver um problema da maneira mais fácil e rápida possível. É isso.
Grande abraço e bom estudo.


3. Re: Dúvida em programa que imprime valores de um intervalo númerico [RESOLVIDO]

Gustavo Ziger
Wayy

(usa Outra)

Enviado em 18/02/2015 - 16:27h

luiztux escreveu:

guziger escreveu:

Boa tarde! Estou com um problema para desenvolver um programa em C. Esse programa precisa receber dois valores num intervalo de 0 e 255, mostrar os números dentro desse intervalo e o caractere correspondente na tabela ASCII para cada valor. O problema que não tenho a mínima ideia de como resolver isso. Alguém poderia me ajudar?

Muito obrigado, Gustavo.


Cara, você pode tentar o seguinte:

/*
*
* Esse programa precisa receber dois valores num intervalo de 0 e 255,
* mostrar os números dentro desse intervalo
* e o caractere correspondente na tabela ASCII para cada valor.
*
*/

#include <stdio.h>

//simples função de mensagem na tela

void msg(){

printf("Decimal | ASCII \n");
}


int main(void){

int num1, num2, countNum;
char countChar;

printf("Informe dois números dentro do intervalo de 0 à 255: \n");
scanf("%i %i", &num1, &num2);

/* mostrar os números dentro do intervalo digitado
* e o caractere correspondente para cada valor
*/


if(num1 > num2){
msg();
/*Não vamos imprimir o número já digitado,
* apenas a partir dele.
*/
for(countNum = num1; countNum > num2; countNum--){
countChar = countNum;
printf("%i \t| %c \n", countNum, countChar);
}
}

else if(num2 > num1){
msg();
/*Não vamos imprimir o número já digitado,
* apenas a partir dele.
*/
for(countNum = num2; countNum > num1; countNum--){
countChar = countNum;
printf("%i \t| %c \n", countNum, countChar);
}
}


//compilei o programa no Geany, este requer a chamada a return 0;

return 0;
}


Tem outros jeitos de resolver isto, com certeza, caberá a você sempre tentar resolver um problema da maneira mais fácil e rápida possível. É isso.
Grande abraço e bom estudo.


Sensacional! Você sanou todas as minhas dúvidas. Usarei o seu código como base e farei algumas adaptações. De novo, muito obrigado!




4. Re: Dúvida em programa que imprime valores de um intervalo númerico [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 19/02/2015 - 15:31h

Sei que já está marcado como resolvido, mas permitam-me alguns comentários.

GERAIS:

- Normalmente não usamos este espaço para pedir nem para entregar programas prontos. Pessoalmente, acredito que uma das melhores maneiras de aprender é pondo (ou deixando pôr) a mão na massa, procurando limitar o escopo da ajuda apenas a dúvidas específicas.

- O singular relativo ao plural “caracteres” é “caráter”. Escrever “caractere” é coisa de gente mal informada e mal formada (surgida lá pelo final da década de 1980 e início da de 1990, quando se multiplicaram as traduções de livros de Informática, frequentemente feitas por quem não sabia Português -- e muitas vezes também não sabia Informática).

- O ASCII é um padrão de codificação que abrange apenas 128 elementos (0 a 127). Se é para exibir caracteres na faixa de 0 a 255, é errado falar em caráter correspondente na tabela ASCII.

- Existem centenas de variações de tabelas de símbolos que se baseiam no ASCII, modificando-o ligeiramente (substituindo alguns dos símbolos na faixa de 0 a 127) ou estendendo-o, com símbolos em posições a partir de 128. Como tais variações são frequentemente incompatíveis entre si, se o professor espera algum resultado específico, deveria ter indicado qual variação lhe interessa.


DO PROGRAMA MOSTRADO COMO SOLUÇÃO:

- O programa não garante de modo nenhum que os valores recebidos estarão na faixa de 0 a 255. Como isso foi pedido explicitamente no enunciado, penso que deveria haver algum tipo de verificação.

- A conversão forçada por meio de atribuição de countNum a countChar é desnecessária. Na verdade, ela seja ao ponto de ser contraproducente pois, ao colocar countChar como parâmetro de printf(), ele será implicitamente convertido novamente em inteiro (em qualquer chamada a função, todos os argumentos de tamanho menor que o tamanho de int são convertidos para int).

- Além disso (e por causa disso), a conversão “%c” de printf() espera justamente que o argumento correspondente seja do tipo int (e não char).

- Por que o programa não imprime nada quando os dois valores lidos são iguais? Essa arbitrariedade não está no enunciado, e impede um uso que me parece legítimo: usar o programa para saber o caráter univocamente correspondente a um dado valor inteiro.

- Existe duplicação de código nas duas pernas do if. Se você simplesmente trocasse os valores dos limites, caso o último fosse menor que o primeiro, poderia ter escrito a impressão da tabela uma vez só.

- Nem todos os caracteres na faixa 0 a 255 são imprimíveis. Na verdade, alguns deles (nas faixas 0 a 31 e a partir de 127) podem produzir efeitos inesperados e indesejados, dependendo do tipo de hardware, sistema operacional, variáveis de ambiente etc. Até concedo que isso não está no programa porque não está previsto no enunciado, e uma solução absolutamente e universalmente correta seria complicada de fazer. No entanto, dado que isso é um dado do mundo real, o professor poderia aproveitar a ocasião para apresentar tal realidade aos alunos, ou alterar a questão de modo a evitar problemas (por exemplo: limitar a faixa de valores ao intervalo de 32 a 126, em lugar de 0 a 255 -- e mesmo isso tem lá seus problemas).

- O return 0 não é uma exigência do Geany, mas sim do padrão do C (todo programa em C numa implementação self-hosting é obrigado a devolver um valor inteiro; por convenção, geralmente se usa valor de retorno zero para indicar execução com sucesso, e valores não-nulos para indicar erros).


/*
Versão alternativa -- que só está dada de graça para
ilustrar as críticas que fiz, acima.
*/

#include <stdio.h>
#include <ctype.h>

/* #define LOWER_LIMIT 0 */
/* #define UPPER_LIMIT 255 */
#define LOWER_LIMIT 32
#define UPPER_LIMIT 126

int main(void){
int first, last, n;

printf("Informe o primeiro e o último valor da faixa a imprimir: ");
if(scanf("%d%*[^0-9]%d%*[^\n]%*1[\n]", &first, &last)!=2){
fprintf(stderr, "Erro na leitura dos valores.\n");
return 1; /* Não-zero indica erro. */
}

if(
first<LOWER_LIMIT || first>UPPER_LIMIT ||
last<LOWER_LIMIT || last>UPPER_LIMIT
){
fprintf(
stderr, "Erro: valor(es) digitado(s) fora da faixa (%d a %d).\n",
LOWER_LIMIT, UPPER_LIMIT
);
return 1;
}

if(last<first){
/* Coloca limites em ordem crescente. */
n=first;
first=last;
last=n;
}

for(n=first; n<=last; n++)
if(isprint(n))
printf("%3d %c\n", n, n);
else
printf("%3d (não-imprimível)\n", n);

return 0; /* Zero indica execução com sucesso. */
}



5. Re: Dúvida em programa que imprime valores de um intervalo númerico [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/02/2015 - 20:12h

paulo1205 escreveu:

Sei que já está marcado como resolvido, mas permitam-me alguns comentários.

GERAIS:

- Normalmente não usamos este espaço para pedir nem para entregar programas prontos. Pessoalmente, acredito que uma das melhores maneiras de aprender é pondo (ou deixando pôr) a mão na massa, procurando limitar o escopo da ajuda apenas a dúvidas específicas.

- O singular relativo ao plural “caracteres” é “caráter”. Escrever “caractere” é coisa de gente mal informada e mal formada (surgida lá pelo final da década de 1980 e início da de 1990, quando se multiplicaram as traduções de livros de Informática, frequentemente feitas por quem não sabia Português -- e muitas vezes também não sabia Informática).

- O ASCII é um padrão de codificação que abrange apenas 128 elementos (0 a 127). Se é para exibir caracteres na faixa de 0 a 255, é errado falar em caráter correspondente na tabela ASCII.

- Existem centenas de variações de tabelas de símbolos que se baseiam no ASCII, modificando-o ligeiramente (substituindo alguns dos símbolos na faixa de 0 a 127) ou estendendo-o, com símbolos em posições a partir de 128. Como tais variações são frequentemente incompatíveis entre si, se o professor espera algum resultado específico, deveria ter indicado qual variação lhe interessa.


DO PROGRAMA MOSTRADO COMO SOLUÇÃO:

- O programa não garante de modo nenhum que os valores recebidos estarão na faixa de 0 a 255. Como isso foi pedido explicitamente no enunciado, penso que deveria haver algum tipo de verificação.

- A conversão forçada por meio de atribuição de countNum a countChar é desnecessária. Na verdade, ela seja ao ponto de ser contraproducente pois, ao colocar countChar como parâmetro de printf(), ele será implicitamente convertido novamente em inteiro (em qualquer chamada a função, todos os argumentos de tamanho menor que o tamanho de int são convertidos para int).

- Além disso (e por causa disso), a conversão “%c” de printf() espera justamente que o argumento correspondente seja do tipo int (e não char).

- Por que o programa não imprime nada quando os dois valores lidos são iguais? Essa arbitrariedade não está no enunciado, e impede um uso que me parece legítimo: usar o programa para saber o caráter univocamente correspondente a um dado valor inteiro.

- Existe duplicação de código nas duas pernas do if. Se você simplesmente trocasse os valores dos limites, caso o último fosse menor que o primeiro, poderia ter escrito a impressão da tabela uma vez só.

- Nem todos os caracteres na faixa 0 a 255 são imprimíveis. Na verdade, alguns deles (nas faixas 0 a 31 e a partir de 127) podem produzir efeitos inesperados e indesejados, dependendo do tipo de hardware, sistema operacional, variáveis de ambiente etc. Até concedo que isso não está no programa porque não está previsto no enunciado, e uma solução absolutamente e universalmente correta seria complicada de fazer. No entanto, dado que isso é um dado do mundo real, o professor poderia aproveitar a ocasião para apresentar tal realidade aos alunos, ou alterar a questão de modo a evitar problemas (por exemplo: limitar a faixa de valores ao intervalo de 32 a 126, em lugar de 0 a 255 -- e mesmo isso tem lá seus problemas).

- O return 0 não é uma exigência do Geany, mas sim do padrão do C (todo programa em C numa implementação self-hosting é obrigado a devolver um valor inteiro; por convenção, geralmente se usa valor de retorno zero para indicar execução com sucesso, e valores não-nulos para indicar erros).


/*
Versão alternativa -- que só está dada de graça para
ilustrar as críticas que fiz, acima.
*/

#include <stdio.h>
#include <ctype.h>

/* #define LOWER_LIMIT 0 */
/* #define UPPER_LIMIT 255 */
#define LOWER_LIMIT 32
#define UPPER_LIMIT 126

int main(void){
int first, last, n;

printf("Informe o primeiro e o último valor da faixa a imprimir: ");
if(scanf("%d%*[^0-9]%d%*[^\n]%*1[\n]", &first, &last)!=2){
fprintf(stderr, "Erro na leitura dos valores.\n");
return 1; /* Não-zero indica erro. */
}

if(
first<LOWER_LIMIT || first>UPPER_LIMIT ||
last<LOWER_LIMIT || last>UPPER_LIMIT
){
fprintf(
stderr, "Erro: valor(es) digitado(s) fora da faixa (%d a %d).\n",
LOWER_LIMIT, UPPER_LIMIT
);
return 1;
}

if(last<first){
/* Coloca limites em ordem crescente. */
n=first;
first=last;
last=n;
}

for(n=first; n<=last; n++)
if(isprint(n))
printf("%3d %c\n", n, n);
else
printf("%3d (não-imprimível)\n", n);

return 0; /* Zero indica execução com sucesso. */
}


Amigo, sei que errei ao colocar o código pra ele. Não farei de novo. Enfim, errando se aprende.

Porém, você não deveria ter me chamado de mal informado e analfabeto, pelo seu pequeno texto, eu entendi isto e não gostei nenhum pouco. Se não foi sua intenção, é isto que dá a entender. Leia o que você está escrevendo antes de postar.
Digo mais, o singular relativo ao plural “caracteres” é “caráter”??? Tem certeza disso? Então por favor, leia isso: http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portugues-portugues&palavra=carac... e isso http://aurelio.net/blog/2006/09/17/caractere-curinga/ (se você não conhece o Aurélio sugiro a leitura). A não ser que você seja português, desconsidere isso.
Nas demais correções de código, concordo contigo. Mas o próprio usuário informou que iria modificá-lo para seus propósitos.

Passar bem.




6. Re: Dúvida em programa que imprime valores de um intervalo númerico [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 23/02/2015 - 02:48h

Prezado luiztux,

Meu comentário não foi dirigido a nenhuma pessoa específica nem foi condenatório. Em particular, a forma que eu usei para tratar a questão do pedido de código pronto foi dizer como normalmente se procede, e por que motivo eu pessoalmente acredito que essa forma é melhor.

Com relação a questão caráter/caractere, peço que você, com calma, siga sua própria sugestão de ler antes de postar. Eis algumas razões para tal:

- Eu não usei a palavra “analfabeto” em momento nenhum do meu texto. Você tem o direito -- e tem, mesmo! -- de se ofender com qualquer coisa que eu disser ou escrever, mas não deve colocar palavras estranhas na minha boca ou nos meus textos, e depois me julgar com base no que eu não disse.

- Eu nem mesmo tinha reparado que você usou a palavra “caractere” nos comentários do seu programa. Na verdade, minha crítica era por causa do texto do enunciado da questão (que, por sinal, eu critiquei também por outras razões).

- Eu sei do uso corrente da forma “caractere”, tanto que eu mesmo disse de onde surgiu esse neologismo, em detrimento da forma clássica do Português usado no Brasil (mas admito que errei na data: o jargão “caractere” é da década anterior, i.e. anos 1970, e não 1980, como eu supunha).

- Antes de tudo, a má informação e a má formação se aplicam a quem criou o tal neologismo, cujos usuários modernos muitas vezes estão mais na condição de vítimas, que repetem o erro inicial por imitação (como eu disse anteriormente, ele é fruto da adoção em massa de traduções feitas por gente que não tinha o devido conhecimento da língua, e muitas vezes ignorava também o assunto tratado no material que traduzia).

- Não sei quantos anos você tem, mas eu vivi a época de transição entre literatura de Informática quase exclusivamente em Inglês para a fase em que era difícil conseguir nas lojas a edição original que servira de base para a tradução mal-feita. Algumas traduções eram ruins de amargar (eu cheguei a jogar um livro que tinha comprado no lixo -- sem exagero --, de tão ruim que era). Hoje, a coisa melhorou significativamente.

- Eu sei que línguas são entes dinâmicos. Entretanto, eu sou, sim, um conservador no que diz respeito a línguas. Talvez seja somente questão de gosto, mas muitos neologismos, por mais difundidos que sejam ou quanto tenham sido incorporados ao jargão da nossa área, são simplesmente hediondos (pior do que o “caractere” no lugar do “caráter”, por exemplo, são “gerenciar” e “gerenciamento” no lugar de “gerir” e “gestão”, ou “aprovisionar” e “aprovisionamento” no lugar de “prover” e “provisão”).

- Se você fizer o caminho reverso do que sugeriu que eu fizesse (i.e. buscar “caráter” no mesmo dicionário Michaelis on-line), verá que a primeira acepção diz “figura usada na escrita”; uma definição concisa e precisa e, ao mesmo tempo, suficientemente genérica para abranger tanto as marcas feitas em papel quanto as que se desenham na tela de um microcomputador.

- Por outro lado, a definição de “caractere” no mesmo dicionário é vaga e imprecisa, flertando abertamente com o erro puro e simples, mesmo limitando o escopo apenas à área de Informática. Pior: a complementação de “qualquer tipo de notação” lista explicitamente apenas “dígito numérico, letra ou símbolo”, deixando de fora justamente aquilo que poderia fazer diferença entre um “caractere” e uma “figura usada na escrita”: os códigos não-imprimíveis usados para controle (aliás, a 12ª impressão -- em papel, aparentemente de 1975 -- do Dicionário Aurélio da Língua Portuguesa, publicado pela Editora Nova Fronteira, vai exatamente pelo mesmo caminho, embora ainda chamasse de “processamento de dados” aquilo a que hoje nos referimos como “Informática”).

- Os exemplos de uso do mesmo verbete no Michaelis são casos à parte de mau uso e definição imprecisa e errônea. Leia com calma e faça uma crítica racional da explicação de “caractere curinga” e “caractere reservado”, e veja se eu não tenho razão em dizer, agora, que mesmo a presença de uma palavra num dicionário não é garantia de qualidade e precisão da informação.

- O outro site que você indicou, de um certo Aurélio, pode até ser bom (não li outros assuntos), mas o que ele diz sobre a forma pretensamente correta de dizer “caráter curinga” é também, no máximo, advocacia de gosto pessoal, ancorada numa bibliografia que casualmente amparava uma tese decidida a priori (se ele tivesse, como nós aqui, usado o Michaelis ou o Aurélio, talvez o sentido da demonstração tivesse de ser outro). Há também erros, como o de dizer que certas formas não existem, só porque ele possivelmente não achou onde procurou. Por exemplo: “carácter” é _a_ forma usada em Portugal, e está em todos os dicionários que tenham o cuidado de olhar para o Velho Continente. Por outro lado, quando eu era estudante, aqui no Rio, ninguém que eu conhecesse falava nem “caráter” nem “caractere”, mas todos falavam “caracter” (oxítono e com vogal aberta). Aliás, todos os que conheço da minha geração ainda falam desse jeito, sendo eu o único que de que tenho notícia de que voltou à ortografia aprendida na sétima série. Não que eu abrace a tese, mas, se a “língua é viva”, quem pode dizer que algo não existe ou que é errado, só porque (ainda) não o conhece?


7. Re: Dúvida em programa que imprime valores de um intervalo númerico [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/02/2015 - 13:41h

paulo1205 escreveu:

Prezado luiztux,

Meu comentário não foi dirigido a nenhuma pessoa específica nem foi condenatório. Em particular, a forma que eu usei para tratar a questão do pedido de código pronto foi dizer como normalmente se procede, e por que motivo eu pessoalmente acredito que essa forma é melhor.

Com relação a questão caráter/caractere, peço que você, com calma, siga sua própria sugestão de ler antes de postar. Eis algumas razões para tal:

- Eu não usei a palavra “analfabeto” em momento nenhum do meu texto. Você tem o direito -- e tem, mesmo! -- de se ofender com qualquer coisa que eu disser ou escrever, mas não deve colocar palavras estranhas na minha boca ou nos meus textos, e depois me julgar com base no que eu não disse.

- Eu nem mesmo tinha reparado que você usou a palavra “caractere” nos comentários do seu programa. Na verdade, minha crítica era por causa do texto do enunciado da questão (que, por sinal, eu critiquei também por outras razões).

- Eu sei do uso corrente da forma “caractere”, tanto que eu mesmo disse de onde surgiu esse neologismo, em detrimento da forma clássica do Português usado no Brasil (mas admito que errei na data: o jargão “caractere” é da década anterior, i.e. anos 1970, e não 1980, como eu supunha).

- Antes de tudo, a má informação e a má formação se aplicam a quem criou o tal neologismo, cujos usuários modernos muitas vezes estão mais na condição de vítimas, que repetem o erro inicial por imitação (como eu disse anteriormente, ele é fruto da adoção em massa de traduções feitas por gente que não tinha o devido conhecimento da língua, e muitas vezes ignorava também o assunto tratado no material que traduzia).

- Não sei quantos anos você tem, mas eu vivi a época de transição entre literatura de Informática quase exclusivamente em Inglês para a fase em que era difícil conseguir nas lojas a edição original que servira de base para a tradução mal-feita. Algumas traduções eram ruins de amargar (eu cheguei a jogar um livro que tinha comprado no lixo -- sem exagero --, de tão ruim que era). Hoje, a coisa melhorou significativamente.

- Eu sei que línguas são entes dinâmicos. Entretanto, eu sou, sim, um conservador no que diz respeito a línguas. Talvez seja somente questão de gosto, mas muitos neologismos, por mais difundidos que sejam ou quanto tenham sido incorporados ao jargão da nossa área, são simplesmente hediondos (pior do que o “caractere” no lugar do “caráter”, por exemplo, são “gerenciar” e “gerenciamento” no lugar de “gerir” e “gestão”, ou “aprovisionar” e “aprovisionamento” no lugar de “prover” e “provisão”).

- Se você fizer o caminho reverso do que sugeriu que eu fizesse (i.e. buscar “caráter” no mesmo dicionário Michaelis on-line), verá que a primeira acepção diz “figura usada na escrita”; uma definição concisa e precisa e, ao mesmo tempo, suficientemente genérica para abranger tanto as marcas feitas em papel quanto as que se desenham na tela de um microcomputador.

- Por outro lado, a definição de “caractere” no mesmo dicionário é vaga e imprecisa, flertando abertamente com o erro puro e simples, mesmo limitando o escopo apenas à área de Informática. Pior: a complementação de “qualquer tipo de notação” lista explicitamente apenas “dígito numérico, letra ou símbolo”, deixando de fora justamente aquilo que poderia fazer diferença entre um “caractere” e uma “figura usada na escrita”: os códigos não-imprimíveis usados para controle (aliás, a 12ª impressão -- em papel, aparentemente de 1975 -- do Dicionário Aurélio da Língua Portuguesa, publicado pela Editora Nova Fronteira, vai exatamente pelo mesmo caminho, embora ainda chamasse de “processamento de dados” aquilo a que hoje nos referimos como “Informática”).

- Os exemplos de uso do mesmo verbete no Michaelis são casos à parte de mau uso e definição imprecisa e errônea. Leia com calma e faça uma crítica racional da explicação de “caractere curinga” e “caractere reservado”, e veja se eu não tenho razão em dizer, agora, que mesmo a presença de uma palavra num dicionário não é garantia de qualidade e precisão da informação.

- O outro site que você indicou, de um certo Aurélio, pode até ser bom (não li outros assuntos), mas o que ele diz sobre a forma pretensamente correta de dizer “caráter curinga” é também, no máximo, advocacia de gosto pessoal, ancorada numa bibliografia que casualmente amparava uma tese decidida a priori (se ele tivesse, como nós aqui, usado o Michaelis ou o Aurélio, talvez o sentido da demonstração tivesse de ser outro). Há também erros, como o de dizer que certas formas não existem, só porque ele possivelmente não achou onde procurou. Por exemplo: “carácter” é _a_ forma usada em Portugal, e está em todos os dicionários que tenham o cuidado de olhar para o Velho Continente. Por outro lado, quando eu era estudante, aqui no Rio, ninguém que eu conhecesse falava nem “caráter” nem “caractere”, mas todos falavam “caracter” (oxítono e com vogal aberta). Aliás, todos os que conheço da minha geração ainda falam desse jeito, sendo eu o único que de que tenho notícia de que voltou à ortografia aprendida na sétima série. Não que eu abrace a tese, mas, se a “língua é viva”, quem pode dizer que algo não existe ou que é errado, só porque (ainda) não o conhece?

paulo1205, não quero ficar discutindo contigo, senão um de nós pode ser banido daqui e não quero isso. Além do mais este espaço não é para isto. Mas como escrevi, eu entendi que, da forma que você colocou, fui chamado de analfabeto. Eu disse: eu entendi. Se você não quis dizer isso, problema seu, se eu entendi errado, problema meu, acaba aqui. Ponto.

Deixando esta conversa de lado, realmente sugiro a leitura do Aurélio Jargas. Creio que muitas pessoas aqui do VOL possam dizer o mesmo. Pelo teu código acima, percebi que gosta de expressões regulares. Não por nada, mas o Aurélio deu um grande passo aqui no Brasil para difundir o conhecimento sobre elas.









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts