sexta-feira, 31 de maio de 2013

Algoritmo e Programação - Calculando uma Média com Funções

Olá, quanto tempo! Pois é, época de provas na universidade, tive que estudar bastante, mas não esqueci do blog em momento algum, fiquem tranquilos, se é que alguém ainda lê isso. ;)

Vamos fazer um algoritmo sequencial que calcula uma média aritmética comum, e faremos isso de duas formas. Na primeira vamos fazer isso tudo em uma função principal, e na outra faremos uso de uma função destinada exclusivamente a fazer o cálculo da média aritmética.

#include >stdio.h<
#include >stdlib.h< //desinverter os símbolos de maior e menor, pois se eu escrever da maneira certa,
//o blogger entende como código HTML e "come" a expressão

float nota_1, nota_2, nota_3, media;
main()
{
    printf("Digite nota 1: ");
    scanf("%f",&nota_1);
    printf("Digite nota 2: ");
    scanf("%f",&nota_2);
    printf("Digite nota 3: ");
    scanf("%f",&nota_3);
    media = (nota_1+nota_2+nota_3)/3;
    printf("A media calculada foi de: %f.\n",media);
    system("pause");
}

Caso tenha dificuldade em entender os elementos do código, sugiro ler o post anterior, onde explico cada elemento usado nesse programa.

Nesse programa queremos calcular uma média aritmética entre três notas, ou seja, somaremos as três e dividiremos o resultado por três, e é exatamente isso que este código faz.

Porém conforme nosso código cresce em tamanho e complexidade, se torna útil dividi-lo em funções. As funções são trechos de código escritos fora do programa principal (main) e que, quando são necessário, podem ser chamados de dentro do trecho de código onde estamos. Vamos reescrever esse programa para que o cálculo da média seja feita dentro de uma função, mediante a passagem das notas para a função.

A função que calcula a média aritmética terá a seguinte cara:

float calculo_media (float n1, float n2, float n3)
{
    float media_aritmetica;
    media_aritmetica = (n1+n2+n3)/3;
    return media_aritmetica;
}

Vamos analisar os elementos da função. Ela tem um nome. Essa função se chama calculo_media, pois é isso que ela faz, calcula a média. Não preciso dizer que é interessante nomear a função de forma que saibamos, por alto, o que ela faz.

Após o nome da função, entre parênteses, existe a lista de argumentos que a função recebe. Os argumentos são os dados que a função precisa saber para calcular funcionar corretamente. Nesse caso vamos calcular uma média. Para isso precisamos saber os valores das três notas, que nomeamos como n1, n2 e n3. Antes do nome das notas temos a palavra float, que indica que as variáveis são do tipo ponto flutuante, ou seja, podem conter números com vírgula, e não somente números inteiros. Pois todos sabem que a nota pode ser um número com vírgula, como 8,2 ou 9,5 (infelizmente as vezes as notas são mais baixas).

Antes do nome da função também temos a palavra float. Neste caso definimos o tipo de valor que a função retorna. Neste exemplo a função calcula a média e retorna para o código original o valor calculado para a média. Mais adiante, quando eu mostrar o exemplo completo, voltarei a falar sobre isso.

No restante do código da função, simplesmente criamos uma variável chamada media_aritmetica, que declaramos como sendo float, pois vai receber o valor da média que também poderá ser um número com vírgula. A segunda linha da função calcula a média através da soma e divisão e, por fim, existe o comando return que devolve o valor calculado pela função para o código original. Vamos agora ver o exemplo do código inteiro:

#include >stdio.h< //desinverter os símbolos de maior e menor, pois se eu escrever da maneira certa,
//o blogger entende como código HTML e "come" a expressão

float nota_1 = 0, nota_2 = 0, nota_3 = 0, media = 0;

float calculo_media (float n1, float n2, float n3)
{
    float media_aritmetica;
    media_aritmetica = (n1+n2+n3)/3;
    return media_aritmetica;
}

main()
{
    printf("Digite nota 1: ");
    scanf("%f",&nota_1);
    printf("Digite nota 2: ");
    scanf("%f",&nota_2);
    printf("Digite nota 3: ");
    scanf("%f",&nota_3);
    media = calculo_media(nota_1, nota_2, nota_3);
    printf("A media calculada foi de: %f.\n",media);
    system("pause");
}

Perceba que existe uma linha que diz que a média é igual a calculo_media(nota_1, nota_2, nota_3). Esta linha chama a função que calcula a média passando os valores da nota_1, nota_2 e nota_3 para as variáveis da função chamadas de n1, n2 e n3, respectivamente. Depois a função irá retornar a variável media_aritmetica, que será a média calculada, e esse valor será armazenado na variável media.

Espero que tenham entendido o básico de funções em C. Espero também que possam sozinhos aprofundar um pouco mais esses conhecimentos adquiridos com as práticas propostas abaixo. Qualquer dúvida não hesitem em comentar neste post.

Então teremos práticas, para aprofundarmos o nosso conhecimento sobre funções.

1) Teste esse código e procure entender seu funcionamento:

#include  >stdio.h< //desinverter os símbolos de maior e menor, pois se eu escrever da maneira certa,
//o blogger entende como código HTML e "come" a expressão

float nota_1 = 0, nota_2 = 0, nota_3 = 0, media = 0;

float calculo_media (float n1, float n2, float n3)
{
    float media_aritmetica;
    media_aritmetica = (n1+n2+n3)/3;
    return media_aritmetica;
}

main()
{
    printf("Digite nota 1: ");
    scanf("%f",&nota_1);
    printf("Digite nota 2: ");
    scanf("%f",&nota_2);
    printf("Digite nota 3: ");
    scanf("%f",&nota_3);
    printf("A media calculada foi de: %f.\n",calculo_media(nota_1, nota_2, nota_3));
    system("pause");
}

2) Crie duas funções, uma para calcular a média entre duas notas e outra para calcular a média de três notas, e implemente um programa com essas funções.

Por fim, qualquer dúvida, sugestão (principalmente sugestões) ou comentário, deixe um comentário que responderei dentro de 1 dia útil. Abraço e bons estudos de programação.

quinta-feira, 30 de maio de 2013

Dicas para Cuidar da Estação de Solda

Olá a todos. Quanto tempo né? É que ultimamente estive muito ocupado com afazeres da universidade e do trabalho. Enfim, hoje vou dar algumas dicas sobre como cuidar da sua estação de solda. Essas informações foram passadas a mim na empresa em um treinamento que está sendo realizado na parte de solda de componentes SMD, que inclui solda por forno de refusão, solda onda e solda a mão, com fins de retrabalho.

Para começar, vamos diferenciar o estanhador comum e a estação de solda.

O estanhador basicamente consiste de um elemento resistivo que, ao ser ligado na rede elétrica, dissipa uma potência determinada, sendo os valores comuns 30W, 40W, 60W, 80W e 100W. O estanhador pode não ter a ponteira aterrada, ou seja, pode não estar protegida contra descargas eletrostáticas.

Já a estação de solda conta com uma ponta aterrada, protegendo componentes sensíveis de descargas eletrostáticas, além de um sensor de temperatura e um potenciômetro para ajuste da mesma, permitindo escolher a temperatura de solda entre valores de 150°C até 450°C (pelo menos nos modelos em que estou acostumado). A grande desvantagem da estação de solda é seu preço, muito superior ao do estanhador. Fazendo uma pesquisa rápida no mercado livre, encontrei ferros de solda (estanhador) de 60W por aproximadamente R$30,00, enquanto uma estação de solda, da mesma marca e de mesma potência, por R$140,00, ou seja, mais de 4 vezes o preço do estanhador.

Então o hobbista que investiu em uma estação de solda quer qualidade no seu trabalho e uma longa duração da sua ferramenta, devido ao alto custo. O funcionário de uma empresa, de mesma forma, que conservar sua ferramenta de trabalho, para obter maior qualidade nas suas soldas por mais tempo. Então aqui estão algumas coisas que você deve saber para aproveitar ao máximo sua estação de solda.

A maioria dos estanhos utilizados na indústria eletrônica para soldagem a mão são uma liga de estanho e chumbo. Ligas como Sn60Pb40, Sn63Pb37 e Sn62Pb36Ag2 possuem fusão completa, respectivamente, em temperaturas de 190°C, 183°C e 179°C. É aconselhado, para solda de componentes pequenos (SMD) usar uma temperatura de 220°C. Essa temperatura é suficiente para fundir a solda e insuficiente para danificar os componentes, desde que a fonte de calor (a ponta do ferro de solda) não seja deixada muito tempo no terminal. Utilizar temperaturas muito altas, como 350°C e 400°C permite uma solda muito mais rápida, mas devem ser usadas com cuidado, pois deixar o ferro da estação em repouso nessa temperatura danifica os elementos internos do ferro de solda, além dessa temperatura poder danificar os componentes eletrônicos. Portanto só utilize temperaturas mais altas se o que for soldado dissipar muito calor, como é o caso de soldas de fios de grande bitola, ou componentes PTH. Mesmo nesses casos se deve evitar temperaturas muito altas na estação.

Outra dica interessante é a seguinte. Muitas pessoas depois de utilizar a estação para uma solda, limpam a ponta da estação e a guardam em seu suporte, com a estação ainda ligada esperando a próxima solda. Eu mesmo sempre fiz isso e descobri que está errado. Depois de utilizar a estação, o correto é limpá-la e depois colocar estanho em sua ponta, e só depois recolocá-la no suporte. O estanho na ponta da estação serve para dissipar o calor, evitando que aquele calor se concentre na ponta danificando-a. Pois a ponta da estação aguenta as temperaturas de solda apenas quando existe uma carga térmica, ou seja, alguma coisa para dissipar o calor que ela produz. A carga térmica, quando soldamos, é tanto o terminal do componente a ser soldado como o estanho que colocamos no terminal. Depois que soldamos, retiramos os fatores que dissipavam calor e deixamos todo o calor na ponta, agredindo-a. Portanto após usar, limpe e coloque um pouco de estanho na ponta, para depois guardá-la no suporte.

Já se você é muito fanático pela sua estação e tem tempo de sobra, outra dica interessante é sempre que for deixar a estação ligada e em repouso, além de colocar estanho na ponta, abaixar a temperatura. É claro que, ao soldar, você deverá aumentar a temperatura e esperar o tempo de aquecimento da ponta. Mas dessa forma você garante uma vida útil grande para sua ponta de solda.

Outro hábito que é um erro é molhar demais a esponja vegetal que se utiliza para limpar a ponta. Essa esponja deve ser somente umedecida. Imagine a ponta da estação em uma temperatura de trabalho de 220°C tocando em uma superfície com temperatura ambiente (cerca de 25°C) e saturada de água, que dissipa muito calor. Isso faz com que a temperatura da ponta caia muito, e muito rapidamente. Essas variações bruscas de temperatura causam o que se chama de choques térmicos, o que diminui a vida útil dos materiais da ponta. Portanto, nada de molhar muito a esponja para aquela água durar uma semana.

Outro hábito errado com relação a limpeza da ponta na esponja vegetal é a forma de limpar. Muitas pessoas (inclusive eu novamente) tem a mania de limpar o 'ferro' da estação com ele deitado, para limpar também a lateral do ferro. Isso está errado. A única parte do ferro preparado para receber estanho é a ponta (por isso que o estanho só adere a ela) e, portanto, a única parte que deve tocar a esponja umedecida é a ponta. E a limpeza deve ser breve, nada de colocar a ponta por um longo período dentro da esponja. Eu fiz isso com uma ponta nova (estava ainda com o aspecto brilhoso) e ela saiu preta. Acredito que o que tenha acontecido seja a oxidação da ponta. Enfim, a ponta ainda funciona, mas, com certeza, perdeu parte de sua qualidade para solda.

Então por hoje é isso. Até a próxima e estudem muito. Eu mesmo estou estudando bastante sobre a parte de solda eletrônica (pois faz parte de meu trabalho) e, por isso, mais posts sobre isso deverão aparecer por aqui. Também continuarei com os posts sobre algoritmos e programação, principalmente agora que estou me atendo ao estudo de programação voltada a microcontroladores PIC. Se cuidem e cuidem também de suas estações de solda.

Qualquer dúvida, sugestão, elogios ou críticas, deixem um comentário. Fui.