Boa tarde pessoal, com o fim do ano letivo, vamos ás postagem !
Um dica bem simples, mas que nos facilita a vida é descobrir qual a nossa ditribuição Linux.
É muito simples :
Vá ao terminal e digite : cat /etc/issue
É isso pessoal, uma dica bem simples !
Até mais !
Abraço a todos.
sábado, 14 de dezembro de 2013
sábado, 16 de novembro de 2013
Concatenar variáveis dentro de String em PHP
Bom noite !
Como eu havia prometido, vamos postar algumas dicas em PHP para iniciantes na linguagem, ou seja, coisas bem simples.
Vamos começar com um probleminha que nos ocorre quando estamos começando.
Como concatenar dentro de um echo, variáveis PHP ?
Bem simples.
Imaginamos uma vairável $nome.
$nome = "Rafael Schneider" ;
Existe mais de uma forma de mostrarmos o valor da variável $nome dentro de uma String. Vou lhes mostrar a forma que eu estou usando no momento e que tem me ajudado a montar inserts em banco de dados.
Exemplo :
echo " Meu nome é {$nome}.";
Esta é a forma que eu tenho usado ultimamente. Neste caso acima, o retorno da tela deve ser :
Meu nome é Rafael Schneider .
Em caso de inserts de banco, que foi o meu caso, e é necessário colocar aspas simples na variável, fazemos assim :
echo " Meu nome é '{$nome}'.";
onde a saída vai ser :
Meu nome é 'Rafael Schneider'.
Ok Pessoal ?
Existem outras formas, mas prefiro ficar com essa, caso tenham alguma dúvida, basta perguntar!
Até a próxima.
Como eu havia prometido, vamos postar algumas dicas em PHP para iniciantes na linguagem, ou seja, coisas bem simples.
Vamos começar com um probleminha que nos ocorre quando estamos começando.
Como concatenar dentro de um echo, variáveis PHP ?
Bem simples.
Imaginamos uma vairável $nome.
$nome = "Rafael Schneider" ;
Existe mais de uma forma de mostrarmos o valor da variável $nome dentro de uma String. Vou lhes mostrar a forma que eu estou usando no momento e que tem me ajudado a montar inserts em banco de dados.
Exemplo :
echo " Meu nome é {$nome}.";
Esta é a forma que eu tenho usado ultimamente. Neste caso acima, o retorno da tela deve ser :
Meu nome é Rafael Schneider .
Em caso de inserts de banco, que foi o meu caso, e é necessário colocar aspas simples na variável, fazemos assim :
echo " Meu nome é '{$nome}'.";
onde a saída vai ser :
Meu nome é 'Rafael Schneider'.
Ok Pessoal ?
Existem outras formas, mas prefiro ficar com essa, caso tenham alguma dúvida, basta perguntar!
Até a próxima.
Fim do Período de Inatividade !
Boa noite.
Este post é o fim da inatividade deste blog !
Peço desculpas ás pessoas que passaram o último mes procurando por novidades neste blog, mas não encontraram nada. Por falta de tempo, não consegui postar nada, mas agora, ao fim do semestre, terminando as provas finais e trabalhos da faculdade, vou conseguir me dedicar mais.
Estou com alguns projetos paralelos, e este também foi um motivo para a inatividade.
Um dos temas que vou começar a postar, vai ser o PHP, mas não em forma de curso, até porque ainda estou aprendendo a linguagem, mas dicas úteis para iniciantes iguais a mim.
Era essa a mensagem que eu queria postar.
Obrigado pela compreensão e tomara que continuem nos visitando.
Este post é o fim da inatividade deste blog !
Peço desculpas ás pessoas que passaram o último mes procurando por novidades neste blog, mas não encontraram nada. Por falta de tempo, não consegui postar nada, mas agora, ao fim do semestre, terminando as provas finais e trabalhos da faculdade, vou conseguir me dedicar mais.
Estou com alguns projetos paralelos, e este também foi um motivo para a inatividade.
Um dos temas que vou começar a postar, vai ser o PHP, mas não em forma de curso, até porque ainda estou aprendendo a linguagem, mas dicas úteis para iniciantes iguais a mim.
Era essa a mensagem que eu queria postar.
Obrigado pela compreensão e tomara que continuem nos visitando.
quinta-feira, 3 de outubro de 2013
Música - Faith no More - War Pigs 1991
Para movimentar o blog e já mostrar mais uma das minhas bandas prediletas, essa talvez seja a minha preferida de todos os tempos, junto com os Peppers...
Já estou em ritmo de show do Sabbath em Porto Alegre, então segue uma sonzeira, Mike Patton em uma performance incrível !!
Já estou em ritmo de show do Sabbath em Porto Alegre, então segue uma sonzeira, Mike Patton em uma performance incrível !!
quarta-feira, 2 de outubro de 2013
Software Alternativo - PilotEdit - Carrega arquivos de até 4Gb !!
Boa noite pessoal,
hoje me deparei com uma situação até então inusitada para mim. precisei abrir um arquivo txt de 873 mb ,e não abriu no notepad e no notepad ++. Procurando na internet encontrei um cara chamado PilotEdit. Muito bom editor e abre arquivos de até 4Gb !
Fácil de usar e com os mesmos atalhos do notepad ++. Então se algum dia precisarem, este é um ótimo software alternativo !!
hoje me deparei com uma situação até então inusitada para mim. precisei abrir um arquivo txt de 873 mb ,e não abriu no notepad e no notepad ++. Procurando na internet encontrei um cara chamado PilotEdit. Muito bom editor e abre arquivos de até 4Gb !
Fácil de usar e com os mesmos atalhos do notepad ++. Então se algum dia precisarem, este é um ótimo software alternativo !!
quarta-feira, 25 de setembro de 2013
Música - Red Hot Chili Peppers - Blackeyed Blond 1985
Nova sessão do Blog !!! Música !!
Para começar, uma banda que marcou minha vida, mais precisamente minha adolescência !
RHCP ao melhor estilo !!
Red Hot Chili Peppers
* 1985 + 1995
Para começar, uma banda que marcou minha vida, mais precisamente minha adolescência !
RHCP ao melhor estilo !!
Red Hot Chili Peppers
* 1985 + 1995
Dica - Wamp fica online mas não abre localhost - ERRO 404
Boa noite Pessoal !!
Hoje aconteceu uma situação comigo quando fui configurar o WAMP em um local onde já estava ocupada a porta 80.
Retornava erro 404.
Entre em na aba Apache e dentro dela abra o httpd.conf.
Dentro deste documento procure por "Listen" e substitua a porta 80 por 8080.
Exemplo :
Listen 80
substitua por
Listen 8080.
Reinicie todos os serviços do WAMP e no browser acesse :
http:\\localhost:8080
Isso já será suficiente para acessar o nosso servidor !
Abraço!!
Hoje aconteceu uma situação comigo quando fui configurar o WAMP em um local onde já estava ocupada a porta 80.
Retornava erro 404.
Entre em na aba Apache e dentro dela abra o httpd.conf.
Dentro deste documento procure por "Listen" e substitua a porta 80 por 8080.
Exemplo :
Listen 80
substitua por
Listen 8080.
Reinicie todos os serviços do WAMP e no browser acesse :
http:\\localhost:8080
Isso já será suficiente para acessar o nosso servidor !
Abraço!!
terça-feira, 24 de setembro de 2013
Fim do Curso de C

Boa noite Pessoal.
Este Post é para formalizar o fim do curso de C. Curso Básico, é verdade, mas que nos deu uma idéia de como funciona esta poderosa linguagem.
Também serviu para o pessoal que nunca teve contato com nenhuma linguagem, ou aquele pessoal que apenas queria aprender lógica.
Eu pretendia entrar em laços de repetição como While e For, mas percebi que o interesse não está sendo suficiente para postarmos esta última parte, que é bem pesada e me faria passar mais algumas horas bolando exercícios. Creio que seja melhor irmos para uma linguagem mais atual, como Java ou PHP, e desta forma eu também irei me qualificar e aprender mais sobre estas linguagens.
Pretendo ir postando situações do cotidiano da programação, ao invés de um curso inteiro. E conforme o interesse for aumentando, eu faço um curso.
Beleza pessoal ??
Boa noite e até a próxima ....
segunda-feira, 16 de setembro de 2013
Notícia - Profissionais de TI são os mais estressados
Olá pessoal.
Eu recém postei uma matéria a respeito dos profissionais de TI serem os menos estressados. Pesquisando mais a respeito, achei esta matéria no site do Terra.
Completamente o oposto da anterior !
Tem um comentário de um rapaz que realmente faz sentido, ele diz:
" Vcs estão de brincadeira???...que pesquisa é essa...? sem o menor conhecimento das profissões existentes, sem querer desmerecer as outras profissões citadas que tbm são estressantes, mais o que acham da profissão de agente penitenciário...? cuidar de 1500 presos de alta periculosidade muitas vezes com estoques afiadíssimos, com o risco de ficar em rebeliões, além das ameaças diárias é mais estressante que qualquer profissão no mundo.....e tbm do policial que se arrisca de lavar tiro na cabeça atrás de bandido..? e subindo morros........por favor revejam seus estudos e conceitos!!!!!! "
Concordam ??
Eu sim!
Segue a lista do Terra:
http://www.terra.com.br/saude/infograficos/profissoes-estressantes/
Eu recém postei uma matéria a respeito dos profissionais de TI serem os menos estressados. Pesquisando mais a respeito, achei esta matéria no site do Terra.
Completamente o oposto da anterior !
Tem um comentário de um rapaz que realmente faz sentido, ele diz:
" Vcs estão de brincadeira???...que pesquisa é essa...? sem o menor conhecimento das profissões existentes, sem querer desmerecer as outras profissões citadas que tbm são estressantes, mais o que acham da profissão de agente penitenciário...? cuidar de 1500 presos de alta periculosidade muitas vezes com estoques afiadíssimos, com o risco de ficar em rebeliões, além das ameaças diárias é mais estressante que qualquer profissão no mundo.....e tbm do policial que se arrisca de lavar tiro na cabeça atrás de bandido..? e subindo morros........por favor revejam seus estudos e conceitos!!!!!! "
Concordam ??
Eu sim!
Segue a lista do Terra:
http://www.terra.com.br/saude/infograficos/profissoes-estressantes/
Notícia - Profissionais de TI são os menos estressados !
Boa noite Galera !!
Uma pesquisa foi realizada pelo site de busca de empregos Adzuna e publicada pela Exame , revela que das 10 melhores carreiras do Brasil, TI está em segundo lugar ( TI fica meio genérico, mas foi desta maneira que a pesquisa retratou ), perdendo apenas para Engenharia.
A pesquisa também apontou que os profissionais de TI são os menos extressados do Brasil, devido á alta demanda do Mercado, aumentos salariais e ambiente de trabalho.
O nível de estresse em cada emprego foi calculado através de uma escala com 15 categorias diferentes, incluindo prazos, competitividade, riscos físicos e emocionais.
O levantamento também levou em consideração o potencial financeiro, ambiente de trabalho, taxa de competitividade e demanda do mercado de cada profissão para estipular o ranking.
Segue a lista das melhores carreiras do Brasil
http://exame.abril.com.br/carreira/album-de-fotos/as-10-melhores-profissoes-no-brasil-segundo-o-site-adzuna
Uma pesquisa foi realizada pelo site de busca de empregos Adzuna e publicada pela Exame , revela que das 10 melhores carreiras do Brasil, TI está em segundo lugar ( TI fica meio genérico, mas foi desta maneira que a pesquisa retratou ), perdendo apenas para Engenharia.
A pesquisa também apontou que os profissionais de TI são os menos extressados do Brasil, devido á alta demanda do Mercado, aumentos salariais e ambiente de trabalho.
O nível de estresse em cada emprego foi calculado através de uma escala com 15 categorias diferentes, incluindo prazos, competitividade, riscos físicos e emocionais.
O levantamento também levou em consideração o potencial financeiro, ambiente de trabalho, taxa de competitividade e demanda do mercado de cada profissão para estipular o ranking.
Segue a lista das melhores carreiras do Brasil
http://exame.abril.com.br/carreira/album-de-fotos/as-10-melhores-profissoes-no-brasil-segundo-o-site-adzuna
domingo, 15 de setembro de 2013
Aprendendo C - Parte 7 - Correção do exercício IMC
Boa noite pessoal. Demorou, mas aqui está a correção do exercício.
Basta copiar e colar no DEVC e testar.
Comparem com o código que vocês fizeram.
/* PROGRAMA CÁLCULO DE IMC
CURSO BÁSICO DE C DO BLOG VIAJEI NA MAGONESES
UTILIZACAO DAS CONDIÇÕES IF E ELSE
AUTOR : RAFAEL SCHNEIDER
DATA: 12/09/2013
*/
#include<conio.h> //bibliotecas padrão para entrada e saida, especificamente de MS-DOS
#include<stdio.h> //biblioteca padrão de entrada e saída de dados.
#include<windows.h> //biblioteca necessária para realização de comandos MS-DOS
float peso, altura,IMC; // declaração das variáves, todas float, separadas por vírgula e com ponto-e-vírgula no final
int sexo;
main() // funçao principal, onde o compilador irá ler primeiro. Sempre será lido o main() primeiro
{ //inicia o bloco da função
printf("Indique seu sexo:\n");
printf("1-Feminino\n2-Masculino\n");
scanf("%i",&sexo);
printf("Digite seu peso: \n"); //imprimi na tela -- o \n significa "nova linha", o cursor estará na linha abaixo
scanf("%f",&peso); //lê o que o usuário digitou, e atribui á variável "peso";
printf("Digite sua altura, em Metros: \n"); //imprimi na tela e solicita que usuário digite outro numero
scanf("%f",&altura); // atribui este valor, á variável "altura"
system("cls"); // comando de DOS "cls" que limpa a tela
IMC = peso /(altura*altura);
/* esta linha acima, esta realizando a fórmula
esta realizando primeiro ( altura * altura ), pois sempre é realizado o parênteses primeiro
após isso, ele divide o peso, pelo produto de ( altura * altura )
e atribui tudo isso á IMC
*/
/* TABELA USADA COMO REFERENCIA
HOMEM MULHER
ABAIXO NORMAL -20 -19
NORMAL 20 A 25 19 A 24
OBESIDADE LEVE 25 A 30 24 A 29
OBESIDADE MODERADA 30 A 40 30 A 39
OBESIDADE MORBIDA + 43 + 40*/
if ( sexo == 1 ){ // Se o sexo for '1', então é Feminino
if ( IMC < 19 ) {
printf("IMC :%f Sexo Feminino, abaixo do Normal", IMC);
}
if ( IMC >= 19 && IMC < 24 ) {
printf("IMC :%f Sexo Feminino, esta Normal ", IMC);
}
if ( IMC >= 25 && IMC < 29 ) {
printf("IMC :%f Sexo Feminino, esta com Obesidade Leve",IMC);
}
if ( IMC >= 30 && IMC < 39 ) {
printf("IMC :%f Sexo Feminino, esta com Obesidade Moderada", IMC);
}
if ( IMC > 39 ) {
printf("IMC :%f Sexo Feminino, esta com Obesidade Morbida ", IMC);
}
}else {
if ( IMC < 20 ) {
printf(" %f Sexo Masculino, esta abaixo do Normal", IMC);
}
if ( IMC >= 20 && IMC < 25 ) {
printf(" IMC :%f Sexo Masculino, está Normal", IMC);
}
if ( IMC >= 25 && IMC < 30 ) {
printf("IMC :%f Sexo Masculino, esta com Obesidade Leve", IMC);
}
if ( IMC >= 30 && IMC < 40 ) {
printf("IMC :%f Sexo Masculino, esta com Obesidade Moderada",IMC);
}
if ( IMC > 40 ) {
printf("IMC :%f Sexo Masculino, esta com Obesidade Morbida ",IMC);
}
}
// %0.2f - significa que o resultado é um numero float ( %f ), mas que conterá somente 2 casas depois da virgula (0.2)
// nota-se que quando é fechado ás aspas duplas, existe uma vírgula e a variável IMC .
// Isso significa que o %0.2f deve mostrar o valor de IMC, caso contrário, o programa não saberia de onde buscar a informação
// Entenderam ??
getch();
// Getch é um comando que aguarda uma ação do teclado, se não clicar, não acontece nada, se clicar, ele fecha;
// se não utilizar este comando, o programa irá mostrar o resultado e fechar muito rapidamente que não será possível ver o resultado.
}// Fecha o Bloco
Era isso pessoal. Próximo capítulo do curso veremos laços de repetição : For e While;
Não pretendo entrar em vetores e matrizes ( a não ser que ocorra apelo popular ), justamente porque pretendo começar outro curso, com utilização de interface gráfica e acesso a banco.
Veremos como que ficará este curso e já iniciaremos outro....
Muito obrigado e Boa semana á todos.
Basta copiar e colar no DEVC e testar.
Comparem com o código que vocês fizeram.
/* PROGRAMA CÁLCULO DE IMC
CURSO BÁSICO DE C DO BLOG VIAJEI NA MAGONESES
UTILIZACAO DAS CONDIÇÕES IF E ELSE
AUTOR : RAFAEL SCHNEIDER
DATA: 12/09/2013
*/
#include<conio.h> //bibliotecas padrão para entrada e saida, especificamente de MS-DOS
#include<stdio.h> //biblioteca padrão de entrada e saída de dados.
#include<windows.h> //biblioteca necessária para realização de comandos MS-DOS
float peso, altura,IMC; // declaração das variáves, todas float, separadas por vírgula e com ponto-e-vírgula no final
int sexo;
main() // funçao principal, onde o compilador irá ler primeiro. Sempre será lido o main() primeiro
{ //inicia o bloco da função
printf("Indique seu sexo:\n");
printf("1-Feminino\n2-Masculino\n");
scanf("%i",&sexo);
printf("Digite seu peso: \n"); //imprimi na tela -- o \n significa "nova linha", o cursor estará na linha abaixo
scanf("%f",&peso); //lê o que o usuário digitou, e atribui á variável "peso";
printf("Digite sua altura, em Metros: \n"); //imprimi na tela e solicita que usuário digite outro numero
scanf("%f",&altura); // atribui este valor, á variável "altura"
system("cls"); // comando de DOS "cls" que limpa a tela
IMC = peso /(altura*altura);
/* esta linha acima, esta realizando a fórmula
esta realizando primeiro ( altura * altura ), pois sempre é realizado o parênteses primeiro
após isso, ele divide o peso, pelo produto de ( altura * altura )
e atribui tudo isso á IMC
*/
/* TABELA USADA COMO REFERENCIA
HOMEM MULHER
ABAIXO NORMAL -20 -19
NORMAL 20 A 25 19 A 24
OBESIDADE LEVE 25 A 30 24 A 29
OBESIDADE MODERADA 30 A 40 30 A 39
OBESIDADE MORBIDA + 43 + 40*/
if ( sexo == 1 ){ // Se o sexo for '1', então é Feminino
if ( IMC < 19 ) {
printf("IMC :%f Sexo Feminino, abaixo do Normal", IMC);
}
if ( IMC >= 19 && IMC < 24 ) {
printf("IMC :%f Sexo Feminino, esta Normal ", IMC);
}
if ( IMC >= 25 && IMC < 29 ) {
printf("IMC :%f Sexo Feminino, esta com Obesidade Leve",IMC);
}
if ( IMC >= 30 && IMC < 39 ) {
printf("IMC :%f Sexo Feminino, esta com Obesidade Moderada", IMC);
}
if ( IMC > 39 ) {
printf("IMC :%f Sexo Feminino, esta com Obesidade Morbida ", IMC);
}
}else {
if ( IMC < 20 ) {
printf(" %f Sexo Masculino, esta abaixo do Normal", IMC);
}
if ( IMC >= 20 && IMC < 25 ) {
printf(" IMC :%f Sexo Masculino, está Normal", IMC);
}
if ( IMC >= 25 && IMC < 30 ) {
printf("IMC :%f Sexo Masculino, esta com Obesidade Leve", IMC);
}
if ( IMC >= 30 && IMC < 40 ) {
printf("IMC :%f Sexo Masculino, esta com Obesidade Moderada",IMC);
}
if ( IMC > 40 ) {
printf("IMC :%f Sexo Masculino, esta com Obesidade Morbida ",IMC);
}
}
// %0.2f - significa que o resultado é um numero float ( %f ), mas que conterá somente 2 casas depois da virgula (0.2)
// nota-se que quando é fechado ás aspas duplas, existe uma vírgula e a variável IMC .
// Isso significa que o %0.2f deve mostrar o valor de IMC, caso contrário, o programa não saberia de onde buscar a informação
// Entenderam ??
getch();
// Getch é um comando que aguarda uma ação do teclado, se não clicar, não acontece nada, se clicar, ele fecha;
// se não utilizar este comando, o programa irá mostrar o resultado e fechar muito rapidamente que não será possível ver o resultado.
}// Fecha o Bloco
Era isso pessoal. Próximo capítulo do curso veremos laços de repetição : For e While;
Não pretendo entrar em vetores e matrizes ( a não ser que ocorra apelo popular ), justamente porque pretendo começar outro curso, com utilização de interface gráfica e acesso a banco.
Veremos como que ficará este curso e já iniciaremos outro....
Muito obrigado e Boa semana á todos.
quinta-feira, 12 de setembro de 2013
quarta-feira, 11 de setembro de 2013
Hardware - O que é Overclock? Funciona mesmo ??
Boa noite pessoal, já fazia algum tempo desde a última postagem, mas venho para falar sobre algo que eu gosto bastante : Overclock.
Na verdade este post é apenas introdutório para quem tem interesse em saber mais sobre o assunto ( e vou postar mais coisas a respeito).
Overclock trata, basicamente, de aumentar os clocks ( ciclos de processamento) dos dispositívos responsáveis pela perfomance do computador.
Este procedimento é amplamente realizado pelos entusiastas gamers, que mesmo tendo um computador top, não deixam de Overclockar o micro.
É realizado Overclock, basicamente somente na CPU.
Placa de vídeo e memórias não são alterados clocks, portanto, não é overclock( veremos isso mais adiante ).
Os processadores vêm de fábrica com o maior clock seguro, que garante mais vida útil ao equipamento, mas este clock não é o maior clock estável, e é justamente este maior clock estável que os Overclocking procuram.
Obs. Vida útil de um processador deve estar em torno de 10 anos, isso depende muito da concepçao de útil de cada pessoa, pois utilidade mesmo, apenas 3 anos, após este período, já não desempenha o que os sistemas exigem de forma satifatória. Sendo assim, um processador que duraria 10 anos sem overclock, dura 7 ou 8 anos com overclock, e 8 anos de processador é muito tempo.
Memória são modificadas as latências, que são basicamente o tempo que a memória demora para executar cada procedimento. Isso resulta ( automaticamente ) em aumento de voltagem, e este sim é chamado de Overvolt.
Overvolt é a maior causa de queima de memórias, este sim deve ser feito com cuidado.
Placa de vídeo, geralmente é feito através de software ( funcionam, mas neste caso acho melhor comprar uma placa que segure o tranco da CPU ).
Bem, isso é apenas introdução, pois temos muita coisa a falar a respeito, e lhes digo, Overclok é muito bom. Existe muita lenda a respeito disso, justamente em razão dos overclocks feitos nos anos 90, quando se queimava muito mesmo, mas hoje em dia, os próprios processadores vêm com indicação de overclock na própria caixa. Eu tenho um processador com multiplicador desbloqueado, ou seja, o processador foi feito para aceitar overclock.
Algumas considerações :
- Existem processadores bloqueados para Overclock;
- Existem placas mãe bloqueadas para Overclock;
- Clock é um valor padrão, e multiplicador são numeros que multiplicam o clock padrão.
Ex. Padrão 200 mhz
Mult 12
O processador ficará com clock 2.4 Ghz !
Entenderam ??
Se você aumentar o multiplicador para 14, ficará em Overclok 2.8 Ghz !
- O bloqueio que me refiro é justamente nos multiplicadores, e desta forma não é possível fazer overclock.
- Todo o Overclock é feito pela BIOS.
- Processadores de hoje em dia desligam em caso de superaquecimento ( NÃO QUEIMA !!!! )
- Existem cooler de refrigeração líquida, específicos para Overclock.
Fiz estas considerações apenas para explicar de forma básica mesmo. Vou continuar cooperando com o pessoal que curte Overclock, não se preocupem.
Outra coisa que não citei, é que a arte do negócio está justamente em acertar o ponto certo do micro, pois se passar do ponto, ele fica mais lento que quando não havia overclock.....
Se vocês quiserem voltar para o Default do micro, basta tirar a bateria da placa mãe, esperar 10 segundos e colocar de novo...se micro estará igual era antes do Over.....
Eras isso....Em breve postarei mais coisas a respeito de Hardware !
Abraço !
Na verdade este post é apenas introdutório para quem tem interesse em saber mais sobre o assunto ( e vou postar mais coisas a respeito).
Overclock trata, basicamente, de aumentar os clocks ( ciclos de processamento) dos dispositívos responsáveis pela perfomance do computador.
Este procedimento é amplamente realizado pelos entusiastas gamers, que mesmo tendo um computador top, não deixam de Overclockar o micro.
É realizado Overclock, basicamente somente na CPU.
Placa de vídeo e memórias não são alterados clocks, portanto, não é overclock( veremos isso mais adiante ).
Os processadores vêm de fábrica com o maior clock seguro, que garante mais vida útil ao equipamento, mas este clock não é o maior clock estável, e é justamente este maior clock estável que os Overclocking procuram.
Obs. Vida útil de um processador deve estar em torno de 10 anos, isso depende muito da concepçao de útil de cada pessoa, pois utilidade mesmo, apenas 3 anos, após este período, já não desempenha o que os sistemas exigem de forma satifatória. Sendo assim, um processador que duraria 10 anos sem overclock, dura 7 ou 8 anos com overclock, e 8 anos de processador é muito tempo.
Memória são modificadas as latências, que são basicamente o tempo que a memória demora para executar cada procedimento. Isso resulta ( automaticamente ) em aumento de voltagem, e este sim é chamado de Overvolt.
Overvolt é a maior causa de queima de memórias, este sim deve ser feito com cuidado.
Placa de vídeo, geralmente é feito através de software ( funcionam, mas neste caso acho melhor comprar uma placa que segure o tranco da CPU ).
Bem, isso é apenas introdução, pois temos muita coisa a falar a respeito, e lhes digo, Overclok é muito bom. Existe muita lenda a respeito disso, justamente em razão dos overclocks feitos nos anos 90, quando se queimava muito mesmo, mas hoje em dia, os próprios processadores vêm com indicação de overclock na própria caixa. Eu tenho um processador com multiplicador desbloqueado, ou seja, o processador foi feito para aceitar overclock.
Algumas considerações :
- Existem processadores bloqueados para Overclock;
- Existem placas mãe bloqueadas para Overclock;
- Clock é um valor padrão, e multiplicador são numeros que multiplicam o clock padrão.
Ex. Padrão 200 mhz
Mult 12
O processador ficará com clock 2.4 Ghz !
Entenderam ??
Se você aumentar o multiplicador para 14, ficará em Overclok 2.8 Ghz !
- O bloqueio que me refiro é justamente nos multiplicadores, e desta forma não é possível fazer overclock.
- Todo o Overclock é feito pela BIOS.
- Processadores de hoje em dia desligam em caso de superaquecimento ( NÃO QUEIMA !!!! )
- Existem cooler de refrigeração líquida, específicos para Overclock.
Fiz estas considerações apenas para explicar de forma básica mesmo. Vou continuar cooperando com o pessoal que curte Overclock, não se preocupem.
Outra coisa que não citei, é que a arte do negócio está justamente em acertar o ponto certo do micro, pois se passar do ponto, ele fica mais lento que quando não havia overclock.....
Se vocês quiserem voltar para o Default do micro, basta tirar a bateria da placa mãe, esperar 10 segundos e colocar de novo...se micro estará igual era antes do Over.....
Eras isso....Em breve postarei mais coisas a respeito de Hardware !
Abraço !
quarta-feira, 4 de setembro de 2013
terça-feira, 3 de setembro de 2013
Novo Padrão do Blog
Boa noite pessoal.
Desculpem por não ter postado ainda a correção do último exercício do nosso curso. Realmente eu estou sem tempo. Este fim de semana sem falta postarei o resultado e a continuação.
Este Post é para informação uma padronização que adotarei.
Para não ficar muito cansativo, e não atender somente á um público, irei voltar a postar alguns vídeos e reportagens que considerar interessantes...
Adotarei um sempre a categoria, e após o título.
Assim poderei postar outras coisas, além dos cursos, e também poderei atender pessoas que não gostam de programação, mas gostavam das outras postagens.
Ok?
Hoje mesmo posto mais alguma coisa.
Desculpa pela demora, e obrigado pela compreensão.
Desculpem por não ter postado ainda a correção do último exercício do nosso curso. Realmente eu estou sem tempo. Este fim de semana sem falta postarei o resultado e a continuação.
Este Post é para informação uma padronização que adotarei.
Para não ficar muito cansativo, e não atender somente á um público, irei voltar a postar alguns vídeos e reportagens que considerar interessantes...
Adotarei um sempre a categoria, e após o título.
Assim poderei postar outras coisas, além dos cursos, e também poderei atender pessoas que não gostam de programação, mas gostavam das outras postagens.
Ok?
Hoje mesmo posto mais alguma coisa.
Desculpa pela demora, e obrigado pela compreensão.
sábado, 24 de agosto de 2013
Aprendendo C - Parte 6 - Comando IF
Boa noite pessoal, conseguiram compilar o código ? Espero que sim !!
Vamos dar sequência no nosso Cursinho vendo como fazemos uma condição.
Utilizamos isso quando queremos que um bloco de comandos seja executado, somente se uma condição for verdadeira. Se a condição não for verdadeira, ele executará outro bloco de comandos.
Existem várias formas de trabalharmos com condições, e iremos ver as principais delas, mas hoje, especificamente, veremos o comando if .
If em inglês significa se, ou seja, somente se algo for verdadeiro, executará.
Else significa "senão". No nosso contexto, ficaria algo parecido com :
Se ( x é igual a y) executa
Senão não executa.
Vamos há um exemplo em C.
Ex:
int x,y=10;
if ( x==y ) {
printf("Os numeros sao iguais");
}else {
printf("Os numeros sao diferentes");
}
Observações :
Lembram-se que o sinal == serve para comparação e não para atribuição;
Todos os blocos são abertos e fechados com "chaves";
Primeiro será lido o if, se x e y são iguais, ele mostrará "Os números sao iguais", e sai do bloco, sem passar pelo comando else, ele vai ignorar completamente o que esta dentro o else.
Não há limites em programação, contanto que a lógica esteja correta, por isso que é possível encadear ifs dentro de ifs, ou ifs dentro de elses, e assim por diante....Basta não esquecer que o else só será lido quando a condição do if for falsa.
Podemos fazer mais de uma comparação dentro do if.Pode ser feito, inclusive, comparações onde os dois termos são equiparados ou somente um deles.
Vamos utilizar bastante os operadores lógicos, que já vimos anteriormente.
Para ficar mais fácil :
int x,y=10;
if ( x==y && x > 0 ) {
printf("Os numeros sao iguais, e x eh maior que zero");
}else {
printf("Um dos testes anteriores resultou falso");
}
Nota-se que os dois & estão no meio da condição.
Isso significa que somente se "x for igual a y" E "x for maior que zero" a sentença será verdadeira. Somente se os dois casos forem verdadeiros é que a instrução continuará, caso contrário, se algum dos dois for "mentira", entrará no else .
Estas condições devem ser estudadas á parte. Existe cadeiras na faculdade que tratam basicamente somente disso. Isso é muito estudado em Lógica de Programação, que infelizmente não é o nosso foco, mas deve ser estudado á parte. Se for solicitado eu posso encaminhar por email algumas apostilas. Pode parecer complicado, mas depois que se aprende, não há como esquecer.
Os operadores lógicos ( e, ou ) são justamente para estas necessidades. Quando há && significa que os todos elementos que estão sendo testados com o operador devem ser verdadeiros, se um for falso, todo o if será falso.
ex:
if ( 1<2 && 2<4 && 1>0 ) {
printf("O if eh verdadeiro");
// Neste caso acima, todos os testes estão ok, portanto, o if é verdadeiro.
Vamos a um exemplo onde o if resulta falso
ex:
if ( 1>2 && 2<3 && 1>2 ) {
printf("O if eh verdadeiro");
}else {
printf("O if eh falso");
}
// Neste caso a expressão caiu no else, pois no último teste ( 1>2 ) resultou falso, e todo o if resultou falso, consequentemente, passou direto para o else e imprimiu na tela "O if eh falso";
Existe outro operador lógico que podemos usar dentro do if, que é o "ou". No C, utilizaremos pipe duplo, " || ".
O ou, or, || significa que se um dos testes resultar verdadeiro, toda a expressão será verdadeira.
Vamos há um exemplo:
if ( 1>2 || 2>1 || 0>2 || 1 == 0 ) {
printf(" Pelo menos um dos testes resultou verdadeiro ");
} else {
printf("Todos os testes foram falsos");
}
Neste caso acima, houve apenas um teste verdadeiro ( 2>1 ) , portanto, toda a expressao foi verdadeira.
Existe situações onde pode ser utilizado os operadores && e || no mesmo if.
Ex:
if ( ( 1<2 && ( 2 == (1+1) ) ) or ( 9 == ( 3*3) ) ){
printf("O if eh verdadeiro ) ;
}
else {
printf("O if eh falso");
}
Fiz aquela coisa colorida acima para deixar mais claro ( não sei se ficou mais claro, mas tentei...), que é possível fazer diversos testes...
Vamos então ir por partes :
( ( 1<2 && ( 2 == (1+1) ) ) or ( 9 == ( 3*3) ) )
1<2 = verdadeiro
2==(1+1) = verdadeiro
Nestes testes, ambos resultaram verdadeiro
9==(3*3) = verdadeiro.
Nota-se que tudo deu verdadeiro, mas imagine que no parenteses da direira estivesse ( 9==(3*2) )
O que aconteceria com toda a expressão ?
Resultaria verdadeiro igual á antes. Porque?
Por que o teste feito é :
( ( 1<2 && ( 2 == (1+1) ) ) or ( 9 == ( 3*2) ) )
tudo aqui é verdadeiro ou este falso
Neste caso imaginamos o resultado de ( 1<2 && ( 2 == (1+1) ) ) OU o resultado de ( 9 == ( 3*2) ).
Entenderam ?
Pessoal, o que mais me deixa grilado, é que com certeza vai ter gente que não entendeu. E isso é normal. É difícil mesmo aprender por texto desta forma, ainda mais quem nunca teve contato. Agora que ja conhece alguma outra linguagem, ou já fez algum cursinho de lógica, vai encontrar mais facilidade com tudo isso.
Acho que por enquanto podemos parar.
Veremos nos próximo capítulos "Laços de Repetição", mais especificamente os comandos While e For.
Mas antes disso quero pedir o desafio deste capítulo.
Como eu havia falado anteriormente, vamos usar nosso programinha de IMC para continuar colocando em prática oque aprendemos.
Vamos fazer o seguinte:
Vocês devem pesquisar na internet, se é utilizado o mesmo parametro para calcular o IMC entre homens e mulheres.
Há uma pequena diferença no cálculo. Coisa bem simples.
Pesquisem então o que quer dizer cada número do IMC, ou seja, qual é o número dos magros, dos normais, dos obesos...etc.
Nesta hora que vai entrar o if.
Segue as dicas para realizar o exercício :
Faça mais uma pergunta, desta vez podem perguntar o sexo.
Obs : Vocês podem fazer uma pergunta onde apareca por opcoes
1 - masculino
2- feminino
Atribuir á uma variável int fica mais fácil.
Apoś isso deixem o resto como esta, perguntando altura e peso.
Antes de mostrar o resultado, vocês fazem o if, testando se o numero foi maior que "tantos" e menor que "tantos", o resultado é magro, e vocês vçao mostrar na tela uma mensagem informando que a pessoa esta com um peso abaixo do IMC.
Se estiver normal mostra outra coisa, e se estiver maior, mostra outra coisa...
Eu vi certa vez que existe uns 5 níveis, baseados no numero do IMC.
Beleza moçada ?
Vou aguardar uns dias e postar a correção do exercício.
Este por ser um pouco mais complexo, deixarei mais de 3 dias.
Ok ??
Abraço e não tenham vergonha de perguntar alguma coisa...o que eu não souber, eu pesquiso pro nosso Google !!
Abraços!!!
Até o próximo capítulo !
Vamos dar sequência no nosso Cursinho vendo como fazemos uma condição.
Utilizamos isso quando queremos que um bloco de comandos seja executado, somente se uma condição for verdadeira. Se a condição não for verdadeira, ele executará outro bloco de comandos.
Existem várias formas de trabalharmos com condições, e iremos ver as principais delas, mas hoje, especificamente, veremos o comando if .
If em inglês significa se, ou seja, somente se algo for verdadeiro, executará.
Else significa "senão". No nosso contexto, ficaria algo parecido com :
Se ( x é igual a y) executa
Senão não executa.
Vamos há um exemplo em C.
Ex:
int x,y=10;
if ( x==y ) {
printf("Os numeros sao iguais");
}else {
printf("Os numeros sao diferentes");
}
Observações :
Lembram-se que o sinal == serve para comparação e não para atribuição;
Todos os blocos são abertos e fechados com "chaves";
Primeiro será lido o if, se x e y são iguais, ele mostrará "Os números sao iguais", e sai do bloco, sem passar pelo comando else, ele vai ignorar completamente o que esta dentro o else.
Não há limites em programação, contanto que a lógica esteja correta, por isso que é possível encadear ifs dentro de ifs, ou ifs dentro de elses, e assim por diante....Basta não esquecer que o else só será lido quando a condição do if for falsa.
Podemos fazer mais de uma comparação dentro do if.Pode ser feito, inclusive, comparações onde os dois termos são equiparados ou somente um deles.
Vamos utilizar bastante os operadores lógicos, que já vimos anteriormente.
Para ficar mais fácil :
int x,y=10;
if ( x==y && x > 0 ) {
printf("Os numeros sao iguais, e x eh maior que zero");
}else {
printf("Um dos testes anteriores resultou falso");
}
Nota-se que os dois & estão no meio da condição.
Isso significa que somente se "x for igual a y" E "x for maior que zero" a sentença será verdadeira. Somente se os dois casos forem verdadeiros é que a instrução continuará, caso contrário, se algum dos dois for "mentira", entrará no else .
Estas condições devem ser estudadas á parte. Existe cadeiras na faculdade que tratam basicamente somente disso. Isso é muito estudado em Lógica de Programação, que infelizmente não é o nosso foco, mas deve ser estudado á parte. Se for solicitado eu posso encaminhar por email algumas apostilas. Pode parecer complicado, mas depois que se aprende, não há como esquecer.
Os operadores lógicos ( e, ou ) são justamente para estas necessidades. Quando há && significa que os todos elementos que estão sendo testados com o operador devem ser verdadeiros, se um for falso, todo o if será falso.
ex:
if ( 1<2 && 2<4 && 1>0 ) {
printf("O if eh verdadeiro");
// Neste caso acima, todos os testes estão ok, portanto, o if é verdadeiro.
Vamos a um exemplo onde o if resulta falso
ex:
if ( 1>2 && 2<3 && 1>2 ) {
printf("O if eh verdadeiro");
}else {
printf("O if eh falso");
}
// Neste caso a expressão caiu no else, pois no último teste ( 1>2 ) resultou falso, e todo o if resultou falso, consequentemente, passou direto para o else e imprimiu na tela "O if eh falso";
Existe outro operador lógico que podemos usar dentro do if, que é o "ou". No C, utilizaremos pipe duplo, " || ".
O ou, or, || significa que se um dos testes resultar verdadeiro, toda a expressão será verdadeira.
Vamos há um exemplo:
if ( 1>2 || 2>1 || 0>2 || 1 == 0 ) {
printf(" Pelo menos um dos testes resultou verdadeiro ");
} else {
printf("Todos os testes foram falsos");
}
Neste caso acima, houve apenas um teste verdadeiro ( 2>1 ) , portanto, toda a expressao foi verdadeira.
Existe situações onde pode ser utilizado os operadores && e || no mesmo if.
Ex:
if ( ( 1<2 && ( 2 == (1+1) ) ) or ( 9 == ( 3*3) ) ){
printf("O if eh verdadeiro ) ;
}
else {
printf("O if eh falso");
}
Fiz aquela coisa colorida acima para deixar mais claro ( não sei se ficou mais claro, mas tentei...), que é possível fazer diversos testes...
Vamos então ir por partes :
( ( 1<2 && ( 2 == (1+1) ) ) or ( 9 == ( 3*3) ) )
1<2 = verdadeiro
2==(1+1) = verdadeiro
Nestes testes, ambos resultaram verdadeiro
9==(3*3) = verdadeiro.
Nota-se que tudo deu verdadeiro, mas imagine que no parenteses da direira estivesse ( 9==(3*2) )
O que aconteceria com toda a expressão ?
Resultaria verdadeiro igual á antes. Porque?
Por que o teste feito é :
( ( 1<2 && ( 2 == (1+1) ) ) or ( 9 == ( 3*2) ) )
tudo aqui é verdadeiro ou este falso
Neste caso imaginamos o resultado de ( 1<2 && ( 2 == (1+1) ) ) OU o resultado de ( 9 == ( 3*2) ).
Entenderam ?
Pessoal, o que mais me deixa grilado, é que com certeza vai ter gente que não entendeu. E isso é normal. É difícil mesmo aprender por texto desta forma, ainda mais quem nunca teve contato. Agora que ja conhece alguma outra linguagem, ou já fez algum cursinho de lógica, vai encontrar mais facilidade com tudo isso.
Acho que por enquanto podemos parar.
Veremos nos próximo capítulos "Laços de Repetição", mais especificamente os comandos While e For.
Mas antes disso quero pedir o desafio deste capítulo.
Como eu havia falado anteriormente, vamos usar nosso programinha de IMC para continuar colocando em prática oque aprendemos.
Vamos fazer o seguinte:
Vocês devem pesquisar na internet, se é utilizado o mesmo parametro para calcular o IMC entre homens e mulheres.
Há uma pequena diferença no cálculo. Coisa bem simples.
Pesquisem então o que quer dizer cada número do IMC, ou seja, qual é o número dos magros, dos normais, dos obesos...etc.
Nesta hora que vai entrar o if.
Segue as dicas para realizar o exercício :
Faça mais uma pergunta, desta vez podem perguntar o sexo.
Obs : Vocês podem fazer uma pergunta onde apareca por opcoes
1 - masculino
2- feminino
Atribuir á uma variável int fica mais fácil.
Apoś isso deixem o resto como esta, perguntando altura e peso.
Antes de mostrar o resultado, vocês fazem o if, testando se o numero foi maior que "tantos" e menor que "tantos", o resultado é magro, e vocês vçao mostrar na tela uma mensagem informando que a pessoa esta com um peso abaixo do IMC.
Se estiver normal mostra outra coisa, e se estiver maior, mostra outra coisa...
Eu vi certa vez que existe uns 5 níveis, baseados no numero do IMC.
Beleza moçada ?
Vou aguardar uns dias e postar a correção do exercício.
Este por ser um pouco mais complexo, deixarei mais de 3 dias.
Ok ??
Abraço e não tenham vergonha de perguntar alguma coisa...o que eu não souber, eu pesquiso pro nosso Google !!
Abraços!!!
Até o próximo capítulo !
quarta-feira, 21 de agosto de 2013
Aprendendo C - Parte 5 - Correção Exercício Anterior
Boa noite Pessoal.
Vamos seguir com nosso cursinho ??
Vou corrigir este primeiro código, de forma bem simples.
A princípio eu não coloquei o Sexo, mas já explico.
Para inserirmos o sexo como variável, antes de mostrar o resultado, eu teria que usar o comando "if", e eu ainda não detalhei sobre este comando. Este mesmo programinha, vai servir como base para as partes posteriores que iremos estudar, cada vez mais iremos implementar mais informações nele.
Como podem ver, ele irá retornar apenas o número do IMC, sem falar se está bom ou se esta ruim, e é exatamente isso que faremos(implementaremos) no código, após aprendermos mais alguns comandos.
Segue o código, já comentado.
Vocês podem copiar e colar, se quiserem.
Lembrem-se que é possível fazer este mesmo programa de outras formas, e por isso, verifiquem se esta com o resultado igual, pois, se estiver, provavelmente esteja correto o seu código, mesmo que esteja diferente do meu.
#include<conio.h> //bibliotecas padrão para entrada e saida, especificamente de MS-DOS
#include<stdio.h> //biblioteca padrão de entrada e saída de dados.
#include<windows.h> //biblioteca necessária para realização de comandos MS-DOS
float peso, altura,IMC; // declaração das variáves, todas float, separadas por vírgula e com ponto-e-vírgula no final
main() // funçao principal, onde o compilador irá ler primeiro. Sempre será lido o main() primeiro
{ //inicia o bloco da função
printf("Digite seu peso: \n"); //imprimi na tela -- o \n significa "nova linha", o cursor estará na linha abaixo
scanf("%f",&peso); //lê o que o usuário digitou, e atribui á variável "peso";
printf("Digite sua altura, em Metros: \n"); //imprimi na tela e solicita que usuário digite outro numero
scanf("%f",&altura); // atribui este valor, á variável "altura"
system("cls"); // comando de DOS "cls" que limpa a tela
IMC = peso /(altura*altura);
/* esta linha acima, esta realizando a fórmula
esta realizando primeiro ( altura * altura ), pois sempre é realizado o parênteses primeiro
após isso, ele divide o peso, pelo produto de ( altura * altura )
e atribui rudo isso á IMC
*/
printf("Seu IMC e: %0.2f !", IMC ); // nesta última linha ele retorna o valor
// %0.2f - significa que o resultado é um numero float ( %f ), mas que conterá somente 2 casas depois da virgula (0.2)
// nota-se que quando é fechado ás aspas duplas, existe uma vírgula e a variável IMC .
// Isso significa que o %0.2f deve mostrar o valor de IMC, caso contrário, o programa não saberia de onde buscar a informação
// Entenderam ??
getch(); // Getch é um comando que aguarda uma ação do teclado, se não clicar, não acontece nada, se clicar, ele fecha;
// se não utilizar este comando, o programa irá mostrar o resultado e fechar muito rapidamente que não será possível ver o resultado.
}// Fecha o Bloco
Pessoal, não é tão difícil assim. Vou deixa-los mais uns dias para tentar fazer, e vamos seguir com o curso.
Se houver dúvidas, eu explico melhor alguma parte que lhes interessam.
Depois veremos a condição "se e então", que no nosso caso será "if else", e usando este comandos, iremos implementar o sexo, e dependento do sexo, e do número do IMC a resposta será diferente....
Obrigado pela atenção, e pelas visitas. Me ajudem a deixar este blog cada vez mais útil para vocês...
Até a próxima parte, que será em breve.
Vamos seguir com nosso cursinho ??
Vou corrigir este primeiro código, de forma bem simples.
A princípio eu não coloquei o Sexo, mas já explico.
Para inserirmos o sexo como variável, antes de mostrar o resultado, eu teria que usar o comando "if", e eu ainda não detalhei sobre este comando. Este mesmo programinha, vai servir como base para as partes posteriores que iremos estudar, cada vez mais iremos implementar mais informações nele.
Como podem ver, ele irá retornar apenas o número do IMC, sem falar se está bom ou se esta ruim, e é exatamente isso que faremos(implementaremos) no código, após aprendermos mais alguns comandos.
Segue o código, já comentado.
Vocês podem copiar e colar, se quiserem.
Lembrem-se que é possível fazer este mesmo programa de outras formas, e por isso, verifiquem se esta com o resultado igual, pois, se estiver, provavelmente esteja correto o seu código, mesmo que esteja diferente do meu.
#include<conio.h> //bibliotecas padrão para entrada e saida, especificamente de MS-DOS
#include<stdio.h> //biblioteca padrão de entrada e saída de dados.
#include<windows.h> //biblioteca necessária para realização de comandos MS-DOS
float peso, altura,IMC; // declaração das variáves, todas float, separadas por vírgula e com ponto-e-vírgula no final
main() // funçao principal, onde o compilador irá ler primeiro. Sempre será lido o main() primeiro
{ //inicia o bloco da função
printf("Digite seu peso: \n"); //imprimi na tela -- o \n significa "nova linha", o cursor estará na linha abaixo
scanf("%f",&peso); //lê o que o usuário digitou, e atribui á variável "peso";
printf("Digite sua altura, em Metros: \n"); //imprimi na tela e solicita que usuário digite outro numero
scanf("%f",&altura); // atribui este valor, á variável "altura"
system("cls"); // comando de DOS "cls" que limpa a tela
IMC = peso /(altura*altura);
/* esta linha acima, esta realizando a fórmula
esta realizando primeiro ( altura * altura ), pois sempre é realizado o parênteses primeiro
após isso, ele divide o peso, pelo produto de ( altura * altura )
e atribui rudo isso á IMC
*/
printf("Seu IMC e: %0.2f !", IMC ); // nesta última linha ele retorna o valor
// %0.2f - significa que o resultado é um numero float ( %f ), mas que conterá somente 2 casas depois da virgula (0.2)
// nota-se que quando é fechado ás aspas duplas, existe uma vírgula e a variável IMC .
// Isso significa que o %0.2f deve mostrar o valor de IMC, caso contrário, o programa não saberia de onde buscar a informação
// Entenderam ??
getch(); // Getch é um comando que aguarda uma ação do teclado, se não clicar, não acontece nada, se clicar, ele fecha;
// se não utilizar este comando, o programa irá mostrar o resultado e fechar muito rapidamente que não será possível ver o resultado.
}// Fecha o Bloco
Pessoal, não é tão difícil assim. Vou deixa-los mais uns dias para tentar fazer, e vamos seguir com o curso.
Se houver dúvidas, eu explico melhor alguma parte que lhes interessam.
Depois veremos a condição "se e então", que no nosso caso será "if else", e usando este comandos, iremos implementar o sexo, e dependento do sexo, e do número do IMC a resposta será diferente....
Obrigado pela atenção, e pelas visitas. Me ajudem a deixar este blog cada vez mais útil para vocês...
Até a próxima parte, que será em breve.
segunda-feira, 19 de agosto de 2013
Aprendendo C - Parte 4 - Operadores Aritméticos
Boa noite Pessoal !
Desculpem-me pela demora da postagem desta 4 parte de nosso cursinho...
Apenas para recapitular :
Nós já vimos uma pequena história do C, aprendemos a fazer uma pequena aplicação e falei sobre tipos de dados.
Eu citei apenas 2 tipos de dados, por ser mais conveniente para nós, desta forma não nos confundimos, mas existe mais tipos. Conforme fomos utilizando os tipos de dados, irei comentando melhor.
Portando ficaremos, por enquanto com os tipos int, float, char.
int é o tipo de dado dos numeros inteiros.
float é o tipo de números reais.
char é o tipo de dados que recebe letras.
Vamos ao conteúdo de hoje : Operadores Aritméticos
Os operadores aritméticos são muito utilizados em programação, seja qual for ela, e são, de modo geral, muito semelhantes, em quase todas as linguagens.
Segue os operadores de C:
Soma é "+" ;
Subtração é "-" ;
Estes dois são iguais aos que aprendemos na escola. Agora os operadores de Divisão e Multiplicação são diferentes. Segue :
Multiplicação é " * ";
Divisão é " / ";
A princípio, as informações não parecem ter sentido ,mas conforme vamos evoluindo, estas informações vão entrando no contexto.
Assim como há os operadores aritméticos, existe a Ordem de Procedência, que é a mesma da mátematica ( sempre faça relação com a matemática, pois algoritmos é matemático, todas as regras matemáticas são aplicadas na programação)
Tudo que está dentro de parênteses, é executado primeiro.Sempre.
Por isso que dizemos que 1+2*3 é diferente de (1+2)*3.
Vocês lembram desta ordem ??
1º ( ) tudo que haver entre parênteses
2 ºMultiplicação ou divisão ( se houver as duas, não altera o resultado, tanto faz)
3º Soma ou subtração
Outro tipo de operador que ainda não citei é o seguinte :
"=" é usado para atribuir valor para alguma variável, ou seja, se quiseres que uma variável x do tipo inteira receba o valor 5, faça-se o seguinte:
int x = 5;
"= =" é utilizado para comparação entre duas variáveis ou dois valores;
ex.:
int x = 5;
int y = 5;
if ( x = = y ){
printf("Sao iguais");
}
else printf("Sao diferentes");
Neste exemplo acima eu criei duas variáveis ( x, y) e utilizei um comando de C ( if ), que veremos em breve, para testar x é igual á y. Se eles forem iguais, imprimi na tela "Sao iguais", se não forem, imprimi na tela "Sao diferentes";
Essa é a última parte que falarei sobre a teoria. Tudo ficará mais claro quando estivermos praticando.
É muito difícil saber se quem esta lendo este curso já sabe alguma linguagem, já sabe lógica, ou se não sabe absolutamente nada. Apartir da 5ª parte, entraremos em palavras chaves da linguagem e cada parte será divida em 2 ou 3 posts.
OK ?
Para não ficarem a ver navios até o próximo post, vou lançar um desafio :
Vocês ja viram a estrutura básica de um programa em C. Já sabem como se lê uma variável, e sabem como se declara uma variável.
Portando o desafio é :
Fazer um programa que receba o sexo da pessoa, altura em metros, peso em Kilogramas e mostre qual é o IMC da pessoa.
IMC é o Índice de Massa Corporal;
Fórmula:
IMC = peso / (altura*altura)
Dicas :
crie as 3 variáveis
primeiro solicite ao usuario para digitar altura e depois peso;
depois tu utiliza a formula acima;
retorne o resultado.
Qualquer dúvida, me perguntem....até mais!
Desculpem-me pela demora da postagem desta 4 parte de nosso cursinho...
Apenas para recapitular :
Nós já vimos uma pequena história do C, aprendemos a fazer uma pequena aplicação e falei sobre tipos de dados.
Eu citei apenas 2 tipos de dados, por ser mais conveniente para nós, desta forma não nos confundimos, mas existe mais tipos. Conforme fomos utilizando os tipos de dados, irei comentando melhor.
Portando ficaremos, por enquanto com os tipos int, float, char.
int é o tipo de dado dos numeros inteiros.
float é o tipo de números reais.
char é o tipo de dados que recebe letras.
Vamos ao conteúdo de hoje : Operadores Aritméticos
Os operadores aritméticos são muito utilizados em programação, seja qual for ela, e são, de modo geral, muito semelhantes, em quase todas as linguagens.
Segue os operadores de C:
Soma é "+" ;
Subtração é "-" ;
Estes dois são iguais aos que aprendemos na escola. Agora os operadores de Divisão e Multiplicação são diferentes. Segue :
Multiplicação é " * ";
Divisão é " / ";
A princípio, as informações não parecem ter sentido ,mas conforme vamos evoluindo, estas informações vão entrando no contexto.
Assim como há os operadores aritméticos, existe a Ordem de Procedência, que é a mesma da mátematica ( sempre faça relação com a matemática, pois algoritmos é matemático, todas as regras matemáticas são aplicadas na programação)
Tudo que está dentro de parênteses, é executado primeiro.Sempre.
Por isso que dizemos que 1+2*3 é diferente de (1+2)*3.
Vocês lembram desta ordem ??
1º ( ) tudo que haver entre parênteses
2 ºMultiplicação ou divisão ( se houver as duas, não altera o resultado, tanto faz)
3º Soma ou subtração
Outro tipo de operador que ainda não citei é o seguinte :
"=" é usado para atribuir valor para alguma variável, ou seja, se quiseres que uma variável x do tipo inteira receba o valor 5, faça-se o seguinte:
int x = 5;
"= =" é utilizado para comparação entre duas variáveis ou dois valores;
ex.:
int x = 5;
int y = 5;
if ( x = = y ){
printf("Sao iguais");
}
else printf("Sao diferentes");
Neste exemplo acima eu criei duas variáveis ( x, y) e utilizei um comando de C ( if ), que veremos em breve, para testar x é igual á y. Se eles forem iguais, imprimi na tela "Sao iguais", se não forem, imprimi na tela "Sao diferentes";
Essa é a última parte que falarei sobre a teoria. Tudo ficará mais claro quando estivermos praticando.
É muito difícil saber se quem esta lendo este curso já sabe alguma linguagem, já sabe lógica, ou se não sabe absolutamente nada. Apartir da 5ª parte, entraremos em palavras chaves da linguagem e cada parte será divida em 2 ou 3 posts.
OK ?
Para não ficarem a ver navios até o próximo post, vou lançar um desafio :
Vocês ja viram a estrutura básica de um programa em C. Já sabem como se lê uma variável, e sabem como se declara uma variável.
Portando o desafio é :
Fazer um programa que receba o sexo da pessoa, altura em metros, peso em Kilogramas e mostre qual é o IMC da pessoa.
IMC é o Índice de Massa Corporal;
Fórmula:
IMC = peso / (altura*altura)
Dicas :
crie as 3 variáveis
primeiro solicite ao usuario para digitar altura e depois peso;
depois tu utiliza a formula acima;
retorne o resultado.
Qualquer dúvida, me perguntem....até mais!
sábado, 10 de agosto de 2013
Aprendendo C - Parte 3 - Tipos de Dados
Bom dia/tarde/noite minha galera !
Vamos falar especificamente de tipos de dados hoje.
O que é isso ?
Sempre que formos programar, precisaremos de variáveis.
O que são variáveis?
Para responder isso, prefiro fazer uma comparação.
Imagine um objeto qualquer, como uma borracha, um lápis, uma pessoa, um nome, ou número.
Imagine que eu posso atribuir um valor a eles. por exemplo :
Defino que a borracha seja Feia.
Toda vez que eu colocar em meu programa a palavra "borracha", eu devo ler "Feia". Isso porque bolacha recebeu essa atribuição, Feia.
Em C, isso acontece assim :
borracha = Feia;
Isso quer dizer que borracha é feia, ela recebeu esse valor.
Vamos pensar na forma que o C pensa :
Imagine que tu precise criar um programa que receba um numero qualquer e retorne o seu dobro.
Algo bem simples, como por exemplo, digitar 2, e aparecer 4, digitar 27 e aparecer 54....beleza ?
O Computador não sabe de nada, tu tens a necessidade de mostrar pra ele o que é numero, o que é dobro,quando deve receber o primeiro valor e quando vai retornar o resultado ( dobro ).
Beleza ?
Isso é o que chamamos de variável !
É um espaço em memória que irá receber isso que tu queres, com o nome que tu queres, e do tipo que tu queres. Por exemplo:
int num = 1;
int = inteiro - quer dizer que o dado a seguir é um número inteiro;
num = é o nome que eu atribuí para esse tipo de dado "número inteiro";
1 = é o valor da minha variável, é o valor que ela recebeu;
Bem, podemos pensar assim :
Já que "dobro" é a mesma coisa que "alguma coisa" vezes 2, podemos dizer que o dobro de num é igual a "num x 2" ?
Correto ?
( não prossiga até concordar com essa lógica. Pense bem. )
num vezes dois é igual a (num + num).
Correto ?
( não prossiga até concordar com essa lógica. Pense bem. )
numero x 2 = dobro de 2.
Correto ?
( não prossiga até concordar com essa lógica. Pense bem. )
Pergunto isso bastante porque quero que entendam isso. Ainda não vou focar na lógica ou no cálculo, vamos para o que o tópico realmente fala, que é justamento sobre o tipo de dado.
Quando eu estava falando sobre o int, eu estava falando sobre tipo de dado números inteiros.
Em quase todas as linguagens de programação, sempre teremos que definir os tipos de dados, ou seja, se tu quer trabalhar com números inteiros, irá criar um dado do tipo int, se tu quer criar um dado do tipo "letras", vai definir uma variável do tipo char, e assim por diante.
vamos para um exemplo pratico :
#include <stdio.h>
#include <conio.h> // necessário para a função getch
main () {
int numero, dobro;
printf ("digite numero: ", &numero);
scanf("%d",&numero);
dobro = numero + numero;
printf("o dobro e: %d ", dobro);
getch();
}
main () {
int numero, dobro; // aqui estamos definindo duas variáveis do tipo inteiro
printf ("digite numero: ", &num);
/*Aqui embaixo, pedimos para o usuário digitar um número
A parte que fica após as duas barras não vai compilar, e por isso chamamos de "comentário"
A parte que o usuário vai ver, é somente a parte que está entre as aspas, depois disso é continuação da instrução, que barramos com uma "vírgila" , um & e depois o nome da variável que iremos atribuir aquilo que o usuário digitou, ou seja, aquilo que o usuáario digitar, vai ser atribuido á variável num.
Neste caso estamos dizendo que o usuário deve digitar um numero inteiro, por que a variável num, é do tipo inteiro.
Mais tarde , quando lhes ensinar outros tipos de dados vou indicar fazer testes com tipos de dados diferentes....
*/
scanf("%d",&num);
dobro = num + num;
/* nesta parte esta sendo representado o "dobro" em si.
o comando scanf esta recebendo o valor que foi digitado em algum printf, o &num define que é da variável num. desta forma ele sabe que esta recebendo o valor de num.
Vocês devem estar perguntando-se , sobre o "%d" anterior :
Em "C", usamos uma "nomenclatura", para definirmos o tipo de dados que estamos trabalhando, e em C seguimos a seguinte ordem:
%d, ou %i para inteiros
%c, ou %s para letra, ou caracteres
Acho que isso por enquanto é suficiente.
Isso é, de fato o tipo de dado:
Se tu queres um tipo de dado inteiro, deverá declara-lo como "int" e depois ao capturalo, utilizar um "%d";
Exemplo :
printf("digite numero");
scanf("%d",&rafael):
Estou atribuindo á variavel rafael o valor que o usuário digitou, passando pelo scanf.
No printf foi capturado que o usuário digitou.
No scanf foi verificado que o tipo de dado era "%d%, ou seja, um inteiro, e foi atribuido á variavel rafael que também era do tipo inteiro.
Entenderam??
É realmente complicadinho no início...mas me disponho completamente á ajudar com as dúvidas...
Vou deixar uns dias para ajuda-los, sei que não é fácil, depois faço um post só com as dúvidas...Ok?
Vamos falar especificamente de tipos de dados hoje.
O que é isso ?
Sempre que formos programar, precisaremos de variáveis.
O que são variáveis?
Para responder isso, prefiro fazer uma comparação.
Imagine um objeto qualquer, como uma borracha, um lápis, uma pessoa, um nome, ou número.
Imagine que eu posso atribuir um valor a eles. por exemplo :
Defino que a borracha seja Feia.
Toda vez que eu colocar em meu programa a palavra "borracha", eu devo ler "Feia". Isso porque bolacha recebeu essa atribuição, Feia.
Em C, isso acontece assim :
borracha = Feia;
Isso quer dizer que borracha é feia, ela recebeu esse valor.
Vamos pensar na forma que o C pensa :
Imagine que tu precise criar um programa que receba um numero qualquer e retorne o seu dobro.
Algo bem simples, como por exemplo, digitar 2, e aparecer 4, digitar 27 e aparecer 54....beleza ?
O Computador não sabe de nada, tu tens a necessidade de mostrar pra ele o que é numero, o que é dobro,quando deve receber o primeiro valor e quando vai retornar o resultado ( dobro ).
Beleza ?
Isso é o que chamamos de variável !
É um espaço em memória que irá receber isso que tu queres, com o nome que tu queres, e do tipo que tu queres. Por exemplo:
int num = 1;
int = inteiro - quer dizer que o dado a seguir é um número inteiro;
num = é o nome que eu atribuí para esse tipo de dado "número inteiro";
1 = é o valor da minha variável, é o valor que ela recebeu;
Bem, podemos pensar assim :
Já que "dobro" é a mesma coisa que "alguma coisa" vezes 2, podemos dizer que o dobro de num é igual a "num x 2" ?
Correto ?
( não prossiga até concordar com essa lógica. Pense bem. )
num vezes dois é igual a (num + num).
Correto ?
( não prossiga até concordar com essa lógica. Pense bem. )
numero x 2 = dobro de 2.
Correto ?
( não prossiga até concordar com essa lógica. Pense bem. )
Pergunto isso bastante porque quero que entendam isso. Ainda não vou focar na lógica ou no cálculo, vamos para o que o tópico realmente fala, que é justamento sobre o tipo de dado.
Quando eu estava falando sobre o int, eu estava falando sobre tipo de dado números inteiros.
Em quase todas as linguagens de programação, sempre teremos que definir os tipos de dados, ou seja, se tu quer trabalhar com números inteiros, irá criar um dado do tipo int, se tu quer criar um dado do tipo "letras", vai definir uma variável do tipo char, e assim por diante.
vamos para um exemplo pratico :
#include <stdio.h>
#include <conio.h> // necessário para a função getch
main () {
int numero, dobro;
printf ("digite numero: ", &numero);
scanf("%d",&numero);
dobro = numero + numero;
printf("o dobro e: %d ", dobro);
getch();
}
main () {
int numero, dobro; // aqui estamos definindo duas variáveis do tipo inteiro
printf ("digite numero: ", &num);
/*Aqui embaixo, pedimos para o usuário digitar um número
A parte que fica após as duas barras não vai compilar, e por isso chamamos de "comentário"
A parte que o usuário vai ver, é somente a parte que está entre as aspas, depois disso é continuação da instrução, que barramos com uma "vírgila" , um & e depois o nome da variável que iremos atribuir aquilo que o usuário digitou, ou seja, aquilo que o usuáario digitar, vai ser atribuido á variável num.
Neste caso estamos dizendo que o usuário deve digitar um numero inteiro, por que a variável num, é do tipo inteiro.
Mais tarde , quando lhes ensinar outros tipos de dados vou indicar fazer testes com tipos de dados diferentes....
*/
scanf("%d",&num);
dobro = num + num;
/* nesta parte esta sendo representado o "dobro" em si.
o comando scanf esta recebendo o valor que foi digitado em algum printf, o &num define que é da variável num. desta forma ele sabe que esta recebendo o valor de num.
Vocês devem estar perguntando-se , sobre o "%d" anterior :
Em "C", usamos uma "nomenclatura", para definirmos o tipo de dados que estamos trabalhando, e em C seguimos a seguinte ordem:
%d, ou %i para inteiros
%c, ou %s para letra, ou caracteres
Acho que isso por enquanto é suficiente.
Isso é, de fato o tipo de dado:
Se tu queres um tipo de dado inteiro, deverá declara-lo como "int" e depois ao capturalo, utilizar um "%d";
Exemplo :
printf("digite numero");
scanf("%d",&rafael):
Estou atribuindo á variavel rafael o valor que o usuário digitou, passando pelo scanf.
No printf foi capturado que o usuário digitou.
No scanf foi verificado que o tipo de dado era "%d%, ou seja, um inteiro, e foi atribuido á variavel rafael que também era do tipo inteiro.
Entenderam??
É realmente complicadinho no início...mas me disponho completamente á ajudar com as dúvidas...
Vou deixar uns dias para ajuda-los, sei que não é fácil, depois faço um post só com as dúvidas...Ok?
Aprendendo C - Parte 2 - O compilador e o primeiro Programa
Buenas !
Vamos falar um pouco do compilador.
Obs.: Eu vou sempre subentender que você, meu leitor, já possui uma vivência com o computador, portanto, não vou explicar detalhadamente como onde esta o menu "arquivo", por exemplo.
Para começarmos um programa, basta entrar em arquivo, e depois entrar em "novo".
A partir deste momento, irá abrir o local em branco onde será colocado o código...
Basta clicar ali, que verá que estará disponível para escrever qualquer coisa....
Depois explicarei o que estamos fazendo, portanto, podem escrever o seguinte :
#include <stdio.h>
#include <conio.h> // necessário para a função getch
main ()
{
printf("Alo Mundo!!!");
getch();
}
Podem copiar e colar mesmo. Vamos realizar o clássico Hello World !
|Funcionou???
Irá abrir a tela de seu Command e mostrar Hello World dentro...
Agora vamos linha á linha :
#include <stdio.h>
#include <conio.h>
Estes includes funcionam como "apondadores de bibliotecas", ou seja, o stdio aponta para determinadas bibliotecas/libs de seu Sistema Operacional.
Assim como o conio.h !
A biblioteca stdio será necessária em praticamente em todos os seus códigos, ou seja, em todos os códigos que tu desenvolver, haverá a necessidade de incluir essa lib. Essa linha deverá existir, sempre no início.
Assim como eu comentei, a conio.h é necessária em razão do comando "getch". O comando "getch", faz com que a tela do cmd fique estatica após a execução. Sem o comando getch, o programa iria executar e fechar em seguida, e para executar o comando, deve ser importada a lib conio.h . Entendeu?
Pode ser confuso na primeira vez. Na verdade, quase sempre é. Mas ao repetir, ao exercitar, vamos compreendendo melhor isso.
Após isso vem o comando:
main ()
{
que significa que estamos entrando no menu principal.
ele abre e fecha parenteses, porque neste programa não há nada que possa ser passado como parâmetro( iremos entrar mais á fundo a respeito de parâmetros futuramente ) ;
Observação á respeito do main : Apesar de ser programação estruturada, o método/função main, sempre será executada primeiro( mesmo que não seja o primeiro bloco de instruções) , portando, se vocês verem códigos e não entenderem direito, pensem nisso, ou se vocês forem desenvolver algo maior, devem saber disso. Mais além falaremos disso mais...
Observação á respeito do main : Apesar de ser programação estruturada, o método/função main, sempre será executada primeiro( mesmo que não seja o primeiro bloco de instruções) , portando, se vocês verem códigos e não entenderem direito, pensem nisso, ou se vocês forem desenvolver algo maior, devem saber disso. Mais além falaremos disso mais...
Finalizamos com :
printf("Alo Mundo!!!");
getch();
}
Esse printf("Alo Mundo!!!"); , significa que iremos imprimir na tela Alo Mundo!!! .
"printf" é o comando que usamos para imprimir na tela. Sempre que queremos mostrar alguma mensagem ao usuário do computador, colocamos printf, abrimos "parênteses" escrevemos oque queremos, fechamos o parênteses, e colocamos "ponto-e-vírgula". Todas as instruções de C são finalizadas com ";" todas, exceto quando abrimos funcões, por exemplo o "main", que nestas situações estamos abrindo um bloco de instruções. Nestas situações usamos as chaves "{
" para abrir ou fechar blocos de instruções.
" para abrir ou fechar blocos de instruções.
Notaram isso ??
main () // já que não há parâmetro( veremos depois oque é ), fica parenteses em branco
{ // Abre o bloco de instruções
printf("Alo Mundo!!!"); // instrução propriamente dita, finalizada com ";" imprimindo na tela...
getch(); // faz com que a tela fique estática após a execução...
} // fecha o bloco de execução
Bem galera, é isso. Vocês já executaram o primeiro programa em C !
Não é o bicho de 7 cabeças né ?
Existe uma galera saudosista que curte um C ! Eu sou um deles !
C é a linguagem mãe de uma lista de linguagens, portanto, não dá pra menosprezar essa poderosa linguagem.
Qualquer problema com execução, instalação ou alguma outra coisa, me avisem...
Não se assustem, se não entenderam nada.Acreditem, isso é normal.
No próximo post, vou explicar tipos de dados, e situações onde devem ser usados....
vamos fazer um programa onde há a interação do usuário.
Tu pede, ele digita e mostramos o valor.
Irei explicar muito mais, esse foi só uma preview da história, só para sentirem o gosto de desenvolver, que convenhamos, é uma sensação muito prazerosa...
Abraço e até a próxima, que veremos tipos de dados, declarações, e capturar dados...
Aprendendo C - Parte 1 - Princípio da Programação
Hoje em dia com o aumento da oferta sobre o "mercado do software", muito tem-se pesquisado sobre Programação. Dentre as diversas áreas da Tecnologia, a Programação esta entre as mais procuradas. Mas porque ainda há tantas vagas, se todo mundo esta pesquisando sobre isso ??
Porque toda essa procura não supre a demanda. Há muito mais demanda que profissionais da área, e essa tendencia é aumentar....Há "n" motivos, mas creio que o maior deles é: Não basta querer programar....deve-se gostar disso, ser apaixonado por isso e nem todas as pessoas tem essa vontade. Exemplo disso é a faculdade. Na minha turma do primeiro semestre tinha 50 pessoas. Hoje, no sexto semestre, tenho turmas com 6 pessoas.
É difícil. Tem que haver empenho.
Digo tudo isso, não para desencorajar, mas para situa-lo. Para mostra-lo onde esta entrando. Uma coisa que eu sempre digo : Se tu gosta de fazer isso, a dificuldade será muito menor! Porque haverá gosto por isso, e quando conseguir fazer funcionar, irá sentir o sentimento da realização. Isso é muito bom.
Bem. Vamos ao que importa.
O princípio básico da informática é: Receber dados, processa-los ( manipula-los ) e devolver um retorno. Este é o princípio mais básico e primordial da informática, e, para a programação, segue-se o mesmo conceito.
A linguagem "C" é uma linguagem estruturada, criada na década de 70 por Denis Ritchie, dos laboratórios AT&T Bell ( esse mesmo que tu esta pensando: Graham Bell ).
Estruturada, porque os comandos seguem uma ordem natural de cima para baixo, onde os comandos são executados de cima para baixo.
Para programar C, usaremos um programa que "gera" o arquivo executável, que executará o que nós predeterminamos. Esse programa é um Compilador.
Pesquise ''Compilação'' no Google para maiores informações, mas lhes adianto que é basicamente reunir tudo o que o programa precisa pra rodar e gerar um executável.
Existem várias marcas de compiladores, mas lhes indico o DevC. Ele é software livre, bem leve e funciona muito bem em Windows. Se o pessoal utiliza Linux, pode ser utilizado o CodeBlocks. O DevC funciona, se for utilizado junto com WINE ( isso para linux, não confudam as coisas ).
Essa é a primeira consideração. Baixem esses programas, e daqui a pouco faço um post a respeito do Compilador
Qualquer dúvida, estou a disposição.
Porque toda essa procura não supre a demanda. Há muito mais demanda que profissionais da área, e essa tendencia é aumentar....Há "n" motivos, mas creio que o maior deles é: Não basta querer programar....deve-se gostar disso, ser apaixonado por isso e nem todas as pessoas tem essa vontade. Exemplo disso é a faculdade. Na minha turma do primeiro semestre tinha 50 pessoas. Hoje, no sexto semestre, tenho turmas com 6 pessoas.
É difícil. Tem que haver empenho.
Digo tudo isso, não para desencorajar, mas para situa-lo. Para mostra-lo onde esta entrando. Uma coisa que eu sempre digo : Se tu gosta de fazer isso, a dificuldade será muito menor! Porque haverá gosto por isso, e quando conseguir fazer funcionar, irá sentir o sentimento da realização. Isso é muito bom.
Bem. Vamos ao que importa.
O princípio básico da informática é: Receber dados, processa-los ( manipula-los ) e devolver um retorno. Este é o princípio mais básico e primordial da informática, e, para a programação, segue-se o mesmo conceito.
A linguagem "C" é uma linguagem estruturada, criada na década de 70 por Denis Ritchie, dos laboratórios AT&T Bell ( esse mesmo que tu esta pensando: Graham Bell ).
Estruturada, porque os comandos seguem uma ordem natural de cima para baixo, onde os comandos são executados de cima para baixo.
Para programar C, usaremos um programa que "gera" o arquivo executável, que executará o que nós predeterminamos. Esse programa é um Compilador.
Pesquise ''Compilação'' no Google para maiores informações, mas lhes adianto que é basicamente reunir tudo o que o programa precisa pra rodar e gerar um executável.
Existem várias marcas de compiladores, mas lhes indico o DevC. Ele é software livre, bem leve e funciona muito bem em Windows. Se o pessoal utiliza Linux, pode ser utilizado o CodeBlocks. O DevC funciona, se for utilizado junto com WINE ( isso para linux, não confudam as coisas ).
Essa é a primeira consideração. Baixem esses programas, e daqui a pouco faço um post a respeito do Compilador
Qualquer dúvida, estou a disposição.
Inicio dos Trabalhos....comecando com linguagem "C"
Boa tarde Pessoal....
Estive ausente do blog nesta semana passada, ainda me adaptando á esse retorno ás aulas, estava fazendo um curso, chegava muito tarde, enfim, não tive tempo para postar....
Já que estamos falando em volta as aulas e eu prometi a postar algo sobre programação, creio que podemos começar agora.
Primeiro quero informar que vamos abordar o princípio da linguagem, e o meu intuito é ajudar ao pessoal que esta começando mesmo.
Porque "C' ?
C foi a primeira linguagem que aprendi, foi nela que fiz o meu primeiro "hello world", então me sinto mais a vontade para postar os paradigmas em C.
Java, poderia ser. Mas penso que, se for para iniciarmos em Java, devemos aprender Orientação á Objetos primeiro, e não acho legal aprender O.O em blogs....Aprenda O.O em algum curso presencial, e depois parta para Java, com os fundamentos bem definidos na cabeça....
Com certeza, irei postar algumas coisas de Java, mas não no momento.
Algumas considerações :
Quem quer aprender programação, em qualquer nível, deve ter em mente que precisará estudar em casa, ser autodidata.
Qualquer curso é genérico, e fica a critério do interessado, á procurar aperfeiçoar-se em algum quesito da linguagem escolhida.
Nunca haverá alguém bom o suficiente. Sempre há o que aprender e a melhorar em qualquer linguagem, então, caso algo não ficou claro, ou surgiu alguma dúvida a respeito de alguma coisa que não expliquei, basta perguntar que responderei com todo o prazer.
Não vou focar em história da linguagem, ou tamanho dos tipos de dados, que isso não importa muito no inicio.
Ok ?
Essa será a nossa primeira série.... então irei padronizar desta forma os títulos:
Aprendendo C - "Aqui vem o assunto do Post"
Abraço e bons estudos.
Estive ausente do blog nesta semana passada, ainda me adaptando á esse retorno ás aulas, estava fazendo um curso, chegava muito tarde, enfim, não tive tempo para postar....
Já que estamos falando em volta as aulas e eu prometi a postar algo sobre programação, creio que podemos começar agora.
Primeiro quero informar que vamos abordar o princípio da linguagem, e o meu intuito é ajudar ao pessoal que esta começando mesmo.
Porque "C' ?
C foi a primeira linguagem que aprendi, foi nela que fiz o meu primeiro "hello world", então me sinto mais a vontade para postar os paradigmas em C.
Java, poderia ser. Mas penso que, se for para iniciarmos em Java, devemos aprender Orientação á Objetos primeiro, e não acho legal aprender O.O em blogs....Aprenda O.O em algum curso presencial, e depois parta para Java, com os fundamentos bem definidos na cabeça....
Com certeza, irei postar algumas coisas de Java, mas não no momento.
Algumas considerações :
Quem quer aprender programação, em qualquer nível, deve ter em mente que precisará estudar em casa, ser autodidata.
Qualquer curso é genérico, e fica a critério do interessado, á procurar aperfeiçoar-se em algum quesito da linguagem escolhida.
Nunca haverá alguém bom o suficiente. Sempre há o que aprender e a melhorar em qualquer linguagem, então, caso algo não ficou claro, ou surgiu alguma dúvida a respeito de alguma coisa que não expliquei, basta perguntar que responderei com todo o prazer.
Não vou focar em história da linguagem, ou tamanho dos tipos de dados, que isso não importa muito no inicio.
Ok ?
Essa será a nossa primeira série.... então irei padronizar desta forma os títulos:
Aprendendo C - "Aqui vem o assunto do Post"
Abraço e bons estudos.
terça-feira, 30 de julho de 2013
Ajustando ambiente
Boa noite leitores !
Há alguns dias, eu havia comentado sobre a volta ás aulas, e hoje eu comecei a arrumar o meu ambiente. Quando falo em ambiente, não estou falando do meu escritório, sala, quarto..etc....estou falando nos ajustes do nosso meio de trabalhar, o nosso pc.
Como já devem saber, uso Linux em meu netbook, e usei ele até então durante a faculdade....em casa eu utilizo windows, por questões "gamesticas"....mas semestre passado tive alguns problemas com o ambiente, era fim de semestre, meu pc estava pauleado, e não deu tempo de fazer algum teste em windows...resumindo, reprovei na cadeira.
Hoje então, comecei a ajustar tudo, tudo mesmo!
VMs de Ubuntu, Mint, XP para colocar banco e etc...instalei o WAMP no XP 32, e no 7 64...LAMP nos demais linux....Estou com Eclipse e Netbeans tanto para linux quanto para windows.....ou seja, desta vez não tem desculpa....
Então, para não falarem que eu só dou dica de linux, vamos há uma pequena dica para windows....
Vamos á instalação do WampServer,
- Apache
- PHP
- MySQL
- Phpmyadmin
- SQLitemanager
Todos com as versões atualizadas.
2º passo – Execute o arquivo que você baixou, e continue a instalação, clicando em YES;
3º passo – Após a tela de apresentação, clique em NEXT, logo após leia o Termos de Uso (leia mesmo, rs) e clique novamente em NEXT;
4º passo – Escolha onde será instalado o software, recomenda-se deixar o c:\wamp como padrão, pois nomes com espaços ou maiores que 8 dígitos é problema na certa. clique duas vezes no NEXT;
5º passo – Essa parte é a mais difícil: clique em INSTALL;
6º passo – Nessa parte você escolhe seu navegador. Mas eu nunca usei isso, então escolha qualquer um. Ou seja: manda bala e pule pro próximo passo;
7º passo - Informe o servidor SMTP (servidor de e-mail), mas como estamos instalando localhost, deixaremos esta opção como padrão, apenas clique em NEXT.
8º passo – Prontinho! Clique em FINISH para executar o WampServer.
9º passo – O WampServer esta rodando em seu sistema, e para certificar isso, procure um ícone (como este da figura no inicio do post) ao lado do relógio do Windows que parece um velocímetro de fusca... clique com o botão direito nesse cara, vá até LANGUAGE e selecione PORTUGUES.
10º passo – Clicando uma vez com o botão esquerdo sobre o mesmo ícone teremos todas as opções para o servidor do programa, como parar, reiniciar e iniciar os serviços (php, mysql, apache).
Os serviços já estão ativos no seu sistema. Por padrão você tem as seguintes configurações:
Acesso ao servidor web local no endereço http://localhost/ 
Diretório dos arquivos públicos no caminho C:\wamp\www
Gerenciador Mysql – Phpmyadmin (o mais usado e recomendado):http://localhost/phpmyadmin/
O Gerenciador Mysql – SQLiteManager: http://localhost/phpmyadmin/
As informações sobre o seu servidor: http://localhost/?phpinfo=1

Diretório dos arquivos públicos no caminho C:\wamp\www
Gerenciador Mysql – Phpmyadmin (o mais usado e recomendado):http://localhost/phpmyadmin/

O Gerenciador Mysql – SQLiteManager: http://localhost/phpmyadmin/

As informações sobre o seu servidor: http://localhost/?phpinfo=1
Fonte : http://helpmasters.com.br
sexta-feira, 26 de julho de 2013
Lugares abandonados pelo mundo
A primeira postagem relacionada a curiosidades....segue uma lista de lugares que foram evacuados e/ou abandonados....muito interessante!!
Em breve a parte 2
quinta-feira, 25 de julho de 2013
CAD 2 D curso online
Buenas....
Aqui segue uma dica para quem quer aprender um pouco de CAD 2D e não quer ou não tem a grana para investir agora....
Eu sempre acho melhor dar uma lidinha, uma estudadinha antes de fazer um curso mais completo...sabe como é, esses cursos, em sua maioria, por melhor que seja a instituição e os professores, são genéricos, ou seja, se passa pelas matérias e o aluno tem que aprender na hora, ou estudar em casa, pq na próxima aula é matéria nova e não dá pra parar.....então tendo-se uma noção, já ajuda.
Segue o link:
http://www.cadguru.com.br/cursos/autocad/curso-autocad-2013-basico/
Aqui segue uma dica para quem quer aprender um pouco de CAD 2D e não quer ou não tem a grana para investir agora....
Eu sempre acho melhor dar uma lidinha, uma estudadinha antes de fazer um curso mais completo...sabe como é, esses cursos, em sua maioria, por melhor que seja a instituição e os professores, são genéricos, ou seja, se passa pelas matérias e o aluno tem que aprender na hora, ou estudar em casa, pq na próxima aula é matéria nova e não dá pra parar.....então tendo-se uma noção, já ajuda.
Segue o link:
http://www.cadguru.com.br/cursos/autocad/curso-autocad-2013-basico/
Vídeo do Trem, no momento do acidente.... em Compostela
Retorno das Férias...
Olá pessoal !
Passei uns dias sem postar nada, pois estava sem meu pc, estou de férias da faculdade, e tocando uns projetos paralelos que me deixaram um pouco longe dest Blog.
Já que estamos neste ritmo de volta ás aulas, irei postar algumas coisas relacionadas, primeiramente irei voltar um pouco á questão do LAMP, pois funcionou legal e vou precisar bastante da minha instalação este semestre....
Após isso vou postar alguma coisa de C, algo bem simples, iniciante mesmo, para quem esta começando e precisa de um "norte"....
Eu sei que hoje em dia as faculdades, pelo menos em sua maioria, não esta mais lecionando algoritmos em C, portanto, quero dar mais enfoque, posteriormente, em Java.
Tenho um projeto pessoal em Java, onde estou tentando me desenvolver com a linguagem, e conforme vou aprendendo, quero ir postando.....isso bem aos poucos.
Concomitamente com Java, quero abortar uma matéria bem chatinha ( do ponto de vista da dificuldade ), que é Organização de Computadores. Na minha faculdade, eu sei que o pessoal tem bastante dificuldade e assim eu pretendo dar uma paginada por isso.
Bem, já foi bastante bla,bla,bla, mas queria apenas dizer que o blog não esta abandonado, e já estamos voltando, e não será apenas didática, continuaremos postando vídeos, música e matérias.....
Passei uns dias sem postar nada, pois estava sem meu pc, estou de férias da faculdade, e tocando uns projetos paralelos que me deixaram um pouco longe dest Blog.
Já que estamos neste ritmo de volta ás aulas, irei postar algumas coisas relacionadas, primeiramente irei voltar um pouco á questão do LAMP, pois funcionou legal e vou precisar bastante da minha instalação este semestre....
Após isso vou postar alguma coisa de C, algo bem simples, iniciante mesmo, para quem esta começando e precisa de um "norte"....
Eu sei que hoje em dia as faculdades, pelo menos em sua maioria, não esta mais lecionando algoritmos em C, portanto, quero dar mais enfoque, posteriormente, em Java.
Tenho um projeto pessoal em Java, onde estou tentando me desenvolver com a linguagem, e conforme vou aprendendo, quero ir postando.....isso bem aos poucos.
Concomitamente com Java, quero abortar uma matéria bem chatinha ( do ponto de vista da dificuldade ), que é Organização de Computadores. Na minha faculdade, eu sei que o pessoal tem bastante dificuldade e assim eu pretendo dar uma paginada por isso.
Bem, já foi bastante bla,bla,bla, mas queria apenas dizer que o blog não esta abandonado, e já estamos voltando, e não será apenas didática, continuaremos postando vídeos, música e matérias.....
segunda-feira, 15 de julho de 2013
Impressora 3D
Hallo Pessoal !
Estive matutando sobre esta impressora 3D.
Realmente essa vai emplacar, pois existe "n" utilidades. De acordo com o que eu li, a principal utilidade, e também a mais desafiadora é "imprimir órgãos humanos", ou seja, não precisarmos mais esperar na fila de transplantes ! Isso realmente seria perfeito, as pesquisas estão voltadas para a utilização de células tronco.
Isso é o que eu li há algum tempo atrás.
Há pouco tempo atrás, vi uma reportagem a respeito de impressão de armas, e semana passada pude ler uma matéria completa sobre esta impressão.
Trata-se de 151 horas de fabricação, um arquivo de 6Mb. Precisa-se de um prego para estourar a espoleta ( única peça de ferro ), 160 g de plástico, e você tem tudo para fabricar uma arma ( com exceção da própria impressora, é claro.
Esta arma tem vários riscos, pode explodir na mão de quem usa, ela não tem precisão no disparo...etc, enfim, foi apenas uma "amostra" do que é capaz este tipo de impressora.
Conclusão : Quero dizer que esta impressora realmente vai revolucionar a forma como produzimos as coisas....e as utilidades vão, conforme o tempo e nossa necessidade, aumentando cada vez mais. Imprimir órgãos é o sonho dos cientistas, e creio que um dia realmente será possível, mas antes disso deve-se começar, definitivamente, a cóleta das células troncos de recém nascidos, e organizar entidades responsáveis pelo "banco de células", onde o proprietário, pode resgata-lo em qualquer momento de sua via.
Em breve posto algumas imagens de produtos feitos com a impressora.
Até mais !
Estive matutando sobre esta impressora 3D.
Realmente essa vai emplacar, pois existe "n" utilidades. De acordo com o que eu li, a principal utilidade, e também a mais desafiadora é "imprimir órgãos humanos", ou seja, não precisarmos mais esperar na fila de transplantes ! Isso realmente seria perfeito, as pesquisas estão voltadas para a utilização de células tronco.
Isso é o que eu li há algum tempo atrás.
Há pouco tempo atrás, vi uma reportagem a respeito de impressão de armas, e semana passada pude ler uma matéria completa sobre esta impressão.
Trata-se de 151 horas de fabricação, um arquivo de 6Mb. Precisa-se de um prego para estourar a espoleta ( única peça de ferro ), 160 g de plástico, e você tem tudo para fabricar uma arma ( com exceção da própria impressora, é claro.
Esta arma tem vários riscos, pode explodir na mão de quem usa, ela não tem precisão no disparo...etc, enfim, foi apenas uma "amostra" do que é capaz este tipo de impressora.
Conclusão : Quero dizer que esta impressora realmente vai revolucionar a forma como produzimos as coisas....e as utilidades vão, conforme o tempo e nossa necessidade, aumentando cada vez mais. Imprimir órgãos é o sonho dos cientistas, e creio que um dia realmente será possível, mas antes disso deve-se começar, definitivamente, a cóleta das células troncos de recém nascidos, e organizar entidades responsáveis pelo "banco de células", onde o proprietário, pode resgata-lo em qualquer momento de sua via.
Em breve posto algumas imagens de produtos feitos com a impressora.
Até mais !
terça-feira, 9 de julho de 2013
LAMP continuação...
Pois bem, após remover meu LAMP baleado, realizei o seguinte comando :
sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5
obs. Não vou esplicar aqui cada comando, pois futuramente pretendo dedicar bastante tempo á explicação sobre o S.O, inclusive os comandos.
Ok. Após a instalação ( que no meu caso demorou nem 3 minutos, pois varia de acordo com o que a máquina já possue ) , realizamos o restart do servidor :
sudo /etc/init.d/apache2 restart
Pronto !
Basta digitar //localhost no browser e criar um documento php.
O diretório do localhost ficará em /var/www.
Ainda não testei, mas esta forma é bem mais rápida que eu adotei anteriormente....talvez no caso ainda não dê o resultado esperado porque na minha instalação original não utilizei o aptitude para instalar, e consequentemente, ao remover, ficaram libs antigas.... uma pena...
Caso haja necessidade de aprofundar neste conteúdo ( instalação linux, configuração localhost ) podemos reabrir e ir postando conforme surjam as dúvidas....
sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5
obs. Não vou esplicar aqui cada comando, pois futuramente pretendo dedicar bastante tempo á explicação sobre o S.O, inclusive os comandos.
Ok. Após a instalação ( que no meu caso demorou nem 3 minutos, pois varia de acordo com o que a máquina já possue ) , realizamos o restart do servidor :
sudo /etc/init.d/apache2 restart
Pronto !
Basta digitar //localhost no browser e criar um documento php.
O diretório do localhost ficará em /var/www.
Ainda não testei, mas esta forma é bem mais rápida que eu adotei anteriormente....talvez no caso ainda não dê o resultado esperado porque na minha instalação original não utilizei o aptitude para instalar, e consequentemente, ao remover, ficaram libs antigas.... uma pena...
Caso haja necessidade de aprofundar neste conteúdo ( instalação linux, configuração localhost ) podemos reabrir e ir postando conforme surjam as dúvidas....
Instalação do LAMP
Acho que mais gente deve ter se batido para configurar apache+mysql+PHP, o que não foi exatamente o meu caso, mas creio que a minha instalação não ficou das melhores....
Eu utilizo o Linux Mint como meu principal S.O, e como bom pinguim, configuro tudo na unha mesmo...
Instalei tudo via apt-get, mas com um porém : foi um-a-um.
O que aconteceu ?
Nada, á principio, mas no fim de uma aplicação PHP, na verdade um trabalho em PHP, as querys não retornavam nada.
Utilizei o query_fetch_row, mas nada vinha. A conexão retornava true, mas todas as queries eram FALSE... isso pelo php, pq se fosse realizado a consulta dentro do proprio phpmyadmin, fluia os selects, inserts e deletes....
Pelo php nem tentei realizar insert, pois nem select funcionava, insert muito menos.
Bem....falei tudo isso, pq neste exato momento estou realizando a Engenharia Reversa....quando estiver zerado, vou realizar uma instalaçao diferente, utilizando apt-get, porém instalando o pacote todo de uma vez só. De antemão, visualizei que este comando apenas "concatena" cada pacote, mas creio que desta forma irá instalar mais "homogeneamente"(se é que se pode fazer esta derivação de homogêneo)....
A seguir post uma tuto bem simplificada....
Até mais !
Eu utilizo o Linux Mint como meu principal S.O, e como bom pinguim, configuro tudo na unha mesmo...
Instalei tudo via apt-get, mas com um porém : foi um-a-um.
O que aconteceu ?
Nada, á principio, mas no fim de uma aplicação PHP, na verdade um trabalho em PHP, as querys não retornavam nada.
Utilizei o query_fetch_row, mas nada vinha. A conexão retornava true, mas todas as queries eram FALSE... isso pelo php, pq se fosse realizado a consulta dentro do proprio phpmyadmin, fluia os selects, inserts e deletes....
Pelo php nem tentei realizar insert, pois nem select funcionava, insert muito menos.
Bem....falei tudo isso, pq neste exato momento estou realizando a Engenharia Reversa....quando estiver zerado, vou realizar uma instalaçao diferente, utilizando apt-get, porém instalando o pacote todo de uma vez só. De antemão, visualizei que este comando apenas "concatena" cada pacote, mas creio que desta forma irá instalar mais "homogeneamente"(se é que se pode fazer esta derivação de homogêneo)....
A seguir post uma tuto bem simplificada....
Até mais !
Por falar em estudos, faculdade e tal, lembrei-me da cadeira de programação para internet, e consequentemente deste blog.
Sei que muita gente tem interesse em ter um blog, seja para divulgar ideias, trocar ideias, fazer diários fúteis, diários de viagem ( que eu acho muito útil por sinal ) , enfim, desejam compartilhar algo com a grande web, e não sabem como faze-lo exatamente.
Digo isso, porque eu achava que o sistema fosse engessado, por exemplo : pega-se um "template", muda-se o fundo, a fonte, a cor e está pronto. Bem, pode ser assim, mas também existem muitos outros recursos, inclusive, editar todo o HTML, e inserir CSS ! Isso mesmo! Pode-se programar também ! Ainda não explorei o toda a ferramenta do Google ( olha o Merchan ! ), mas acredito que possa inserir Flash também.
Na verdade pode-se colocar em domínio próprio, e desta forma as possibilidades serão infinitas....
Me corrijam caso haja alguma informação incorreta, mas pelo que eu entendi, é isso mesmo !
Boa noite pessoal, fiquei dois dias sem postagem, pois estava sem meu micro portátil....
Estamos em processo final de semestre na faculdade e pretendo em breve fazer posts relacionados ás cadeiras que mais causam "angústia" no pessoal que está começando em ADS, Ciências da Computação, Sistema de Informação...etc....enfim, cursos de tecnologia.
Vou tentar fazer algo dinâmico, onde não fique postando coisas que não interessam a ninguém...primeiro farei uma análise, para postarmos alguma coisa de algoritmo...se será em C, C++, C#, Pascal ou Java....como eu tive minha formação inicial em C, me sinto mais a vontade postando lógica e algiritmos em C.....bem, veremos isso na sequencia....
Estamos em processo final de semestre na faculdade e pretendo em breve fazer posts relacionados ás cadeiras que mais causam "angústia" no pessoal que está começando em ADS, Ciências da Computação, Sistema de Informação...etc....enfim, cursos de tecnologia.
Vou tentar fazer algo dinâmico, onde não fique postando coisas que não interessam a ninguém...primeiro farei uma análise, para postarmos alguma coisa de algoritmo...se será em C, C++, C#, Pascal ou Java....como eu tive minha formação inicial em C, me sinto mais a vontade postando lógica e algiritmos em C.....bem, veremos isso na sequencia....
sábado, 6 de julho de 2013
Jogos PS4 !!
Vídeo do Google Glass
Pois é, olhando as estastísticas de meus primeiros posts, verifiquei que o google glass teve 6 vezes mais acessos que os outros posts... como estamos "celebrando a democracia"...heis um vídeo, em português de um pessoal que testou o Google Glass....
Declaração de Amor do Sheldon para Amy
Para dar uma quebrada, vamos ao primeiro funny post...
Segue uma declaração do Sheldon !! Cômico !
Animais mais raros do Mundo
sexta-feira, 5 de julho de 2013
Considerações nem tão iniciais....
Bom galera, como comecei este blog há algumas horas, ainda estou aprendendo a mexer na ferramenta, e estou gostando desta sensação de compartilhar idéias, informações e considerações que acho interessantes sem estar agredindo ou respondendo para alguém, assim todos nós ficamos a vontade para ler, ou sair do blog.
Peço para vós que instiguem, questionem, corrijam, reclamem....ou seja, participem, pois isso tudo só será válido com a participação da galera. Um dos meus intúitos é justamente compartilhar conhecimento, e o conhecimento só é válido, quando compartilhamos.
Essas primeiras horas ja foi suficiente para se ter uma idéia da quantidade de acessos, e isso é muito legal, pois pretendo estar sempre postando coisas interessantes e consequentemente aumentar esses acessos....
Boa noite e até amanhã....
Peço para vós que instiguem, questionem, corrijam, reclamem....ou seja, participem, pois isso tudo só será válido com a participação da galera. Um dos meus intúitos é justamente compartilhar conhecimento, e o conhecimento só é válido, quando compartilhamos.
Essas primeiras horas ja foi suficiente para se ter uma idéia da quantidade de acessos, e isso é muito legal, pois pretendo estar sempre postando coisas interessantes e consequentemente aumentar esses acessos....
Boa noite e até amanhã....
Assinar:
Postagens (Atom)