segunda-feira, 8 de julho de 2013

Como trabalhar com PHP - Introdução



PHP pode ser escrito em qualquer editor de textos (notepad, notepad++, gedit, etc...)
O PHP é escrito entre tags <?php e ?> através do qual o servidor web o reconhece e chama o interpretador PHP para executá-lo.

<?php
            //Escrevendo um programa em PHP
            echo "<h1 align='center'>Este é meu programa!</h1>";
?>

Salve o programa como prog1.php no diretório do servidor  que você estiver utilizando, pode ser Xampp (na pasta htdocs dentro de C: na pasta xampp), Easyphp (na pasta www dentro de C: na pasta arquivos de programas, easyphp) ou qualquer outro.  Esse programa vai gerar na tela do Browser a frase “Este é meu programa!”, para visualizá-lo é só abrir o navegador e digitar, localhost e o caminho da pasta onde você tenha salvado o programa.

Elemento
Descrição
<?php
Inicio do código PHP
//
Usado para fazer um comentário de uma linha,
/* */
Usado para fazer um comentário de mais de uma linha
echo
Serve para escrever algo na tela
?>
Término do código PHP

Geralmente em um programa não existe apenas código em PHP, mas também tags em HTML, enquanto o PHP é a parte dinâmica o HTML é a parte estática.
A parte escrita em HTML tem de estar fora das tags do PHP.
O código em PHP também pode se escrito usando o modelo OO (de Orientação à Objetos).

<?php
            class teste
            {
                        function Meu_nome()
                        {
                                   echo "Paloma Coutinho!";
                        }
            }
            $objeto = new teste; //$objeto se torna um instância da classe teste
            $objeto -> Meu_nome();
?>

Variáveis

Para usar variáveis em PHP, ela tem de se precedida do símbolo $. Após o símbolo deve vir o identificador (nome), mas não pode ser um número, porém o número de vir em qualquer posição do identificador. O PHP é case sensitive, por isso é recomendável usar apenas um padrão para escrever os nomes de variáveis, ou usa-se minúscula ou maiúscula.

Exemplos:

Válidos: $variavel, $Variavel ou $VARIAVEL

Inválido: $30variavel

Constantes

Para se usar uma constante basta defini-la no inicio do código com a palavra reservada “define”, o nome deve seguir o mesmo padrão das variáveis.

Exp.: define (“nome”, “valor”);

Quando refenciamos uma constante não precisamos colocar o símbolo $ só é necessário chamar pelo nome que foi definido na declaração, o símbolo só é usado para referenciar as variáveis.

Estruturas de controle em PHP

 If

Sintaxe do comando:

if (exemplo1)
            { bloco1}
elseif (exemplo2)
            { bloco2}
else
            { bloco3}

Switch

Sintaxe do comando:

Switch (operador)
{
            case valor1:
                        <comandos>
                        break;

case valor2:
                        <comandos>
                        break;
            ....

case valorN:
                        <comandos>
                        break;
            default:
                        <comandos>
                        break;
}

While

Avalia a expressão antes de executa-la. Sintaxe do comando:

while (exp)
{
comandos
}

Do...While

Avalia a expressão no final do laço, com isso executa os comandos ao menos uma vez. Sintaxe do comando:

do
{
      comandos
}while (exp);

For

A sintaxe do comando for é a seguinte:

for (inicialização; condição; operador)
{
      comandos
}

Foreach

É a maneira mais fácil de trabalhar com array. São duas as sintaxes possíveis:

foreach ($nome_array as $elemento)
{
            comandos
}

ou

foreach ( $nome_array as $chave => $valor)
{
            comandos
}



Uma forma de aprender de verdade sobre o php é fazendo cursos on-line, com isso você não irá depender de ferramentas e bibliotecas de terceiros.
Hoje recomendo o curso ULTIMATE PHP 2.0 clicando no link https://go.hotmart.com/A5972583D

sexta-feira, 24 de maio de 2013

Método Iterativo de Gauss-Jacobi

Atravéz de uma aproximação inicial, o Método de Gauss-Jacobi consiste em obter uma seqüência, por meio da relação recursiva.
O processo iterativo utiliza somente estimativas da iteração anterior.
O método gera uma seqüência convergente para a solução do sistema dado, independentemente da escolha da aproximação inicial.

Fórmula Matricial do Método Gauss-Jacobi

Decompõe-se a matriz de coeficientes A em:
A = L + D + U
Onde:
L – Matriz Triangular Inferior
D – Matriz Diagonal
U – Matriz Triangular Superior


Abaixo tem um algoritmo em C para o calculo deste método linear:

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>

#define tam 3

main()
{
    int t, j, i, k; 
    bool pare=false;
    float a[tam][tam], b[tam], x[tam], x0[tam], x2[tam], e, norma=0, soma=0,soma2=0;
   
    // inserindo os elementos na matriz A
     printf("\nInserindo elementos da matriz A:");
     for(i=0; i<tam; i++)
     {
              for(j=0; j<tam; j++)
              {
                       printf("\nInsira o elemento a[%i,%i]:",i+1,j+1);
                       scanf("%f",&a[i][j]);
              }
     }
    
     printf("\n");
    
     // inserindo os elementos da matriz dos termos independentes B
     printf("Inserindo os termos independentes B:");
     for(i=0; i<tam; i++)
     {
              printf("\nInsira o elemento b[%i]:",i+1);
              scanf("%f",&b[i]);
     }
    
    // inserindo os elementos do vetor x0 inicial
    printf("Entrando com os valores do vetor x0 (inicial)\n");
    for(i=0; i<tam; i++)
    {
             printf("x0[%i]= ",i+1);
             scanf("%f",&x0[i]);
    }  

    //imprimindo a matriz
     printf("\nMatriz A:\n");
      for(i=0; i<tam; i++)
      {
             for (j=0;j<tam;j++)
             {
                 printf ("%.0f",a[i][j]);
                 if(j==2)
                 {
                          printf("\n");
                 }
                 else
                 {
                      printf("\t");
                 }
             }
    } 
    printf("\n\n");

   //imprimindo a matriz de termos
    printf("\nMatriz B:\n");
    for (j=0;j<tam;j++)
    {
                 printf ("%.0f",b[j]);
                 if(j==2)
                 {
                      printf("\n");
                 }
                 else
                 {
                      printf("\t");
                 }
     }      
     printf("\n\n");
   
    //imprimindo o vertor x
    printf("\nMatriz X:\n");
    for (j=0;j<tam;j++)
    {
                 printf ("%.0f",x0[j]);
                 if(j==2)
                 {
                      printf("\n");
                 }
                 else
                 {
                      printf("\t");
                 }
     }      
     printf("\n\n");

    printf("Entre com a precisao: ");
    scanf("%f", &e);

    while (!(pare))
    {
       
        for (i=0; i<tam; i++)
        {
            //calculando o valor do primeiro somatório.
            for (j=0; j<i; j++ )
            {
                soma=soma+a[i][j]*x0[j];
            }           
            //calculando o valor do somatório.
            for (j=i+1; j<tam; j++ )
            {           
                soma2 = soma2 + a[i][j]*x0[j];
            }
            x[i]=(b[i]-soma-soma2)/a[i][i];
            printf("x%i=%f\n",i,x[i]);
            soma=0;
            soma2=0;

        }

        for (t=0; t<tam; t++)
        {
            x2[t] = x[t]-x0[t];
        }
        norma = (sqrt((x2[0]*x2[0])+(x2[1]*x2[1])+(x2[2]*x2[2])))/sqrt((x[0]*x[0])+(x[1]*x[1])+(x[2]*x[2]));
        printf ("norma = %f", norma);
        printf("\nPressione p/ continuar\n\n");
        getch();

        if (norma <= e)
        {           
            pare = true;
        }
        else
        {
            for (t=0; t<tam; t++)
            {           
                x0[t] = x[t];
            }           
            k++;
        }

    }
getch();
}