#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;
}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
Material para programar - Parte 1 IDEs
Ola.
Todos as vezes se perguntam qual a melhor IDE, qual melhor Editor de Texto, o que é preciso para programar em C? E muitas outras coisas, irei tentar responder estas perguntas.
Para começar, Programação em C:
IDE que recomendo é Code::Blocks pela sua facilidade para os iniciantes, e uma plataforma bem completa.
Outra IDE tambem muito boa é a Falcon C++, recomendo caso queira algo mais leve que o Code::Blocks.
Para C++ alem das 2 IDEs acima, ainda recomendo o uso do Qt Creator para uma maior facilidade na criação de GUIs(Interface Grafica).
Quem quer se aventurar no C# não a ferramenta mais recomendada e completa que o Visual Studio.
E tambem para os usuarios de Linux / Mac OS temos o MonoDevelop. Grade ferramenta Open Source para desenvolver em Sistemas Unix.
Essas são as IDEs mais recomendadas para seu desenvolvimento.
Todos as vezes se perguntam qual a melhor IDE, qual melhor Editor de Texto, o que é preciso para programar em C? E muitas outras coisas, irei tentar responder estas perguntas.
Para começar, Programação em C:
IDE que recomendo é Code::Blocks pela sua facilidade para os iniciantes, e uma plataforma bem completa.
Outra IDE tambem muito boa é a Falcon C++, recomendo caso queira algo mais leve que o Code::Blocks.
Para C++ alem das 2 IDEs acima, ainda recomendo o uso do Qt Creator para uma maior facilidade na criação de GUIs(Interface Grafica).
Quem quer se aventurar no C# não a ferramenta mais recomendada e completa que o Visual Studio.
E tambem para os usuarios de Linux / Mac OS temos o MonoDevelop. Grade ferramenta Open Source para desenvolver em Sistemas Unix.
Essas são as IDEs mais recomendadas para seu desenvolvimento.
segunda-feira, 21 de março de 2016
App Calculadora Simples - C#
Ola pessoal.
Trazendo aqui uma aplicação criada pelo Otavino Mota.
É uma calculadora simples, criada em C#. Fiz os ajustes e compilei, estrou trazendo o executável para vocês testar caso queiram. e o código fonte também.
Para fazer o download, basta entrar no link. Descompactar e executar, não precisa instalar. Se anti-vírus fazer leitura, só esperar.
link: http://www.4shared.com/rar/P0ZSjI3fba/CalculadoraSimples.html
E aqui o Código Fonte:
Form1.cs:
Trazendo aqui uma aplicação criada pelo Otavino Mota.
É uma calculadora simples, criada em C#. Fiz os ajustes e compilei, estrou trazendo o executável para vocês testar caso queiram. e o código fonte também.
Para fazer o download, basta entrar no link. Descompactar e executar, não precisa instalar. Se anti-vírus fazer leitura, só esperar.
link: http://www.4shared.com/rar/P0ZSjI3fba/CalculadoraSimples.html
Form1.cs:
using System;
using System.Windows.Forms;
namespace CalculadoraSimples
{
public partial class Form1 : Form
{
double total;
double ultimoNumero;
string operador;
private void limpar()
{
total = 0;
ultimoNumero = 0;
operador = "+";
mtbResultado.Text = "0";
}
private void calcular()
{
switch (operador)
{
case "+": total += ultimoNumero;
break;
case "-": total -= ultimoNumero;
break;
case "*": total *= ultimoNumero;
break;
case "/": total /= ultimoNumero;
break;
}
ultimoNumero = 0;
mtbResultado.Text = total.ToString();
}
public Form1()
{
InitializeComponent();
limpar();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void btLimpar_Click(object sender, EventArgs e)
{
limpar();
}
private void btNumero(object sender, EventArgs e)
{
if (ultimoNumero == 0)
{
mtbResultado.Text = (sender as Button).Text;
}
else
{
mtbResultado.Text += (sender as Button).Text;
}
ultimoNumero = Convert.ToDouble(mtbResultado.Text);
}
private void btOperador(object sender, EventArgs e)
{
ultimoNumero = Convert.ToDouble(mtbResultado.Text);
calcular();
operador = (sender as Button).Text;
}
private void btIgual_Click(object sender, EventArgs e)
{
ultimoNumero = Convert.ToDouble(mtbResultado.Text);
calcular();
operador = "+";
total = 0;
}
}
}Novo Projeto - Editor de texto: Diary - C#
Ola pessoal. Estou criando um editor de texto simples em C#. De inicio fui fazendo como nas aulas pelo You Tube. Mas ainda não esta pronto, porem está funcional.
Com tempo irei incrementado funções nele.
Modifica Fonte, Modifica cor da letra. Aceita e salva em formatos RTF e TXT.
Quem quiser da olhada ou testar, so fazer download. Não precisa instalar, só descompactar e abrir.
Caso anti-virus interrompa, só esperar ele examinar e pronto, abre normal.
https://www.4shared.com/rar/ZkyV-ViJba/Diary.html
Aqui está o código fonte:
Form2.cs:
Program.cs:
Com tempo irei incrementado funções nele.
Modifica Fonte, Modifica cor da letra. Aceita e salva em formatos RTF e TXT.
Quem quiser da olhada ou testar, so fazer download. Não precisa instalar, só descompactar e abrir.
Caso anti-virus interrompa, só esperar ele examinar e pronto, abre normal.
https://www.4shared.com/rar/ZkyV-ViJba/Diary.html
Aqui está o código fonte:
Form2.cs:
using System;
using System.Windows.Forms;
using System.IO;
namespace App2Form2
{
public partial class Form2 : Form
{
public string filefilter = "Rich Text Format | *.rtf*|Texto sem Formatação|*.txt*|All Files|*.*";
public Form2()
{
InitializeComponent();
}
private void abrirToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = filefilter;
if(ofd.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
{
if (Path.GetExtension(ofd.FileName) == ".rtf")
{
richTextBox1.LoadFile(ofd.FileName);
}
else if(Path.GetExtension(ofd.FileName) == ".txt")
{
StreamReader sr = new StreamReader(ofd.FileName);
string imputline = "";
while((imputline = sr.ReadLine()) != null)
{
richTextBox1.Text += imputline + "\n";
}
sr.Close();
}
else
{
StreamReader sr = new StreamReader(ofd.FileName);
string imputline = "";
while ((imputline = sr.ReadLine()) != null)
{
richTextBox1.Text += imputline + "\n";
}
sr.Close();
}
}
}
private void salvarComoToolStripMenuItem_Click(object sender, EventArgs e)
{
salvar();
}
public void salvar()
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = filefilter;
if (sfd.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
{
if (sfd.FilterIndex == 1)
{
//RTF
if (File.Exists(sfd.FileName + ".rtf"))
{
File.Delete(sfd.FileName + ".rtf");
}
richTextBox1.SaveFile(sfd.FileName + ".rtf");
}
else if (sfd.FilterIndex == 2)
{
//TXT
if (File.Exists(sfd.FileName + ".txt"))
{
File.Delete(sfd.FileName + ".txt");
}
StreamWriter sw = new StreamWriter(sfd.FileName + ".txt");
for (int linha = 0; linha < richTextBox1.Lines.Length; linha++)
{
sw.WriteLine(richTextBox1.Lines[linha]);
}
}
else if (sfd.FilterIndex == 3)
{
//All Files
if (File.Exists(sfd.FileName))
{
File.Delete(sfd.FileName);
}
}
}
}
private void sairToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void novoToolStripMenuItem_Click(object sender, EventArgs e)
{
if (richTextBox1.Text.Length > 0)
{
DialogResult dr = MessageBox.Show("Deseja salvar seu arquivo?", "Questão", MessageBoxButtons.YesNo);
if (dr == System.Windows.Forms.DialogResult.Yes)
{
salvar();
}
if (dr == DialogResult.No)
{
richTextBox1.Text = "";
}
}
else
{
richTextBox1.Text = "";
}
}
private void fonteToolStripMenuItem_Click(object sender, EventArgs e)
{
FontDialog fd = new FontDialog();
fd.Font = richTextBox1.SelectionFont;
if(fd.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
{
richTextBox1.SelectionFont = fd.Font;
}
}
private void corDaFonteToolStripMenuItem_Click(object sender, EventArgs e)
{
ColorDialog cd = new ColorDialog();
cd.Color = richTextBox1.SelectionColor;
if(cd.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
{
richTextBox1.SelectionColor = cd.Color;
}
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
if (richTextBox1.Text.Length > 0)
{
DialogResult dr = MessageBox.Show("Deseja salvar seu arquivo?", "Salvar?", MessageBoxButtons.YesNoCancel);
if (dr == System.Windows.Forms.DialogResult.Yes)
{
salvar();
}
if (dr == DialogResult.Cancel)
{
this.Dispose();
}
}
}
private void sobreToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("Criado Por Lucas Souza!");
}
}
}Program.cs:
using System;
using System.Windows.Forms;
namespace App2Form2
{
static class Program
{
/// <summary>
/// Ponto de entrada principal para o aplicativo.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form2());
}
}
}sábado, 19 de março de 2016
Form Simples em C#
Programa do tipo Form em C#. Simples aplicação que digitado numero do produto, ele retorna o preço, e a foto do item, e valor total da compra(toda vez que digita numero, compra o produto.).
frmCaixa.cs :
frmCaixa.cs[Design]:
frmCaixa.cs :
using System;
using System.Windows.Forms;
namespace Caixa
{
public partial class frmCaixa : Form
{
string[] codProd = new string[6];
string[] nomeProd = new string[6];
decimal[] valorProd = new decimal[6];
decimal somaTotal;
public frmCaixa()
{
InitializeComponent();
}
private void label2_Click(object sender, EventArgs e)
{
}
private void pictureBox2_Click(object sender, EventArgs e)
{
}
private void frmCaixa_Load(object sender, EventArgs e)
{
loadProducts();
somaTotal = 0;
}
private void loadProducts()
{
codProd[1] = "12345";
codProd[2] = "12346";
codProd[3] = "12347";
codProd[4] = "12348";
codProd[5] = "12349";
nomeProd[1] = "Grifon";
nomeProd[2] = "BMW";
nomeProd[3] = "Cogumelo Doido";
nomeProd[4] = "Player Music";
nomeProd[5] = "RSS";
valorProd[1] = 2000.00M;
valorProd[2] = 350.99M;
valorProd[3] = 2.50M;
valorProd[4] = 50.99M;
valorProd[5] = 25.25M;
}
private void txtCod_textchanged(object sender, EventArgs e)
{
if(txtcod.Text.Length == 5)
{
int ind = 0;
for(int cp = 1; cp < 6; cp++)
{
if(txtcod.Text == codProd[cp])
{
ind = cp;
}
}
if(ind > 0)
{
listProd.Items.Add(string.Format("#{0} - {1} - {2:c}", codProd[ind], nomeProd[ind], valorProd[ind]));
picProd.ImageLocation = "C:/Users/Lucas/Documents/Visual Studio 2015/Projects/Caixa/Caixa/images" + codProd[ind] + ".jpg";
somaTotal += valorProd[ind];
txtTotal.Text = Convert.ToString("R$" + somaTotal);
txtcod.Text = "";
txtcod.Focus();
}
else
{
MessageBox.Show("Produto não encontrado.");
}
}
}
}
}frmCaixa.cs[Design]:
Mais Calculadora em C#
Mais uma calculadora, desta vez usando Estrutura de Repetição While para manter rodando ate que o usuario peça o resultado.
Também mostra o valor atual do resultado a cada vez que é incrementado numero.
Também mostra o valor atual do resultado a cada vez que é incrementado numero.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CursoCSharp
{
class calculadora
{
static void Main(string[] args)
{
int numero1, numero2, total;
total = 0;
char operacao = '+';
while (operacao != '=')
{
Console.Write("Por favor digite o numero: ");
numero1 = Convert.ToInt32(Console.ReadLine());
switch (operacao)
{
case '+':
total = total + numero1;
break;
case '-':
total = total - numero1;
break;
case '*':
total = total * numero1;
break;
case '/':
total = total / numero1;
break;
}
Console.WriteLine("Valor atual do numero: " + total);
Console.Write("Por favor digite a operação: ");
operacao = Convert.ToChar(Console.ReadLine());
}
Console.WriteLine("O Valor Total eh: " + total);
}
}
}
Calculadora em C#
Ola
Estou trazendo uma simples "mine-calculadora", feita em C#, executada em terminal(MS-DOS).
Utiliza da estrutura de decisão Switch para decidi qual operação utilizar, de acordo com a entrada do usuário.
Estou trazendo uma simples "mine-calculadora", feita em C#, executada em terminal(MS-DOS).
Utiliza da estrutura de decisão Switch para decidi qual operação utilizar, de acordo com a entrada do usuário.
using System;
namespace Project1
{
class MainClass
{
public static void Main (string[] args)
{
int a, b, c;
char operacao;
Console.WriteLine ("Por favor digite a operação a realizar.");
operacao = Convert.ToChar (Console.ReadLine ());
Console.WriteLine ("Por favor digite os numeros para realizar a operação");
a = Convert.ToInt32 (Console.ReadLine ());
b = Convert.ToInt32( Console.ReadLine());
switch (operacao) {
case '+' :
c = a + b;
Console.WriteLine ("O valor da soma eh: " + c);
break;
case '-' :
c = a - b;
Console.WriteLine ("O valor da subtracao eh: " + c);
break;
case '*' :
c = a * b;
Console.WriteLine ("O valor da multiplicacao eh: " + c);
break;
case '/' :
c = a / b;
Console.WriteLine ("O valor da divisao eh: " + c);
break;
}
}
}
}
quarta-feira, 16 de março de 2016
Links Uteis
Estarei trazendo aqui para vocês alguns links uteis para auxiliar no aprendizado da sua linguagem de programação.
Canal do YouTube da eXcript - Tras vários cursos grátis: PHP, Python, Java, Python + SQLite, C, C++ e um pouco de Android.
https://www.youtube.com/user/excriptvideo
Canal do YouTube do DeAlunoParaAluno - Trazendo curso completo da linguagem C, muito recomendado.
https://www.youtube.com/playlist?list=PLa75BYTPDNKZWYypgOFEsX3H2Mg-SzuLW
Canal do YouTube do Marcos Castro - Trazendo curso de C++ e Haskell para iniciantes, muito bom tambem, super recomendado.
https://www.youtube.com/user/marcoscastro87/playlists
Canal do YouTube do TVGuarapa - Trazendo cursos de Linux e suas distribuições, HTML e Criação de Sites, e vários Editores de Imagens.
https://www.youtube.com/user/tvguarapa/playlists
Canal do YouTube da Bóson Treinamentos - Tras vários cursos de Computação em Geral, Python, Linux e distros, e Banco de Dados MySQL.
https://www.youtube.com/user/bosontreinamentos/playlists
Canal do YouTube do Danilo Aparecido - Trazendo projeto Torne-se um Programador, com curso de lógica de programação e introdução ao desenvolvimento Web.
https://www.youtube.com/user/Didox59/playlists
Canal do YouTube do Curso em Vídeo - Trazendo curso de Java, PHP, HTML e CSS, Logica de Programação e Branco de Dados MySQL.
https://www.youtube.com/user/cursosemvideo/playlists
Plataforma de Cursos Code Academy - Trazendo inúmeros cursos como: Python, Ruby, Java, HTML, JavaScript, JQuery, PHP, e vários cursos para usuários mais avançados como: Criação de Sites para quem ja tem básico do HTML E Css, Framework Ruby on Rails para quem já conhece Ruby, Bancos de Dados SQL, Sites interativos para quem já conhece JavaScript e JQuery, e muito mais.
https://www.codecademy.com/pt-BR
Cursos Gratuitos Online na DevMedia - Trazendo cursos de HTML, C# e Java Aplicado.
http://www.devmedia.com.br/cursos/gratuitos
Plataforma de versionamento de código Git, e onde trabalhos Open Source são realizados, e onde você pode ajudar em algum projeto e criar seus próprios - GitHub.
https://github.com/
Canal do YouTube da eXcript - Tras vários cursos grátis: PHP, Python, Java, Python + SQLite, C, C++ e um pouco de Android.
https://www.youtube.com/user/excriptvideo
Canal do YouTube do DeAlunoParaAluno - Trazendo curso completo da linguagem C, muito recomendado.
https://www.youtube.com/playlist?list=PLa75BYTPDNKZWYypgOFEsX3H2Mg-SzuLW
Canal do YouTube do Marcos Castro - Trazendo curso de C++ e Haskell para iniciantes, muito bom tambem, super recomendado.
https://www.youtube.com/user/marcoscastro87/playlists
Canal do YouTube do TVGuarapa - Trazendo cursos de Linux e suas distribuições, HTML e Criação de Sites, e vários Editores de Imagens.
https://www.youtube.com/user/tvguarapa/playlists
Canal do YouTube da Bóson Treinamentos - Tras vários cursos de Computação em Geral, Python, Linux e distros, e Banco de Dados MySQL.
https://www.youtube.com/user/bosontreinamentos/playlists
Canal do YouTube do Danilo Aparecido - Trazendo projeto Torne-se um Programador, com curso de lógica de programação e introdução ao desenvolvimento Web.
https://www.youtube.com/user/Didox59/playlists
Canal do YouTube do Curso em Vídeo - Trazendo curso de Java, PHP, HTML e CSS, Logica de Programação e Branco de Dados MySQL.
https://www.youtube.com/user/cursosemvideo/playlists
Plataforma de Cursos Code Academy - Trazendo inúmeros cursos como: Python, Ruby, Java, HTML, JavaScript, JQuery, PHP, e vários cursos para usuários mais avançados como: Criação de Sites para quem ja tem básico do HTML E Css, Framework Ruby on Rails para quem já conhece Ruby, Bancos de Dados SQL, Sites interativos para quem já conhece JavaScript e JQuery, e muito mais.
https://www.codecademy.com/pt-BR
Cursos Gratuitos Online na DevMedia - Trazendo cursos de HTML, C# e Java Aplicado.
http://www.devmedia.com.br/cursos/gratuitos
Plataforma de versionamento de código Git, e onde trabalhos Open Source são realizados, e onde você pode ajudar em algum projeto e criar seus próprios - GitHub.
https://github.com/
Paradigma de Programação Orientada a Objetos
A POO (Programação Orientada a Objetos) foi criada para aproximar o mundo virtual do mundo real.
Afinal nosso mundo real é composto de objetos.
Na POO os objetos possuem características, e interagem entre si através de "mensagens" e ações quando recebe a devida "mensagem".
A Orientação a objetos é uma maneira de programar que ajuda na organização e na resolução de problemas que enfrentamos na linguagem estruturada/procedural.
Na POO nos temos Classes, Métodos, Atributos e Herança. No qual um objeto pertence a uma classe, e recebe seus devidos atributos. Herança é quando uma Classe herda os atributos de uma classe mãe. Métodos são como funções que possuem ações para o objeto responder e realizar.
Os exemplos de linguagens com Paradigma Orientado a Objetos são muitos, mas o mais conhecidos são: Java, C++, C#, Python, Ruby, PHP, entre outros.
Eu pessoalmente Utilizo muito o Ruby, e de vez em quando dou olhada em C++.
Aqui no blog postarei sobre Ruby algumas vezes, juntamente com a Estruturada C, e quando possível postarei também C++ e talvez C# que é uma "prima" do C++.
Para Maiores informações sobre a comparação entre a Orientação a Objetos e a Programação Estruturada, visite: http://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264.
Afinal nosso mundo real é composto de objetos.
Na POO os objetos possuem características, e interagem entre si através de "mensagens" e ações quando recebe a devida "mensagem".
A Orientação a objetos é uma maneira de programar que ajuda na organização e na resolução de problemas que enfrentamos na linguagem estruturada/procedural.
Na POO nos temos Classes, Métodos, Atributos e Herança. No qual um objeto pertence a uma classe, e recebe seus devidos atributos. Herança é quando uma Classe herda os atributos de uma classe mãe. Métodos são como funções que possuem ações para o objeto responder e realizar.
Os exemplos de linguagens com Paradigma Orientado a Objetos são muitos, mas o mais conhecidos são: Java, C++, C#, Python, Ruby, PHP, entre outros.
Eu pessoalmente Utilizo muito o Ruby, e de vez em quando dou olhada em C++.
Aqui no blog postarei sobre Ruby algumas vezes, juntamente com a Estruturada C, e quando possível postarei também C++ e talvez C# que é uma "prima" do C++.
Para Maiores informações sobre a comparação entre a Orientação a Objetos e a Programação Estruturada, visite: http://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264.
Menor número de um vetor
Um exemplo de um programa simples utilizando vetores.
Ele recebe 5 números digitados pelo usuário e retorna o menor dos números digitados.
Utiliza do laço de repetição 'For' para receber os números e para iterar pelo vetor.
Utiliza do 'If' para fazer a comparação e selecionar o menor número.
Ele recebe 5 números digitados pelo usuário e retorna o menor dos números digitados.
Utiliza do laço de repetição 'For' para receber os números e para iterar pelo vetor.
Utiliza do 'If' para fazer a comparação e selecionar o menor número.
#include <stdio.h>
int main(){
int vet[5], i, menor;
printf("Digite 5 numeros.\n");
for(i=0; i<5; i++){
scanf("%i", &vet[i]);}
menor = vet[0];
for(i = 0; i <= 5; i++){
if(menor > vet[i])
menor = vet[i];
}
printf("O Menor numero digitado foi: %i", menor);
return 0;
}Array: Vetores
Vetor é uma coleção de variáveis do mesmo tipo, que usam do mesmo nome e compartilham posições consecutivas na memoria. Cada posição de um vetor se denomina Índice e começa do '0' e vai ate 'n'(um numero determinado pelo usuário ou programador).
Um vetor pode ser de qualquer tipo de variável, seja int, float, char... entre outras.
Sua forma de iniciar é como uma variável normal, porem seu nome precede um '[]' com o numero máximo de elementos.
Ex.:
Tambem podemos declarar desta forma:
Ex.:
E desta:
Ex.:
Observe que vai de '0' á '4'. Por isso seu ultimo índice é 'n-1'.
Um vetor pode ser de qualquer tipo de variável, seja int, float, char... entre outras.
Sua forma de iniciar é como uma variável normal, porem seu nome precede um '[]' com o numero máximo de elementos.
Ex.:
int vet[5];
vet[5] = {1, 2, 3, 4, 5};Tambem podemos declarar desta forma:
Ex.:
int vet[5] = {1, 2, 3, 4, 5};E desta:
Ex.:
int vet[5];
vet[0] = 1;
vet[1] = 2;
vet[2] = 3;
vet[3] = 4;
vet[4] = 5;Observe que vai de '0' á '4'. Por isso seu ultimo índice é 'n-1'.
quinta-feira, 10 de março de 2016
GitHub - Gist
Trazendo para voces meu endereço do Gist, onde compartilho códigos para a comunidade, tanto de Ruby quanto de C e C++.
https://gist.github.com/lucassouza252
https://gist.github.com/lucassouza252
Banco Virtual em Ruby
Trazendo aqui um "Banco Virtual" escrito na linguagem Ruby.
Ele possui um menu que pode ser acessado pelas chaves numéricas de 1 a 5, e usa do loop While para ficar num menu continuo ate que o cliente escolha sair. Usei 2 arquivos, um apenas para script, e outro para interagir com pessoa.
Baseado em apenas 1 cliente.
Interação:
Ele possui um menu que pode ser acessado pelas chaves numéricas de 1 a 5, e usa do loop While para ficar num menu continuo ate que o cliente escolha sair. Usei 2 arquivos, um apenas para script, e outro para interagir com pessoa.
Baseado em apenas 1 cliente.
Interação:
# encoding: UTF-8
require_relative 'ClasseAccount.rb'
puts "Ola! Bem vindo ao nosso Banco Virtual!\n\n"
continue = true
while continue
puts"Acesse atraves das chaves 1..5"
puts "1 - Cadastro do cliente"
puts "2 - Visualizar Saldo"
puts "3 - Deposito"
puts "4 - Sacar"
puts "5 - Sair"
acesso = gets
case acesso.to_i
when 1
puts "\nPor favor digite seu nome: "
name = gets.chomp
puts "Por favor digite seu saldo inicial"
saldo = gets.chomp
client1 = Account.new(name, saldo.to_i)
puts "Cliente cadastrado com sucesso! Sua senha Voce ja sabe qual é."
puts "\nDigite <s> para voltar."
volta = gets.chomp
if volta == 's' || volta == 'S'
system "clear"
end
when 2
puts "\nDigite sua senha de 4 digitos: "
senha = gets.chomp
client1.display_balance(senha.to_i)
puts "\nDigite <s> para voltar."
volta = gets.chomp
if volta == 's' || volta == 'S'
system "clear"
end
when 3
puts "\nDigite o valor que irá depositar: "
valor = gets.chomp
client1.deposit(valor.to_i)
puts "\nDigite <s> para voltar."
volta = gets.chomp
if volta == 's' || volta == 'S'
system "clear"
end
when 4
puts "\nDigite sua senha: "
senha = gets.chomp
puts "Digite o valor do saque: "
valor = gets.chomp
client1.withdraw(senha.to_i, valor.to_i)
puts "\nDigite <s> para voltar."
volta = gets.chomp
if volta == 's' || volta == 'S'
system "clear"
end
when 5
puts "\nObrigado por usar nossos Serviços."
continue = false
else
puts "\nOpção invalida!"
puts "\nDigite <s> para voltar."
volta = gets.chomp
if volta == 's' || volta == 'S'
system "clear"
end
end
end
Script:
# encoding: UTF-8
class Account
attr_reader :name, :balance
def initialize(name, balance=100)
@name = name
@balance = balance
end
private
def pin
@pin = 1234
end
private
def pin_error
return "Acesso negado: PIN incorreto."
end
public
def display_balance(pin_number)
if pin_number == pin
puts "Saldo $#{@balance}"
else
puts pin_error
end
end
public
def withdraw(pin_number, amount)
if pin_number == pin
if amount > @balance
puts "Impossivel realizar operação, valor mais alto que saldo"
else
@balance -= amount
puts "Retirado $#{amount}. Novo saldo: $#{@balance}."
end
else
puts pin_error
end
end
public
def deposit(value)
@balance += value
puts "Deposito efetuado com Sucesso! Novo saldo: $#{@balance}"
end
end
Ciclo For()
Vamos falar do ciclo For.
Do inglês 'para' ele recebe uma variável com um valor inicial, incrementa esta variável ou decrementa, ate chegar a condição colocada.
Seu formato é: for(inicio; fim; variação;){
ação... }
Ex.:
Neste exemplo o ciclo ira se repetir 5 vezes, e a ação realizada sera imprimir um Ola 5 vezes, mostrando o numero da vez, como 'i' sera incrementada, ele vai aumentando toda vez que o ciclo se repete.
Do inglês 'para' ele recebe uma variável com um valor inicial, incrementa esta variável ou decrementa, ate chegar a condição colocada.
Seu formato é: for(inicio; fim; variação;){
ação... }
Ex.:
int i;
for(i = 0; i < 5; i++){
printf("Ola pela %i vez(es)\n", i);Neste exemplo o ciclo ira se repetir 5 vezes, e a ação realizada sera imprimir um Ola 5 vezes, mostrando o numero da vez, como 'i' sera incrementada, ele vai aumentando toda vez que o ciclo se repete.
sábado, 5 de março de 2016
Produto Escalar
Produto escalar, é a multiplicação de dois vetores que resulta em um escalar, ou seja, um número.
Ex.: v =(x1, y1, z1), u =(x2, y2, z2)
v * u = (x1*x2 + y1*y2 + z1*z2).
Transcrevendo isto para um algoritmo, recebendo os vetores do usuário.
Ex.: v =(x1, y1, z1), u =(x2, y2, z2)
v * u = (x1*x2 + y1*y2 + z1*z2).
Transcrevendo isto para um algoritmo, recebendo os vetores do usuário.
#include <stdio.h>
int main(void){
int i, j, a= 0, vetorA[3], vetorB[3];
printf("Digite o valor dos vetor A:\n");
for(j=0; j<3; j++){
scanf("%i", &vetorA[j]);
}
printf("Digite o valor do vetor B:\n");
for(j=0; j<3; j++){
scanf("%i", &vetorB[j]);
}
for(j=0; j<3; j++){
a += vetorA[j] * vetorB[j];}
printf("O valor eh: %i ", a);
return 0;}quarta-feira, 2 de março de 2016
Sequencia de Fibonacci
Venho trazer para vocês a famosa Sequencia de Fibonacci.
Ela consiste numa sequencia de números em que um numero é a soma dos dois anteriores.
Ex.: 0, 1, 1, 2, 3, 5, 8, 13, 21...
O algoritmo utiliza a estrutura de repetição While, e ele para a sequencia com um numero digitado pelo usuário.
Ela consiste numa sequencia de números em que um numero é a soma dos dois anteriores.
Ex.: 0, 1, 1, 2, 3, 5, 8, 13, 21...
O algoritmo utiliza a estrutura de repetição While, e ele para a sequencia com um numero digitado pelo usuário.
#include <stdio.h>
int main(){
int num1, num2, n, num3;
num1 = 0; num2 = 1;
printf("Sequencia de Fibonacci!! Digite o numero pra parar a sequencia.\n");
scanf("%i", &n);
printf("\n0, 1");
while(num2 < n){
num3 = num1 + num2;
printf(", %i", num3);
num1 = num2;
num2 = num3;
}
return 0;
}terça-feira, 1 de março de 2016
Comando de Repetição - While
Quando vamos programar, as vezes precisamos realizar uma ação varias vezes, podendo ate ser tantas vezes que seria muito difícil fazer manualmente.
Para este e muitos outros propósitos temos a estrutura de repetição.
Ela se divide em While; For; Do... While.
Agora vamos ver sobre o While.
Do inglês 'Enquanto', ele funciona com uma condição, em quanto esta condição for verdadeira, ele realizará um loop, ou seja, uma repetição.
Seu formato é: while(condição){
...comandos... }
Ex.:
Neste exemplo declaramos o inteiro ' a ' com valor dez e criamos o laço de repetição com condição de que enquanto ' a ' for menor igual a dez, print na tela o inteiro ' a ' e acrescentar +1 ao inteiro ' a '.
Para este e muitos outros propósitos temos a estrutura de repetição.
Ela se divide em While; For; Do... While.
Agora vamos ver sobre o While.
Do inglês 'Enquanto', ele funciona com uma condição, em quanto esta condição for verdadeira, ele realizará um loop, ou seja, uma repetição.
Seu formato é: while(condição){
...comandos... }
Ex.:
int a = 10;
while( a <= 10){
printf("%i \n", a);
a = a + 1; }Neste exemplo declaramos o inteiro ' a ' com valor dez e criamos o laço de repetição com condição de que enquanto ' a ' for menor igual a dez, print na tela o inteiro ' a ' e acrescentar +1 ao inteiro ' a '.
segunda-feira, 29 de fevereiro de 2016
Ruby *-*
Linguagem Ruby é uma linguagem poderosa e de fácil aprendizagem. Muito famosa pelo seu Framework Ruby on Rails, ela é muito utilizada para desenvolvimento web, desenvolvimento de jogos, software, e muito mais.
Um pequeno exemplo do famoso "Hello World", em Ruby.
Um pequeno exemplo do famoso "Hello World", em Ruby.
puts "Hello World"
sábado, 27 de fevereiro de 2016
Área de Circulo
Trazendo para vocês mais um código simples, área de um circulo, com raio fornecido pelo usuário.
Utiliza função para receber valor de pi e raio, e retorna valor da área.
Utiliza função para receber valor de pi e raio, e retorna valor da área.
#include <stdio.h>
#include <math.h>
int main(){
float AreaCirculo(float pi, float r);
float r, a;
float pi = 3.14;
printf("Digite o valor do raio.\n");
scanf("%f", &r);
a = AreaCirculo(pi, r);
printf("O valor do raio eh: %0.2f", a);
return 0;}
float AreaCirculo(float pi, float r){
float area = pi * pow(r,2);
return area;}
Operadores Relacionais
Em C usamos operadores relacionais, geralmente, para impor uma condição, seja em estruturas condicionais ou em repetição.
São eles:
' > ' - Maior que;
' < ' - Menor que;
' == ' - Igual a;
' != ' - Diferente de;
' >= ' - Maior igual a;
' <= ' - Menor igual a.
Muitos confundem o ' == ' com o ' = '.
Vale lembrar que o ' = ' é um atribuidor, ou seja, ele atribui algo, como em uma variável inteira, ele atribui um valor àquela variável.
Ex.:
int a = 2;
Isto quer dizer que ' a ' vale 2, ou seja, ' a ' é igual a 2.
' == ' é um operador relacional que significa 'igual' .
Ex.:
if( a == 2){ printf("a é 2 "); }
Isto quer dizer que, ele propõe que se ' a ' for ' igual ' a 2, para imprimir a mensagem.
Recomendação de Plataforma de Cursos
Hoje gostaria de apresentar a vocês uma plataforma, free, de ensino.
Ela possui cursos de varias linguagens de programação, bancos de dados, criação de sites, e muitas outras coisas.
Vale muito a pena conferir, e tentar aprender algo com ela.
Basta apenas cadastrar e estudar.
Alguns cursos são em inglês, mas outros são totalmente traduzidos para o português.
Confere ai:
https://www.codecademy.com
Bons Estudos.
Ela possui cursos de varias linguagens de programação, bancos de dados, criação de sites, e muitas outras coisas.
Vale muito a pena conferir, e tentar aprender algo com ela.
Basta apenas cadastrar e estudar.
Alguns cursos são em inglês, mas outros são totalmente traduzidos para o português.
Confere ai:
https://www.codecademy.com
Bons Estudos.
quinta-feira, 25 de fevereiro de 2016
Estrutura de Decisões Multiplas
Quando precisamos fazer a decisão entre varias alternativas, a estrutura de decisão múltipla é a mais adequada, dependendo da logica do programador.
'switch' - É o comando de decisão múltiplas que utilizando de casos toma a decisão mais adequada e realiza suas respectivas ações.
Sua forma é: switch(nome_da_variável){
case argumento 1:{
sequencia de comandos...;}
break;
default;{
sequencia de comandos...;}
break;}
'case' - Encontra o caso em que a constante é igual o valor da expressão.
'break' - Termina a linha de comandos do 'case' fazendo com que vá para próxima linha, sendo executada apenas se for verdadeira.
Ex.:
'switch' - É o comando de decisão múltiplas que utilizando de casos toma a decisão mais adequada e realiza suas respectivas ações.
Sua forma é: switch(nome_da_variável){
case argumento 1:{
sequencia de comandos...;}
break;
default;{
sequencia de comandos...;}
break;}
'case' - Encontra o caso em que a constante é igual o valor da expressão.
'break' - Termina a linha de comandos do 'case' fazendo com que vá para próxima linha, sendo executada apenas se for verdadeira.
Ex.:
x=3
switch(x){
case 1:{
printf("numero 1");}
break;
case 2:{
printf("numero 2");}
break;
case 3:{
printf("numero 3");}
break;
default:{
printf("numero desconhecido.");}
break;
Tomada de Decisão
Vamos falar sobre tomada de decisões.
Em C podemos fazer nosso programa tomar decisões, fazer escolhas, e dependendo destas escolhas, realizar algumas ações.
O comando 'if ' , do inglês If, traduzido como 'se', verifica a condição imposta pelo programador, dentro do argumento, se a condição for verdadeira, realiza a devida ação, se for falsa, pula para próxima linha de comando.
Seu formato é: if (argumentos){
sequencia de comandos... }
'else ' - É do inglês Else, significa 'se não', ou seja funciona como um contra ao if (se), da forma que se o 'if' foi verdadeiro o 'else' será falso.
Ex.:
'else if' - É como uma segunda opção para o condicional 'if'. O programa testa a condição do 'if', caso nao seja verdadeira, ele pula para o proximo comando. Sendo este o 'else if' funcionando como um 'if' o programa testa a condição. Caso verdadeira realiza a ação, caso falsa, pula para proxima linha de comando. Pode-se usar varios 'else if'.
Seu formato é o mesmo que do 'if'.
Ex.:
Em C podemos fazer nosso programa tomar decisões, fazer escolhas, e dependendo destas escolhas, realizar algumas ações.
O comando 'if ' , do inglês If, traduzido como 'se', verifica a condição imposta pelo programador, dentro do argumento, se a condição for verdadeira, realiza a devida ação, se for falsa, pula para próxima linha de comando.
Seu formato é: if (argumentos){
sequencia de comandos... }
'else ' - É do inglês Else, significa 'se não', ou seja funciona como um contra ao if (se), da forma que se o 'if' foi verdadeiro o 'else' será falso.
Ex.:
x=12;
if(x > 10){
printf("maior que dez.");}
else
printf("menor que dez.");'else if' - É como uma segunda opção para o condicional 'if'. O programa testa a condição do 'if', caso nao seja verdadeira, ele pula para o proximo comando. Sendo este o 'else if' funcionando como um 'if' o programa testa a condição. Caso verdadeira realiza a ação, caso falsa, pula para proxima linha de comando. Pode-se usar varios 'else if'.
Seu formato é o mesmo que do 'if'.
Ex.:
x=12;
if(x < 10){
printf("menor que dez.");}
else if(x == 10){
printf("igual a dez.");}
else
printf("maior que dez");
quarta-feira, 24 de fevereiro de 2016
Alguns comandos simples do C.
Muitas pessoas que estão iniciando na área da programação acham estranhos alguns comandos, principalmente se não tem uma boa base de inglês.
Vamos desmitificar-los um pouco.
'include' - É utilizado para incluir as bibliotecas, que são responsáveis pelas funções como operações matemáticas, entrada e saída, controle do sistema entre outros.
Variáveis: 'int', 'float', 'char' - São as mais comuns variáveis usadas no C. Sendo 'int' para números inteiros, 'float' para pontos flutuantes(dizimas), 'char' para todo tipo de caractere seja letra, numero, símbolos.
'printf' - É a função de output do C. Do inglês Print, que significa Imprimir, ela imprime na tela do usuário seus devidos argumentos.
Seu uso é dado por: printf("argumento");
O 'printf' pode ser formatado quando vai imprimir um tipo de variável.
Ex.:
printf(" %i.", x);
Neste exemplo ela imprimiu o valor da variável inteira 'x'. Podemos formatar esta saída utilizando numero para antes da virgula e para depois da virgula.
Ex.:
printf(" %2.3f", y);
Neste exemplo utilizamos 2 antes da virgula e 3 depois, para ponto flutuante 'y'. Isto quer dizer que, antes da virgula admite-se ate no máximo 2 algarismos, e depois da virgula um maximo de 3 algarismos.
Ex.:
y = 123.456;
printf(" %2.2f", y);
Output:
12,45 .
'scanf' - É a função de input do C. Do inglês Scan, que significa Varredura, Ler, ela lê uma entrada do usuário e armazena na devida variável.
Seu uso se da por: scanf(" %tipo_da_variável", &nome_da_variável);
'main()' - É a função principal do C, É nela que toda a sequencial de comandos será escrita.
terça-feira, 23 de fevereiro de 2016
Aos Iniciantes, e Também Veteranos na Área
Muitas pessoas ao chegar na faculdade e deparar com a matéria de Programação (no meu caso chama Processamento de Dados 1), encontra uma dificuldade de lidar com os assuntos e a matéria em si.
Muita gente acha que isto é um problema pessoal dela, por não estar conseguindo acompanhar ou aprender.
Na verdade isso é um reflexo do obvio, não ter contato com a programação no ensino da escola.
Programação é uma matéria que deve ser aprendida da mesma forma que português ou matemática. Precisa dedicação e pratica. Deveria ser ensinada desde o primário, porem em nosso sistema de ensino, do Brasil, não existe esse tipo de matéria, a menos que a pessoa pague um curso extra.
E para piorar a situação, nas turmas sempre tem aqueles que são mais adiantados e já entendem, mesmo que pouco, de programação, fazendo com que o professor passe pelo básico de forma mais rápida e indo direto ao mais avançado, o que complica ainda mais para as pessoas que tem dificuldades.
Se você caro leitor, se encontra nesta situação, saiba que o problema não é com você, pois mesmo que com dificuldade, todos podem aprender programação.
Para isso precisa de uma certa dedicação. Estudar a parte teórica, e sempre estar treinando a parte pratica.
Aconselho conversar com seu professor e explicar sua situação e ele entenderá, e fara o possível para ajudar. Buscar os colegas que entendem do assunto também te ajudará bastante.
Mas nada melhor que contar com si mesmo, fazer as buscas por si te trará frutos maiores para sua conquista. No Google existem inúmeros materiais referentes a programação, sejam eles apostilhas, videos, livros, blogs, e muito mais.
Comece estudando logica, pois será o que mais usará no teu percurso de programador.
Logo depois escolha a tua linguagem que usará, seja ela para faculdade ou para qualquer outro motivo que tenhas.
No inicio recomendo não ficar tentando aprender varias linguagens, mas sim focar em apenas uma, descobrir os pontos fracos dela e pensar no que fazer para contornar isto, aprender a usar ela ao máximo, e depois quando você achar que já esta bom o suficiente na linguagem, pode começar aprender outra, ou se a situação pedir, pode ate começar mais cedo. Tudo depende do seu interesse.
Programar não é difícil, mas precisa dedicar, e persistir. E se você realmente gostar da área, é algo muito bom e divertido a se fazer.
Desejo boa sorte em sua jornada.
E Bem Vindo(a) a Programação.
Muita gente acha que isto é um problema pessoal dela, por não estar conseguindo acompanhar ou aprender.
Na verdade isso é um reflexo do obvio, não ter contato com a programação no ensino da escola.
Programação é uma matéria que deve ser aprendida da mesma forma que português ou matemática. Precisa dedicação e pratica. Deveria ser ensinada desde o primário, porem em nosso sistema de ensino, do Brasil, não existe esse tipo de matéria, a menos que a pessoa pague um curso extra.
E para piorar a situação, nas turmas sempre tem aqueles que são mais adiantados e já entendem, mesmo que pouco, de programação, fazendo com que o professor passe pelo básico de forma mais rápida e indo direto ao mais avançado, o que complica ainda mais para as pessoas que tem dificuldades.
Se você caro leitor, se encontra nesta situação, saiba que o problema não é com você, pois mesmo que com dificuldade, todos podem aprender programação.
Para isso precisa de uma certa dedicação. Estudar a parte teórica, e sempre estar treinando a parte pratica.
Aconselho conversar com seu professor e explicar sua situação e ele entenderá, e fara o possível para ajudar. Buscar os colegas que entendem do assunto também te ajudará bastante.
Mas nada melhor que contar com si mesmo, fazer as buscas por si te trará frutos maiores para sua conquista. No Google existem inúmeros materiais referentes a programação, sejam eles apostilhas, videos, livros, blogs, e muito mais.
Comece estudando logica, pois será o que mais usará no teu percurso de programador.
Logo depois escolha a tua linguagem que usará, seja ela para faculdade ou para qualquer outro motivo que tenhas.
No inicio recomendo não ficar tentando aprender varias linguagens, mas sim focar em apenas uma, descobrir os pontos fracos dela e pensar no que fazer para contornar isto, aprender a usar ela ao máximo, e depois quando você achar que já esta bom o suficiente na linguagem, pode começar aprender outra, ou se a situação pedir, pode ate começar mais cedo. Tudo depende do seu interesse.
Programar não é difícil, mas precisa dedicar, e persistir. E se você realmente gostar da área, é algo muito bom e divertido a se fazer.
Desejo boa sorte em sua jornada.
E Bem Vindo(a) a Programação.
Strcat e Strcpy
Utilizando a biblioteca string.h.
Declarando duas variáveis do tipo 'char', e copiando nelas com "strcpy" meu nome e sobrenome respectivamente, depois concatenando usando o comando "strcat".
Obs.: Na primeira string, terminei o nome com um espaço.
Declarando duas variáveis do tipo 'char', e copiando nelas com "strcpy" meu nome e sobrenome respectivamente, depois concatenando usando o comando "strcat".
Obs.: Na primeira string, terminei o nome com um espaço.
#include <stdio.h>
#include <string.h>
int main(){
char str1[15], str2[15];
strcpy(str1, "Lucas ");
strcpy(str2, "Souza");
strcat(str1, str2);
printf("Meu nome eh: %s.\", str1);
return 0;}
Operações Matemáticas
Algoritmo que realiza uma operação matemática simples. Lê do usuário o simbolo referente a operação, realiza-a, e retorna a resposta.
Utiliza estrutura condicional "Switch".
Utiliza estrutura condicional "Switch".
#include <stdio.h>
int main() {
int a, b, c, d;
char op;
printf("Digite o simbolo que deseja realizar operacao.\n");
scanf("%c", &op);
switch (op){
case '+': {
printf("Digite os dois numeros para somar separados por um espaco.\n");
scanf("%i %i", &a, &b);
c = a + b;
printf("O resultado eh: %i.\n", c);
break;}
case'-': {
printf("Digite os dois numeros a subtrair, separados por um espaco.\n");
scanf("%i %i", &a, &b);
c = a - b;
printf("O resultado eh: %i.\n", c);
break;}
case '*': {
printf("Digite os dois numeros a multiplicar, separados por um espaco.\n");
scanf("%i %i", &a, &b);
c = a*b;
printf("O resultado eh: %i", c);
break;}
case '/': {
printf("Digite os numeros para dividir, separados por um espaco.\n");
scanf("%i %i", &a, &b);
c = a / b;
d = a % b;
printf("O resultado eh: %i, e o resto eh: %i.\n",c, d);
break;}
}
return 0;
}
Assinar:
Comentários (Atom)













