thegoodfellas/blogset-br huggingface dataset:
{ preencher(letra, i); //preenchendo a letra na posicao acertos++; //acumulando os acertos, letras que ja foram descobertas acerto=true; //quer dizer que a letra escolhida aparece na palavra } if(strlen(palavra)-1==i && !acerto) //na ultima letra se nao teve nenhum acerto { erros++; //acumula o numero de errros desenha_parte(erros); //desenha a parte correspondente ao erro } } getchar(); //tava capturando algo desnecessario, coloquei ai para pegar if(erros==6){acabou=true; cleardevice(); outtextxy(50,50,"Enforcado! MUAHAHAHAHAHA"); outtextxy(50,70, palavra);} if(acertos==strlen(palavra)){acabou=true; cleardevice(); outtextxy(50,50,"Voce venceu... Como pode??? AHHHHHHHH!");} } system("pause"); //esperando o pressionamento de uma tecla qualquer pelo usuario closegraph(); //fechando a tela da parte grafica return 0; }
Como falei no post anterior, agora vou mostrar algumas funcoes basicas e seu funcionamento e deixarei um exemplo de plotador de grafico.Funcoes do Exemploinitwindow(x,y) -> abre tela com um determinado tamanho.moveto(x,y) -> move, o que seria seu cursor, para um determinado ponto da telalineto(x,y) -> desenha uma linha do ponto onde estaria seu cursor ate o definido por voce.setcolor(numero_cor) -> coloca uma cor para a linha que voce desenhar.closegraph() -> fecha a tela dos graficos.getx() -> retorna a posicao atual de x.gety() -> retorna a posicao atual de y.Outras Funcoes arc (x, y , anguloini, angfim, raio) -> desenha um arco num ponto definido com angulo inicial, final e raio.circle (x, y, raio) -> desenha um circulo no ponto definido com um determinado raio. rectangle (x, y, largura, altura) -> faz um retangulo saindo da posicao inicial com uma determinada largura e altura. cleardevice() -> apaga toda a tela do grafico.line (xo, yo, xf, yf) -> Desenha uma linha desde os ponto incial ate o ponto final. setbkcolor (numero_cor) -> coloca uma cor de fundo na tela.getbkcolor () -> pega a cor de fundo da tela. getpixel (x, y) -> retorna a cor de um pixel da tela na posicao desejada.outtext (texto) -> Desenha uma palavra na tela do grafico comecando na posicao atual.outtextxy (x, y, texto) -> Desenha uma palavra na tela do grafico comecando na posicao desejada.Algumas fontes: NIMEP: Universidade Metodista de Piracicaba Universidade Federal do Rio de Janeiro Ai embaixo um codigo que desenha (plota) uma reta de 1o Grau dados os valores de a e b: #include <graphics.h> #include <stdio.h> int a,b,i; int x1,y1,x2,y2; int main() { initwindow(400,300); //abrindo tela para a parte grafica do programa com tamanho 400x300 (Pixels) //tracando os dois eixos de branco (cor padrao, porque eu nao defini) moveto(200,150); //vou pro centro lineto(300,150); //faco um traco a direita moveto(200,150); //vou pro centro lineto(100,150); //faco um traco a esquerda moveto(200,150); //vou pro centro lineto(200,250); //faco um traco pra baixo moveto(200,150); //vou pro centro lineto(200,50); //faco um traco pra cima //voltando ao centro moveto(200,150); //escolhendo a cor verde para diferenciar dos eixos setcolor(2); //coletando os valores de x e y printf("Digite os valores de a (coeficiente angular) e b (coeficiente linear):"); scanf("%d",&a); scanf("%d",&b); printf("\nPontos gerados pela funcao f(x) = %dx + %d (x,y):\n\n",a,b); //tracando pontos com valores de x variando de -20 a 20, mesmo que o intevalo fechado [-20,20] for(i=-20; i<=20; i++) //lembrando que uma reta e a uniao de infinitos pontos, no nosso caso um segmento de reta de x=-20 a x=20 { x1 = i; //valor do x nesse ponto y1 = a*x1 + b; //valor do y nesse ponto if(i==-20) //primeiro ponto { moveto(200+x1,150-y1); //move para onde sera o primeiro ponto (retorna a origem) //*em x eu acrescento e em y eu subtraio, pois para um valor maior de x ele vai crescer para a direita, ja o y cresce para baixo } else { lineto(getx()-x2+x1,gety()+y2-y1); //em cada cordenada tira-se e depois acrescenta a variacao para chegar ao proximo ponto com uma reta } y2 = y1; //y2 recebe o ultimo valor
de y1 para poder retirar a variacao e plotar o proximo ponto x2 = x1; //x2 recebe o ultimo valor de y1 para poder retirar a variacao e plotar o proximo ponto printf("\n(%d,%d)",x1,y1); } system("pause"); //esperando o pressionamento de uma tecla qualquer pelo usuario closegraph(); //fechando a tela da parte grafica return 0; }Em breve faco outro post com algumas funcoes a mais e um outro exemplo.
Ola, finalmente conseguir arrumar o padrao do meu teclado!Entao vamos ao ponto, queremos fazer nosso primeiro programa em JAVA! Primeiramente precisamos do JDK, ou Java Development Kit, que e o pacote que nos permite acessar os recursos para programacao em JAVA, e tambem e bom uma IDE, como o Netbeans e Eclipse, existem outros, mas esses sao os mais conhecidos. Se voce quiser usar um Notepad, VIM, no caso de usuarios do Windows, ou entao um gedit, VIM, para usuarios Linux seja qual for a distribuicao, voce nao tera problemas.REQUISITOSJDK + Netbeans download aquiVIM download aquiPara usuarios Linux basta ir no repositorio usando um apt-get, no caso da distribuicao Ubuntu:sudo apt-get install netbeansousudo apt-get install eclipseou sudo apt-get install vimEstou considerando que voces ja tenham o JDK instalando antes de tudo, e so ir no site da SUN que la voces encontram os pacotes necessariosProgramacaoA programacao em JAVA e um pouco diferente de C, levando em conta que aqui eu mostrarei a parte de JAVA orientado a objetos. Mas as nocoes sao praticamente as mesmas na essencia. Em C usamos o #include <nome_do_pacote.h> quando queremos importar algum pacote que seja necessario para nosso programa, em JAVA usamos o seguinte comando: import nome_do_pacote. Existe um pacote que e desnecessario a importacao, que no caso e o java.Lang, nele podemos operar com todo o "pacote basico" da linguagem C, como entrada e saida padrao, e tambem com funcoes matematicas!!!Enfim, neste programa nao precisaremos importar nenhum pacote, portanto explicacao sobre outros pacotes deixarei para os proximos post, onde explicarei mais afundo sobre JAVA orientado a objetos.Acho que nao sera necessario explicar sobre determinadas coisas, ja que ja foi dito sobre isso no meu post anterior: meu primeiro programa em C. Caso nao tenha visto, va para a primeira pagina, foi o primeiro post do blog.Algumas coisas precisam ser ditas, como:Quando criar um programa, sua classe devera ter o mesmo nome do arquivo.java, por exemplo, crio um programa com o nome Principal, o nome da classe que estara no codigo do programa, sera Principal. E importante que esteja escrito da mesma maneira, pois JAVA e CASE SENSITIVE;Costume sempre fechar o programa, usando o System.exit(0);. Em C fechavamos um programa usando exit(0);, so para ter um modo de concretizar o fechamento do programa, usamos o 0 entre parenteses para dizer que o programa terminou a execucao sem erros, quando colocamos 1, dizemos que a execucao terminou com algum erro, normalmente do usuario, no caso de uma validacao;Tenha o habito de fazer o tratamento de excecoes, pois seu programa estara sujeito a todo tipo de erro caso nao o faca. Explicarei sobre isso mais tarde;Entao preparados para a parte boa? Vamos la! Abra o Netbeans, aperte Ctrl+Shift+N para abrir um novo projeto, e escolha JAVA APPLICATION, aperte Next, na proxima tela voce escolhe o nome do projeto, coloque o que voce quiser, e la em baixo se voce quiser mudar o nome da classe principal fica a sua escolha, ele criara o arquivo.java e tambem o corpo da sua classe principal! So uma coisa: nao se acostume com
isso, eu uso o Netbeans so para quando tenho um prazo curto de entrega de algum programa, pois ele facilita, para estudos eu uso o Eclipse(raramente), na maioria das vezes, para estudo, eu uso o gedit, ou o VIM, porque costumo programar no meu Linux.nome do arquivo: primeiroprograma.javapublic class primeiroprograma(){ // funciona como int main() public static void main(String[] args){ //como se fosse uma continuacao, dizendo que esta e a parte principal do programa, declarando que e publico, estatico e sem retorno, ou seja, qualquer um pode acessar(publico), nao muda(estatico), sem retorno e parte principal System.out.printl("Hello World!"); //estrutura do nosso printf em C, JAVA e organizado por pacotes, por exemplo aqui, nosso comando fica dentro do pacote System.out, funcao do sistema que usamos para saida de dados, e println para dizermos que algo sera impresso na linha do console System.exit(0); }} //Nao se esqueca de tudo que abrir, feche!Ok, agora fizemos o codigo, salve o arquivo.java com o nome que voce declarou na classe, e vamos a compilacao. Usarei o Netbeans no caso aqui, entao um Ctrl+S deve salvar, e o Shift+F11 deve fazer com que limpe o .jar para assim poder salvar o novo codigo, melhor assim, pois e mais seguro! E seu Hello World saira no console logo abaixo do codigo.Entao e isso ai galera, mais um post sobre primeiro programa em outra linguagem! Duvidas? Envie-em um email: carlosh@aluno.unb.br
Nas linguagens de programacao sempre havera uma estrutura que controla o programa executando algumas instrucoes de acordo com uma regra definida pelo programador. Regras sao para que o usuario chegue onde quer ir da melhor forma possivel, quanto mais direto melhor (tanto para quem faz o codigo quanto para o usuario).Essa estrutura e fundamental, imagine que voce quer fazer um programa que rode de um jeito para os que fizerem algumas escolhas e de outro jeito para os que fizerem outras, todos os sistemas que fizerem isso precisam de um IF (traduzindo para os que realmente odeiam ingles: se). Se o usuario clicar num botao faca isso, se clicar em outro faca aquilo, se nao clicar faca essa outra coisa... e por ai vai. Quem quiser saber o peso de um "se" veja essa o texto: Sabendo que precisava subjugar Esparta para ter o dominio total sobre a Grecia, Felipe cercou as fronteiras da Laconia e enviou uma mensagem aos espartanos. - Se nao se renderem imediatamente - ameacava -, invadirei suas terras. Se meus exercitos as invadirem, pilharao e queimarao tudo o que voces mais prezam. Se eu marchar sobre a Laconia, arrasarei suas cidades. Alguns dias depois, Felipe recebeu a resposta. Abriu a carta e encontrou somente uma palavra escrita: Se.Fera nao e? Continuemos programandoA estrutura do if e bem simples: if(condicao) { comandos a serem executados *so entra aqui se a condicao for satisfeita!}Existe tambem como usar um complemento para quando a condicao nao for satisfeita:if(condicao) { comandos a serem executados *so entra aqui se a condicao for satisfeita!}else{ comandos a serem executados *so entra aqui se a condicao de cima NAO for satisfeita!}Agora veremos como isso funciona na pratica:Vamos fazer um programa bem basico onde o aluno coloca sua nota e descobre se foi aprovado ou reprovado, abaixo o codigo-fonte:#include <stdio.h>void main (){ float nota; //nota pode ter uma parte fracionaria Ex: 6 e 1/2 = 6,5 printf("Informe o valor de sua nota: "); scanf("%f", &nota); //guardando o valor da nota informado pelo usuario if(nota >= 6) // se a nota for maior ou igual a 6, o usuario esta aprovado (6 e a media para aprovacao no caso) { printf("Voce passou!\n"); } else // se a nota for menor que 6, o usuario foi reprovado { printf("Voce foi reprovado...\n"); } system("pause"); // esperando que usuario digite uma tecla para fechar programa}No proximo post eu continuo essa estrutura introduzindo os operadores e o "else if".Imagine que voce quer colocar mais de uma condicao, por exemplo ser homem e ter idade maior ou igual a de 18 anos, como voce faria esse programa? E se em vez de duas condicoes com diferentes comandos tivesse uma terceira, como usar if e else que so abrangem duas condicoes??? Proximo post! "se" Ok, a seguir irei passar o primeiro programa em C, ele e basico em todos os livros de programacao de praticamente qualquer linguagem, e o "Hello World"! Dizem ate que ele e essencial, e que se voce nao o fizer como primeiro programa, todos os outros poderao dar erro, e
do programa, ou denominado funcao principal printf("Hello World!"); // comando para impressao na tela do programa system("PAUSE"); // comando para pausar a tela return (0); // retornando um valor inteiro, boa pratica de programacao} // fim da funcao principal Lembretes:Sempre de algum espaco entre a inclusao de bibliotecas e a declaracao da funcao, melhora e legibilidade do programaNunca esqueca de colocar o ponto-e-virgula no final de todo comando no decorrer do programa, a falta deles gera erro de sintaxeIdente o programa, nem sempre voce sera o unico a trabalhar num determinado programa, entao idente para que o outro programador possa entender melhor o codigoComente, existe o comando // para comentarios de uma linha, para comentarios que precisam de mais de uma linha uso o /* seu comentario aqui */, lembrando que o /* no comeco do comentario e o */ para fechar o comentarioTambem e boa pratica retornar o valor do tipo da funcao, por exemplo int main quer dizer que a funcao e do tipo inteiro, e bom retornar um valor inteiro, como na linha return (0);, quando usarmos mais de uma funcao em um programa isto ficara mais claro.Pratique, nao ha nada melhor que isso Agora vamos a execucao do nosso programa, nao esqueca de salvar seu programa em um arquivo .c! No caso eu usei o nome Hello-World Vamos agora ao CMD, ou Prompt de Comando:Digite gcc para verificar se o mingw esta funcionando corretamenteVerificado isso, lembre-se do caminho que salvou o arquivo.Agora digite gcc "caminho_arquivo.c" -o "caminho_arquivo.exe"A saida sera um executavel agora e so ir na pasta que voce salvou o arquivo .exe e execute! Enfim, acho que ficamos por aqui neste momento, em breve mais post! Boa sorte nesse mundo de programacao! Bons estudos.
queremos que seja lida como Double, entao convertemos de string para Double, por isso o parseDouble, pois tudo que e lido vem no formato de String, por isso que quando desejamos ler realmente uma String nao precisamos de algo do tipo String.parseString, ja podemos ir direto para o scan.nextLine();, e este tem o significado de que usamos nosso comando que usa a funcao Scanner, que no nosso caso e o scan, e pedimos para ler a proxima linha, que e onde os dados serao lidos. Para ler uma variavel do tipo int, so trocaremos o Double.parseDouble(scan.nextLine(); por Integer.parseInt(scan.nextLine());, facil nao? Agora tente voce com o float e veja no que da! Ja para o char, temos algo mais diferente, e nao e so colocar Character.parseChar(scan.nextLine());, aposto que voce pensou que seria facil assim, para podermos ler uma variavel do tipo Char, leremos ele como string, colocando apenas a linha de comando na hora da leitura teste = scan.nextLine().toCharArray();, isso quer dizer que, estamos lendo uma string, porem quero trabalhar com cara caractere separado, para isso precisamos lancar para um array, ou vetor se preferir assim, para isso nao finalizamos a linha em nextLine(), mas adicionamos mais um comando que existe em nextLine() que e toCharArray(), este nos fazendo com que cada caractere seje trabalhado separadamente. Agora voce pensa: Beleza, agora sei como trabalhar com o basico de entrada de dados em JAVA, mas cade a saida desses dados?Quero, tambem, poder ler uma variavel e depois mostra-la na tela! Isso e possivel?. Meu caro, praticamente TUDO e possivel de se fazer com linguagem de programacao, se nao TUDO mesmo, a imaginacao e o limite, embora algumas linguagens tambem sejam bastante limitadas, o que nos faz preferir outras. Aqui, a coisa e parecida com a hora que voce mostra na tela em linguagem C, por exemplo, em C para mostrar algo na tela, com uma variavel voce fazia assim, vou usar de exemplo um int: printf(%d, variavel); certo?; Em JAVA, apos a leitura da variavel, ou apos setar o valor de determinada variavel no proprio codigo fonte, nao esquecendo que inicializar uma variavel logo na declaracao da mesma e uma boa pratica de programacao e e ALTAMENTE RECOMENDAVEL, usaremos este comando: System.out.println(blablablabla + variavel); simples nao? Nao se precisa de algo como %d, %c, %s, etc... Quando voce coloca o + e o nome da variavel, o compilador concatena, ou seja aloca o valor da variavel a string que voce provavelmente colocou entre aspas, mas nao necessariamente voce precisa colocar uma string antes ou depois, apenas lembre-se de que ao colocar uma string no comeco coloque um + depois dessa string para poder colocar a variavel, caso contrario e erro de sintaxe, e se colocar depois da variavel, coloque um + depois do nome da variavel, caso nao coloque nenhuma string neste comando, nao precisa de nenhum +. Pois bem, desculpem a demora do post, as coisas no trabalho tem sido corridas, e tenho escrito este post aos poucos, qualquer coisa/duvida/erro meu ou mesmo seu, podem me enviar email: carlospecter@gmail.com. Abracos a todos! E
Este post descreve superficialmente algumas das funcoes de "entrada" (input) e de "saida" (output) mais importantes da linguagem C. Todas estao na biblioteca stdio. Portanto, seu programa deve ter um #include para usar essas funcoes.- printf A funcao printf (print formatted) exibe na tela do monitor uma lista formatada de numeros, caracteres, strings, etc. Sintaxe da funcao: printf (string_de_controle,lista_de_argumentos); Na string_de_controle teremos uma descricao de tudo que a funcao vai colocar na tela. Isto e feito usando-se os codigos de controle, que usam a notacao %. Com isso, indicamos quais, de qual tipo e em que posicao estao as variaveis a serem apresentadas. Alguns dos codigos %: Codigo Significado %d Inteiro %f Float %c Caractere %s String %% Coloca na tela um % Alguns exemplos de printf() e o que eles exibem: printf ("Teste %% %%") Teste % % printf ("%f",40.345) 40.345000printf ("%2.2f",40.345) 40.34 printf ("Um caractere %c e um inteiro %d",'D',120) Um caractere D e um inteiro 120 printf ("%s e um exemplo","Este") Este e um exemplo printf ("%s%d%%","Juros de ",10) Juros de 10% Codigos de Barra Invertida Codigo Significado \b Retrocesso (backspace) \n Nova linha (new line) \t Tabulacao horizontal (tab) \ Aspas duplas \ Aspas simples \0 Nulo (0 em decimal) \\ Barra invertida \a Sinal sonoro (beep) Exemplos: printf ("Ola! Eu esto\bu vivo!"); Ola! Eu estu vivo! printf ("Ola! Eu esto\nu vivo!"); Ola! Eu esto u vivo! printf ("Ola! Eu esto\tu vivo!"); Ola! Eu Esto u vivo! printf ("\"Ola! Eu estou vivo! \""); "Ola! Eu estou vivo!" printf ("Ola! Eu esto\0u vivo!"); Ola! Eu esto printf (\\Ola! Eu estou vivo!\\"); \Ola! Eu estou vivo!\ - scanf A funcao scanf (scan format) le do teclado e "formata" uma lista de numeros, caracteres, strings, etc. Sintaxe da funcao: scanf (string_de_controle,lista_de_argumentos); Usando a funcao scanf() podemos pedir dados ao usuario. Devemos ficar atentos a fim de colocar o mesmo numero de argumentos que o de codigos de controle na string de controle. Outra coisa importante e lembrar-se de colocar o & antes das variaveis da lista de argumentos. Exemplo: #include int main () { char Ch; scanf("%c", &Ch); printf ("Voce pressionou a tecla %c",Ch); return(0); } - gets e getchar(), Assim como scanf(), leem uma string do teclado. getchar() le apenas um caractere. gets() le uma string ate o final da linha ou ate que nao haja mais dados para ler, e adiciona o terminador de string "\0". Sintaxe da funcao get: gets(nome_da_string); Exemplo: #include int main () { char exemplo[10]; printf ("Digite o seu nome: "); gets (exemplo); printf ("O nome e: %s", exemplo); return(0); } O programa pede ao usuario que entre uma string, que sera armazenada na string exemplo. A funcao retorna o proprio exemplo.Gets nao e uma funcao segura, pois com essa funcao pode ocorrer um estouro da quantidade de posicoes que foi especificada na string. Por exemplo, se no codigo a cima o usuario digitar como entrada: Ricardo Pereira Neto Ou seja, digitar um total de 20 caracteres: 21 posicoes (incluindo o '\0' ) serao utilizadas para armazenar a string. Como a string exemplo[] so tem
10 caracteres, os 11 caracteres adicionais serao colocados na area de memoria subsequente a ocupada por ela, escrevendo uma regiao de memoria que nao esta reservada a string. Este efeito e conhecido como "estouro de buffer" e pode causar problemas imprevisiveis. Sintaxe da funcao getchar: variavel = getchar(); Esta funcao retorna o valor inteiro referente ao codigo ASCII do caractere lido, porem voce pode atribuir este valor a uma variavel do tipo caractere. Caso ocorra um erro, ela retorna EOF. Exemplo da utilizacao de getchar: #include int main() { char caracter; printf("\n"); printf("Utilizando getchar()\n"); printf("--------------------\n"); printf("\n"); printf("Entre com um caracter :"); caracter = getchar(); printf("\nVoce digitou o caracter %c\n\n",caracter); return(0); }Fonte: Curso de Linguagem C - UFMG (com adaptacoes)Link direto para Apostila: http://migre.me/3U6Yp
PHP (Hypertext Preprocessor) e uma linguagem interpretada livre utilizada em conteudos dinamicos na internet.Ela deixa uma pagina web mais incrementada, acrescentando novas funcionalidades que somente um HTML com CSS nao realizam. Uma grande qualidade e o fato de poder ser utilizado com os outros dois ja citados sem nenhum dano. Outra caracteristica positiva esta nos seus comandos que sao muito parecidos com os de outras linguagens como a C, facilitando o aprendizado.Requisitos:Primeiro Passo: instalar um pacote WAMP (Windows, Apache, MySQL, PHP) no seu computador para que voce possa visualizar os resultados de seu codigo sem a necessidade de hospeda-lo em um servidor. Eu utilizo o XAMPP somente porque foi nele que aprendi, mas fica a seu criterio utiliza-lo ou nao. Os mais famosos pacotes sao o XAMPP e WAMPSERVER (nunca usei esse).Faca o download e instale o XAMPP, pode usar a versao LITE se quiser que nao vai influenciar em nada no nosso uso. O unico segredo agora para nos e que devemos salvar todos os nossos scripts no diretorio: ...\xampp\htdocs e sempre observar se o servidor Apache e, caso usemos, MySQL foram iniciados (faca isso utilizando o XAMPP Control Panel - ...\xampp\xampp-control.exe) Crie seu codigo no bloco de notas (ou no editor de sua preferencia, claro) salvando-o com a extensao .phpPara visualizar o resultado de seu script digite no navegador: http://localhost/SeuScript.php se estiver numa pasta especifica (sempre dentro da htdocs): http://localhost/SuaPasta/SeuScript.php Comecando a programar: Inicia-se o codigo com <?php e finaliza com ?> podendo ser incluido em qualquer parte do documento. Deve-se finalizar todo comando com ; (ponto e virgula).Comentarios de uma linha: // Seu comentarioComentarios com mais de uma linha: /* Seu comentario */ Comandos ECHO e PRINT:Comando Echo ou Print escreve na tela. Ex.:<?phpecho Hello World!; // Tente tambem com PRINT?>Obs.: podemos colocar tags HTML dentro do echo que irao funcionar normalmente. Ex.:<?phpecho <h1>Hello World!</h1>;?>Proximo post: Iniciando a logica em PHP Muitas garotas por ai dizem que queriam ter nascido homem. Vamos pensar um pouco: Ser mulher tambem e legal, porque tipo, se voce for feia, voce pode ficar mais ou menos, e se for mais ou menos voce pode ficar bonita e por ai vai. O ruim e que quando voce e homem ninguem liga pra se voce roe ou nao a unha. Mas tudo da mulher e mais legal, quando e um casamento, todo mundo so da atencao pra noiva,ou aquelas premiacoes, tipo Grammy, as mulheres sempre estao divinamente lindas, e os homens , so smoking ou paleto. A unica coisas que eles escolhem e se a gravata e borboleta ou normal, fora isso, nada. As mulheres podem ter todo tipo de estilo, rockeira, emo, patricinha, gotica, e etc. Mas os homens quase nunca teem estilo, eles sao sempre iguais, porque:Rockeiro = gayEmo = gayMauricinho = gayGotico = muito gayETC = gayPura verdade, ou vai dizer que nao? Mas eles tambem tem coisas legais:- Nao engravidam- Nao menstruam- Podem tirar a camisa no calor- Se for um pouquinho gordo ninguem percebe E outra coisa para as mulheres, se voce for lesbica, muita pouca gente tem preconceito, agora
se voce for gay, cara se de muuuuuito mal '-' entao meninas, voces podem dancar, e dormi com suas amigas, e usar salto se for baixinha, fazer inumeros penteados no cabelo e varias coisas, entao,Ser mulher , tambem e legal.