#include <stdio.h>
//Algoritmo de Pesquisa Binaria e Bubble Sort.
//Bubble Sort faz a ordenação do vetor para que a pesquisa
//seja bem sucedida, pois ela se baseia no valor e se ele é maior
//ou menor para delimitar sua area de busca.
void bubble_sort(int[], int);
int busca_binaria(int, int, int[]);
int main(){
int vetor[5] = {4, 2, 3, 5, 1};
int indice;
bubble_sort(vetor, 5);
indice = busca_binaria(5, 5, vetor);
printf("O numero 5 esta no indice: %i\n", indice);
return 0;
}
//Função do Metodo da Bolha para Ordenação
//Ela consiste em Verificar par a par, cada menbro do vetor
//Colocando o menor no inicio e o maior no fim.
void bubble_sort(int vet[], int tam){
int i, j, aux;
for(i = 0; i < tam -1 ; i++){
for(j = i +1; j < tam ; j++){
if(vet[i] > vet[j]){
aux = vet[i];
vet[i] = vet[j];
vet[j] = aux;
}
}
}
}
//Funçao da Busca Binaria, para localizar dentro do vetor um elemento.
//Ela consiste em verificar se o indice do meio é o elemento procurado
//Caso nao, ela delimita se o do meio é maior ou menor que o procurado
//E segue para o lado em que ele se encontra, novamente dividindo ao meio
//E o processo se repete ate o encontrar.
int busca_binaria(int num, int tam, int vet[]){
int inicio = 0, fim = tam -1, meio;
while(inicio <= fim){
meio = (inicio + fim) / 2;
if(vet[meio] == num)
return meio;
if(vet[meio] < num)
inicio = meio + 1;
else
fim = meio -1;
}
return -1;
}Programação & Desenvolvimento
Blog dedicado a Programação em C e outras linguagens. E divulgação de códigos.
quinta-feira, 2 de junho de 2016
Bubble Sort e Busca Binaria
Dois algoritmos que iram abrir possibilidades para bons assuntos em Estrutura de Dados.
sexta-feira, 29 de abril de 2016
Como começar a programar!
Ola pessoal.
Uma grande duvida de todos é como começar a programar.
Muita gente já vai logo perguntando qual área quer, ou dizendo uma linguagem fácil de aprender.
A minha recomendação é que primeiro dê uma olhada em logica de Programação.
Ela vai te ensinar o que é: Algoritmo, tipos de dados, laços de repetição, estrutura de decisão, condicionais...
Depois que já tiver uma certa ideia de o que é algoritmo, e o que é programa, e sabendo a estrutura básica que foi passada na logica, você já estará pronto para iniciar uma linguagem.
É importante sim iniciar na programação com um objetivo, isso vai tornar seus estudos mais prazerosos pois você vai ver que esta chegando cada vez mais perto do que realmente quer.
Uma linguagem que recomendo a todos é a C, pois ela sendo uma linguagem de Médio Nível, é fácil de entender, e se adéqua muito bem com a logica. Em C você irá aprender o conceito de estrutura de comandos, funções, conceito de memória, entre outras vantagens, que vai te ajudar a aprender mais fácil qualquer outra linguagem de Alto Nível que você vá aprender posteriormente.
Apos ter uma certa experienciazinha com C ou a sua linguagem escolhida, você começa a caminhar para sua área. E é aqui neste ponto que irá aperfeiçoar seus conhecimentos na linguagem.
Desenvolvimento Desktop:
Nesta área as linguagens mais utilizadas são o Java, o Delphi, VB.NET(Visual Basic), o C#, e o C++, claro que o C também, mas é algo menos usual que as demais.
Eu recomendo o C# :) .
Desenvolvimento Web:
Nesta área as linguagens mais utilizadas são PHP, Python, Ruby, C#, que são as linguagens de Back-End, e seus devidos Framework.
Sendo que é acompanhado sempre de JavaScript, HTML e CSS.
Desenvolvimento Mobile;
Nesta área as linguagens mais utilizadas são Java, Object-C, Swift, C# e Python.
Sendo Java e Python mais famosas para Android, Object-C e Swift para IOS e C# para Windows Phone, embora C# possa set utilizada em qualquer um dos 3 sistemas.
Desenvolvimentos de Jogos:
Na área dos jogos as linguagens mais utilizadas são C++, C#, Java, para jogos Desktops e HTML5, e JavaScript para Jogos Web.
Nada impede de você programar para diversas áreas, so quis da um exemplo das linguagens "mais" utilizadas em cada uma delas. E como eu disse, "mais utilizadas", mas isso não quer dizer que são as únicas ou as melhores, e sim as que são mais famosas para a devida área.
É escolha sua a/as linguagem/ns que irá escolher, e a/as áreas.
Lembrando que alem das linguagens ainda tem Frameworks, que alguns precisam de comandos específicos, banco de dados, bibliotecas, e tudo mais que se faça necessário para seu melhor desempenho. Mas isso é uma coisa que você deve preocupar depois que ja ter uma boa noção da sua linguagem.
Bons Estudos.
quarta-feira, 13 de abril de 2016
Programa Matematico
Ola pessoal.
Trazendo pra vocês um programinha em C++ que recebe do usuário 3 valores e realiza calculo da equação quadrática e com o resultado das raízes calcula o fatorial de ambas e a sequencia de Fibonacci.
Trazendo pra vocês um programinha em C++ que recebe do usuário 3 valores e realiza calculo da equação quadrática e com o resultado das raízes calcula o fatorial de ambas e a sequencia de Fibonacci.
#include <iostream>
#include <cmath>
using namespace std;
void fatorial(int, int);
void fibonacci(int, int);
int main(){
int a, b, c, delta, x1, x2;
cout << "Digite os numeros inteiro para 'a', 'b', 'c': ";
cin >> a >> b >> c;
delta = (pow(b, 2) - (4*a*c));
if(a != 0){
if(delta > 0){
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
fatorial(x1, x2);
}
else if(delta == 0){
x1 = (-b) / (2*a);
x2 = x1;
fatorial(x1, x2);
}
else if(delta < 0){
cout << "Delta menor que zero. Nao existe raizes reais." << endl;
}
}
else
cout << "Entrada invalida! Digite um 'a' Diferente de zero.";
return 0;
}
void fatorial(int x1, int x2){
int i, fat1 = 1, fat2 = 1;
for(i = 1; i <= x1; i++){
fat1 *= i;
}
for(i = 1; i <= x2; i++){
fat2 *= i;
}
cout << "O fatorail de x1 eh: " << fat1 << ", e o de x2 eh: " << fat2 << endl;
fibonacci(x1, x2);
}
void fibonacci(int x1, int x2){
int aux1 = 0, aux2 = 1, aux3, i;
cout << "Sequencia de fibonacci para x1: ";
for(i = 1; i < x1; i++){
aux3 = aux1 + aux2;
cout << aux3 <<" ";
aux1 = aux2;
aux2 = aux3;
}
cout << "\nSequencia de fibonacci para x2: ";
for(i = 1; i < x2; i++){
aux3 = aux1 + aux2;
cout << aux3 <<" ";
aux1 = aux2;
aux2 = aux3;
}
}sexta-feira, 8 de abril de 2016
Estrutura básica do HTML
Para construir o Front-End de um site, utilizamos a linguagem de marcação HTML, que é composta por Tags '</>', dividida em cabeçalho e corpo. No cabeçalho conterá as informações da página como titulo, link para folha de estilho CSS, código da lingua e muito mais. No corpo é onde terá todo o conteúdo da página.
<!DOCTYPE html> informa ao navegador que a linguagem utilizada sera html.
<html> e </html> são as tags principais e abertura e fechamento do documento html.
<head> e </head> são as tags de abertura e fechamento do cabeçalho.
<body> e </body> sao as tags de abertura e fechamento do corpo.
<!DOCTYPE html> informa ao navegador que a linguagem utilizada sera html.
<html> e </html> são as tags principais e abertura e fechamento do documento html.
<head> e </head> são as tags de abertura e fechamento do cabeçalho.
<body> e </body> sao as tags de abertura e fechamento do corpo.
<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
quinta-feira, 31 de março de 2016
Programação Web
Para aqueles interessados em Programação Web, afinal nos tempos atuais tudo está voltado para web, vou comentar um pouco sobre o básico e alguns requisitos.
Primeiramente devemos ter em mente que um site funciona, basicamente, como um carro.
Por fora a chaparia e as pinturas, todas bonitas a qual observamos, e por dentro o motor que faz o carro andar.
Em um site existe elementos parecidos. A parte visual e bonita a qual observamos, é chamada de Front-End, o lado do cliente. A parte do motor que faz o site rodar, é chamado de Back-End, o lado do servidor. O programador que desenvolve tanto Front quanto Back-End é chamado de Full-Stack.
No Front-End, utilizamos a Linguagem de Marcação HTML e a Linguagem de Estilo CSS. Também temos a Linguagem de Programação que executa scripts na pagina do lado do cliente, e a JQuery que é uma biblioteca do JavaScript que serve para simplificar os scripts do lado do cliente, interagindo diretamente com o HTML da página.
No Back-End, existem diversas ferramentas e linguagens de programação. Atualmente a mais conhecida é o PHP, porem também temos a Linguagem Ruby(Oh yeah!), temos o Python(Inclusive é usado pelo próprio Google, YouTube, entre outros), e o ASP.NET da Microsoft que também é muito utilizado pelas empresas. Existem varias outras, mas esses são os principais.
Para facilitar na programação Back-End, utilizamos de Frameworks. Frameworks é uma união de códigos comuns e bibliotecas para criar uma funcionalidade genérica.
Os Frameworks mais conhecidos são o Cake e o Laravel da PHP, o Ruby on Rails do Ruby, o Django do Python e o próprio .NET que é utilizado pela plataforma ASP.NET utilizando de varias linguagens que são inclusas no .NET como Python, Ruby, C#(Principal), VB.NET, F#, e muitas outras.
Também temos os Frameworks para HTML e CSS, sendo o mais conhecido o Bootstrap.
Então basicamente se você quer se aventurar na programação Web está ai um bom exemplos do que precisará estudar.
Como dica vou dizer os passos para seguir em frente nesta aventura:
1° - Sugiro que comece aprendendo HTML e CSS, pois será uma das principais ferramentas utilizadas.
2° - Aprenda JavaScript e JQuery, porque alem do HTML e CSS, estes dois sempre estarão presente em suas páginas caso queira que ela seja mais dinâmica.
3° - Escolha uma linguagem de sua preferencia como Ruby, C#, Python, PHP, ou outras possíveis.
4° - Quando estiver em um bom nível na linguagem e achar que ja está bom o suficiente, inicie a estudar o Framework da sua linguagem escolhida, pois você utilizará bastante dele.
5° - Não esquecer de estudar SQL pois Banco de Dados será muito utilizado daqui pra frente.
6° - Procurar ferramentas que vão aprimorar seus conhecimentos e melhorar seu trabalho como AngularJS, Node.JS, JSON, XML, e muito mais.
7° - Esse deveria ser desde o começo. Você tem que está antenado nas comunidades, principalmente da linguagem e Framework escolhido. La eles iram tirar muitas duvidas suas, ajudar quando tiver problemas e talvez em breve você possa ajudar alguem também.(Facebook favorece muito isso)
8° - Participe do GitHub, la você encontrar Open Sources no qual você poderá ajudar, poderá aprender, e muito mais.
Então é isso, Boa Sorte em Sua Nova Jornada.
Primeiramente devemos ter em mente que um site funciona, basicamente, como um carro.
Por fora a chaparia e as pinturas, todas bonitas a qual observamos, e por dentro o motor que faz o carro andar.
Em um site existe elementos parecidos. A parte visual e bonita a qual observamos, é chamada de Front-End, o lado do cliente. A parte do motor que faz o site rodar, é chamado de Back-End, o lado do servidor. O programador que desenvolve tanto Front quanto Back-End é chamado de Full-Stack.
No Front-End, utilizamos a Linguagem de Marcação HTML e a Linguagem de Estilo CSS. Também temos a Linguagem de Programação que executa scripts na pagina do lado do cliente, e a JQuery que é uma biblioteca do JavaScript que serve para simplificar os scripts do lado do cliente, interagindo diretamente com o HTML da página.
No Back-End, existem diversas ferramentas e linguagens de programação. Atualmente a mais conhecida é o PHP, porem também temos a Linguagem Ruby(Oh yeah!), temos o Python(Inclusive é usado pelo próprio Google, YouTube, entre outros), e o ASP.NET da Microsoft que também é muito utilizado pelas empresas. Existem varias outras, mas esses são os principais.
Para facilitar na programação Back-End, utilizamos de Frameworks. Frameworks é uma união de códigos comuns e bibliotecas para criar uma funcionalidade genérica.
Os Frameworks mais conhecidos são o Cake e o Laravel da PHP, o Ruby on Rails do Ruby, o Django do Python e o próprio .NET que é utilizado pela plataforma ASP.NET utilizando de varias linguagens que são inclusas no .NET como Python, Ruby, C#(Principal), VB.NET, F#, e muitas outras.
Também temos os Frameworks para HTML e CSS, sendo o mais conhecido o Bootstrap.
Então basicamente se você quer se aventurar na programação Web está ai um bom exemplos do que precisará estudar.
Como dica vou dizer os passos para seguir em frente nesta aventura:
1° - Sugiro que comece aprendendo HTML e CSS, pois será uma das principais ferramentas utilizadas.
2° - Aprenda JavaScript e JQuery, porque alem do HTML e CSS, estes dois sempre estarão presente em suas páginas caso queira que ela seja mais dinâmica.
3° - Escolha uma linguagem de sua preferencia como Ruby, C#, Python, PHP, ou outras possíveis.
4° - Quando estiver em um bom nível na linguagem e achar que ja está bom o suficiente, inicie a estudar o Framework da sua linguagem escolhida, pois você utilizará bastante dele.
5° - Não esquecer de estudar SQL pois Banco de Dados será muito utilizado daqui pra frente.
6° - Procurar ferramentas que vão aprimorar seus conhecimentos e melhorar seu trabalho como AngularJS, Node.JS, JSON, XML, e muito mais.
7° - Esse deveria ser desde o começo. Você tem que está antenado nas comunidades, principalmente da linguagem e Framework escolhido. La eles iram tirar muitas duvidas suas, ajudar quando tiver problemas e talvez em breve você possa ajudar alguem também.(Facebook favorece muito isso)
8° - Participe do GitHub, la você encontrar Open Sources no qual você poderá ajudar, poderá aprender, e muito mais.
Então é isso, Boa Sorte em Sua Nova Jornada.
segunda-feira, 28 de março de 2016
Texto Motivacional para Evoluir na Profissão
Um belo texto motivacional. Não só para quem é da área de TI e Desenvolvimento, mas também para todas as áreas.
Tradução Livre do Texto de Ira Glass:
“Ninguém diz isso para os iniciantes. Eu desejava que alguém tivesse me dito. Todos nós que fazemos trabalhos criativos, entramos nisso porque temos bom gosto. Mas existe uma lacuna. Nos nossos primeiros anos que fazemos coisas, elas não são tão boas. Elas tentam ser boas, tem potencial, mas elas não. Mas o seu bom gosto, a coisa que fez você entrar nesse jogo, ainda é matador. E o seu bom gosto é o que faz o seu trabalho te desapontar. Várias pessoas nunca passam dessa fase, elas desistem. Várias pessoas que eu sei que fazem trabalhos criativos e interessantes passaram por anos disto. Nós sabemos que nosso trabalho não tem aquela coisa especial que gostaríamos que tivesse. Todos nós passamos por isso. E se você está apenas começando ou ainda está nessa fase, você precisa saber que isso é normal e a coisa mais importante que você precisa fazer é um monte de trabalhos. Coloque uma meta para você e toda semana você vai terminar um projeto. Só passando por um grande volume de trabalho que você irá diminuir essa lacuna e o seu trabalho vai ser tão bom quanto suas ambições. E eu levei mais tempo para descobrir como fazer isso do que qualquer um que eu já conheci. Vai demorar. É normal que demore. Você só tem que lutar contra seu caminho.”
Análise e Introspecção, por Willian Justen:
Tradução Livre do Texto de Ira Glass:
“Ninguém diz isso para os iniciantes. Eu desejava que alguém tivesse me dito. Todos nós que fazemos trabalhos criativos, entramos nisso porque temos bom gosto. Mas existe uma lacuna. Nos nossos primeiros anos que fazemos coisas, elas não são tão boas. Elas tentam ser boas, tem potencial, mas elas não. Mas o seu bom gosto, a coisa que fez você entrar nesse jogo, ainda é matador. E o seu bom gosto é o que faz o seu trabalho te desapontar. Várias pessoas nunca passam dessa fase, elas desistem. Várias pessoas que eu sei que fazem trabalhos criativos e interessantes passaram por anos disto. Nós sabemos que nosso trabalho não tem aquela coisa especial que gostaríamos que tivesse. Todos nós passamos por isso. E se você está apenas começando ou ainda está nessa fase, você precisa saber que isso é normal e a coisa mais importante que você precisa fazer é um monte de trabalhos. Coloque uma meta para você e toda semana você vai terminar um projeto. Só passando por um grande volume de trabalho que você irá diminuir essa lacuna e o seu trabalho vai ser tão bom quanto suas ambições. E eu levei mais tempo para descobrir como fazer isso do que qualquer um que eu já conheci. Vai demorar. É normal que demore. Você só tem que lutar contra seu caminho.”
Análise e Introspecção, por Willian Justen:
Você já teve a sensação de que tudo que faz não é tão bom como você gostaria que fosse? Que pessoas de 20 anos fazem coisas incríveis, que você jamais se imaginou tendo capacidade de fazer? Que por mais que você estude, vire horas e horas, nunca é o suficiente para alcançar aquilo que você acha que é o bom? E aí você começou a se desgastar, se sentir péssimo, com vontade de desistir de tudo e tentar outra coisa?
Como o Ira Glass diz, isso é normal, você tem bom gosto, você sabe olhar bons trabalhos e dizer o quanto eles são bons.
O que você não pode fazer é comparar o seu trabalho com o dos outros e se diminuir, cada um teve o seu tempo de estudo, seu tempo de aprimoramento, melhoria e principalmente, todos passaram pela mesma fase que você está passando. O que você deve fazer é identificar e entender essa fase que você está passando, pois quando ela passar, você terá superado tudo e seus trabalhos terão alcançado o nível que você tanto almejava.
Você pode pensar que eu já passei por essa fase e me sinto ótimo, que eu tenho trabalhos legais, escrevo num blog que um monte de gente já conhece, que faço palestras. Mas é aí que você se engana, todo dia eu acordo com a sensação de que tenho muito a fazer ainda, que tudo que eu já fiz e faço, ainda não valeu a pena.
Mas eu finalmente estou começando a identificar isso e ver que é só uma fase. E o que estou fazendo para me sentir melhor e para melhorar isso? Começo projetos e projetos. Tenho colocado deadlines para eles e com isso vou aprendendo coisas que eu sempre quis e que se eu não tivesse criado esses desafios, talvez nunca teria começado.
Esses projetos podem ser qualquer coisa. Sempre teve vontade de escrever um blog? COMECE! Sempre quis contribuir no github? COMECE! Sempre teve vontade de palestrar e passar o seu conhecimento para a comunidade?COMECE!
Você pode passar o resto da vida achando que não tem o “conhecimento suficiente”, que não tem a “experiência necessária”, que as pessoas vão rir de você. Ou você pode começar a se mostrar, começar a fazer aquilo que sempre quis fazer, mas tinha medo. Se suas primeiras críticas não forem boas,CONTINUE, ninguém disse que seria fácil, mas ninguém disse que seria impossível também.
Tem um artigo lindo e ótimo do Daniel Filho que é Queime seus ídolos. O que eu prefiro entender do post dele é que não é para você deixar de ter pessoas que você se espelha, mas elas são pessoas como você, elas também erraram bastante, elas passaram pelas mesmas fases que você. Não pense que elas estão lá por serem muito melhores que você, ninguém sabe pouco o suficiente. Aquele seu ídolo pode ser um gênio no JS e mal saber CSS, isso não faz dela ruim. Digo o mesmo para você, você está começando ou já está há um bom tempo na área, não se diminua, tente passar o pouco que você sabe para os outros e você verá que o pouco que você sabe já é muito para outros.
Há alguns dias eu postei na timeline do meu Facebook um vídeo bem interessante, mostrando o criador do Node.JS na sua primeira apresentação.
Um cara franzino, tímido, embolado com as palavras, que nem sabia se iria funcionar seu side project. E que hoje é só conhecido por ter ajudado no criação da ferramenta de desenvolvimento que mais cresce no mundo.
Ou seja, se você é tímido, tem vergonha de se apresentar, tem vergonha do que faz e nunca mostra nada para os outros. Perca esse medo! Contribua no Github, faça um blog, grave vídeos, se mostre! Você pode ser o mais novo grande desenvolvedor da década.
Conclusão, por Willian Justen:
Posso ter escrito um monte de baboseiras que você deve ter lido e falado super mal, mas eu coloquei aqui, eu não tive medo. Eu poderia ter guardado esses sentimentos e pensamentos só para mim. Mas uma das coisas que eu mais amo da comunidade Dev e que não vejo em nenhuma outra área é a disposição que todos nós temos de ajudar uns aos outros. Eu poderia citar aqui diversos programadores que me ensinaram muito e que me fizeram ser o que sou hoje. E você que está lendo, pode ser mais um a me ajudar, a ajudar os outros e ajudar a si mesmo.
Link do post Original: http://willianjusten.com.br/o-que-ninguem-diz-para-iniciantes/
terça-feira, 22 de março de 2016
Material para Programar - Parte 2 Editores de Texto
Ola, nesta segunda parte irei trazer as opções de Editores de Texto que recomendo. Lembrando que é opinião minha, mas eles realmente são bons rsrs.
Editores são bastante usados por programadores Python, Ruby, PHP, HTML e CSS, e muitos outros, até para quem quer programar em C/C++ no Editor e compilar manualmente no Console(prompt de comando).
Kate Editor de Texto - Originalmente ja vem em Sistemas Unix, pelo menos na distribuição Ubuntu ele ja vem instalado, mas também tem opção para download. Editor bastante personalizável, leve e pratico.
Outro ótimo Editor de Texto e que recomendo fortemente é o VS Code, da Microsoft. Ele possui inúmeras extensões, e pode baixar muito mais. Debbug, e varias outras funções. Alem de ser Multiplataforma.
E para finalizar, trago o meu Editor preferido. Aquele qual mais uso para programar em Ruby. Atom, ótimo Editor de Texto, também possuindo inúmeras extensões, Open Source e Multiplataforma.
É claro que existem muitos outros Editores e IDEs, porem trouxe para vocês as minhas recomendações e o que uso. Fiquem a vontade para escolher aquele que lhe mais agradar.
Lembrando que muita gente costuma dizer que "Para ser programador de verdade não se deve usar IDE, tem que compilar manualmente", mas eu digo a vocês que o que faz o programador bom não é a forma que ele compila ou edita seu código, e sim a sua performance e seu trabalho duro. Então sintam livres para utilizar o que bem quiser, pois se você for mais produtivo em uma IDE, vá fundo, mas se preferir compilar manualmente, nada te impede.
Desejo boa sorte a todos nessa jornada.
Bons Estudos
Editores são bastante usados por programadores Python, Ruby, PHP, HTML e CSS, e muitos outros, até para quem quer programar em C/C++ no Editor e compilar manualmente no Console(prompt de comando).
Kate Editor de Texto - Originalmente ja vem em Sistemas Unix, pelo menos na distribuição Ubuntu ele ja vem instalado, mas também tem opção para download. Editor bastante personalizável, leve e pratico.
Outro ótimo Editor de Texto e que recomendo fortemente é o VS Code, da Microsoft. Ele possui inúmeras extensões, e pode baixar muito mais. Debbug, e varias outras funções. Alem de ser Multiplataforma.
E para finalizar, trago o meu Editor preferido. Aquele qual mais uso para programar em Ruby. Atom, ótimo Editor de Texto, também possuindo inúmeras extensões, Open Source e Multiplataforma.
É claro que existem muitos outros Editores e IDEs, porem trouxe para vocês as minhas recomendações e o que uso. Fiquem a vontade para escolher aquele que lhe mais agradar.
Lembrando que muita gente costuma dizer que "Para ser programador de verdade não se deve usar IDE, tem que compilar manualmente", mas eu digo a vocês que o que faz o programador bom não é a forma que ele compila ou edita seu código, e sim a sua performance e seu trabalho duro. Então sintam livres para utilizar o que bem quiser, pois se você for mais produtivo em uma IDE, vá fundo, mas se preferir compilar manualmente, nada te impede.
Desejo boa sorte a todos nessa jornada.
Bons Estudos
Assinar:
Comentários (Atom)



