Cursos de Informática Grátis www.megainforcursos.com

10 de agosto de 2012

Resolvendo problemas

Resolvendo problemas
(Aula 5)
Nesta aula vamos nos dedicar a resolver problemas interessantes e escrever programas utilizando os comandos da linguagem Pascal aprendidos nas aulas anteriores. A melhor forma de aprender as coisas � praticando e com a programa��o n�o � nada diferente. Por isso, neste curso voc� vai encontrar muitos exemplos e exerc�cios para treinar.
Problema 1: Roland Garros
No torneio de Roland Garros, um dos mais tradicionais torneios de t�nis do mundo, realizado em Paris, participaram 128 tenistas. Em cada partida, participam dois jogadores, sendo que o vencedor passa para a pr�xima fase, e o perdedor � eliminado do torneio. A cada rodada, os tenistas que ainda continuam no torneio participam de exatamente uma partida. Qual o n�mero total de partidas deste torneio?
Solu��o
Como h� 128 participantes, na primeira rodada acontecem 64 jogos. Portanto na segunda rodada tem apenas 32 jogos, depois 16 e assim sucessivamente at� ficar apenas um jogo na final. Como podemos perceber, a cada rodada temos a metade de jogos da rodada anterior. Portanto, somando o n�mero de partidas a cada rodada teremos a resposta para o problema. Ou seja, 64 + 32 + 16 + 8 + 4 + 2 + 1 = 127
Se quisermos resolver este problema no computador, qual seria o algoritmo? Vamos supor que N � o n�mero de participantes (inicialmente N=128), P o n�mero de partidas em cada rodada e S a soma total de partidas. Vejamos o que acontece com o valor de cada uma destas vari�veis.
O n�mero de partidas em cada rodada e igual a metade do numero de participantes, ou seja P=N/2
O n�mero total de rodadas � calculado acrecentando as partidas jogadas em cada rodada da seguinte forma S=S+P
No final de cada rodada ficam apenas a metade do n�mero de participantes, ou seja N=N/2
A cada rodada os c�lculos se repetem, e isso acontece enquanto o n�mero de participantes for maior que 1. Levando em conta estas considera��es o algoritmo para este problema seria o seguinte:
Algoritmo
1. Inicializar N: N = 128
2. Repetir enquanto N > 1
3. Calcular P: P = N/2
4. Atualizar S: S = S + P
5. Atualizar N: N = N/2
6 Fim da repeti��o
7. Mostrar S

O programa correspondente a este algoritmo � o seguinte:
Programa
Program PartidasTenis;
Var N,P,S: Real;
Begin
N:=128;
While(N>1) do
Begin
P:=N/2;
S:=S+P;
N:=N/2;
End;
Writeln('O n�mero total de partidas �: ',S);
End.
Problema 2: Calculando
A dissemina��o dos computadores se deve principalmente � capacidade de eles se comportarem como outras m�quinas, vindo a substituir muitas destas. Esta flexibilidade � poss�vel porque podemos alterar a funcionalidade de um computador, de modo que ele opere da forma que desejarmos: essa � a base do que chamamos programa��o.
Tarefa
Sua tarefa � escrever um programa que fa�a com que o computador opere como uma calculadora simples. O seu programa deve ler express�es aritm�ticas e produzir como sa�da o valor dessas express�es, como uma calculadora faria. O programa deve implementar apenas um subconjunto reduzido das opera��es dispon�veis em uma calculadora: somas e subtra��es.
Entrada
A entrada � composta de um n�mero inteiro m (1 ≤ m ≤ 100), indicando o n�mero de operandos da express�o a ser avaliada, uma seq��ncia de n�mero, simbolo e n�mero, indicando o operando, opera��o e operando, no seguinte formato:
X1
s1
X2
s2
...
Xm-1
sm-1
Xm

onde
Xi , 1 ≤ i ≤ m, � um operando (0 ≤ Xi ≤ 100);
sj, 1 ≤ j < m, � um operador, representado pelos s�mbolos `+' ou `-'; Exemplo de Entrada 3 4 + 7 - 22 Exemplo de Sa�da -11 Solu��o Seja m o n�mero de operandos, x o operando, s o operador e res o resultado do c�lculo. Inicialmente, lemos o valor de m, depois o primeiro operando e inicializamos o valor res com o primeiro operando. Para saber o n�mero de operandos lidos vamos usar um contador i. Um poss�vel algoritmo para este problema seria: Algoritmo 1. Ler m 2. Iniciar o contador: i=1 3. Ler x 4. Iniciar o resultado: res=x 5. Enquanto i < m fazer 6. Ler s 7. Ler x 8. Se s='+' ent�o 9. res=res+x 10. Se s='-' ent�o 11. res=res-x 12. Atualizar o contador: i=i+1 13. Fim enquanto 14. Mostrar res Programa Programa Program calculadora; Var i,m: integer; x,res: real; s: char; Begin Readln(m); i:=1; Readln(x); res:=x; While(i

Programa indentado corretamente
Program calculadora;
Var m: integer;
x,res: real;
s: char;
Begin
Readln(m);
i:=1;
Readln(x);
res:=x;
While(i Begin
Readln(s);
Readln(x);
If (s = '+') Then
res:=res+x;
If (s = '-') Then
res:=res-x;
i:=i+1;
End;
Writeln(res);
End.

Exerc�cios
Jogo de adivinhar
Fa�a um programa para voc� jogar com o computador. O computador escolhe um n�mero inteiro entre 1 e 1000 e voc� o adivinha. Se voc� acertar o n�mero em menos de 10 tentativas, voc� ganha o jogo. A cada tentativa o computador informa se o n�mero esta acima ou abaixo do n�mero chutado. Utilize o comando random do Pascal para o computador gerar um n�mero aleat�rio.
exemplo de como usar random:
x:=random; {o computador gera um n�mero real aleat�rio entre 0 e 1}
use o round para converter um n�mero real em um n�mero inteiro, exemplo:
n:=round(x);
Bits Trocados
As Ilhas Weblands formam um reino independente nos mares do Pac�fico. Como � um reino recente, a sociedade � muito influenciada pela inform�tica. A moeda oficial � o Bit; existem notas de B$ 50,00, B$10,00, B$5,00 e B$1,00. Voc� foi contratado(a) para ajudar na programa��o dos caixas autom�ticos de um grande banco das Ilhas Weblands.
tarefa
Os caixas eletr�nicos das Ilhas Weblands operam com todos os tipos de notas dispon�veis, mantendo um estoque de c�dulas para cada valor (B$ 50,00, B$10,00, B$5,00 e B$1,00). Os clientes do banco utilizam os caixas eletr�nicos para efetuar retiradas de um certo n�mero inteiro de Bits.

Sua tarefa � escrever um programa que, dado o valor de Bits desejado pelo cliente, determine o n�mero de cada uma das notas necess�rio para totalizar esse valor, de modo a minimizar a quantidade de c�dulas entregues. Por exemplo, se o cliente deseja retirar B$50,00, basta entregar uma �nica nota de cinquenta Bits. Se o cliente deseja retirar B$72,00, � necess�rio entregar uma nota de B$50,00, duas de B$10,00 e duas de B$1,00.
exemplo de entrada
72
exemplo de sa�da
1 2 0 2

Numeros bin�rios
Voc� sabia que o computador internamente trabalha apenas con os n�meros 0 e 1?. Quando nos escrevemos o programa em pascal, o compilador ainda precisa transformar o programa num codigo que contem apenas os digitos 0 e 1. Os n�mero compostos apenas por estes dois digitos s�o chamados de n�meros binarios, e cada digito � chamado de bit. Os n�meros que estamos acostumados usar contem digitos de 0 at� 9 e s�o chamados de n�meros em base 10. Como faz o compilador para tranformar um n�mero base 10 num n�mero bin�rio?. Vejamos alguns exemplo de convers�o em n�meros bin�rios.
52 = 110100
20 = 10100
10 = 1010
Um n�mero X em base 10 pode ser expresso em termos de um n�mero bin�rio com os digitos ...b5b4b3b2b1b0. Da seguinte forma:
X = b0*20 + b1*21 + b2*22 + b3*23 + b4*24 + ...
por exemplo, o n�mero 20 pode ser expresso em n�mero bin�rio como:
20 = 1 0 1 0 0
| | | | |
b4 b3 b2 b1 b0
20 = 1*24 + 0*23 + 1*22 + 0*21 + 0*20
Tarefa
Escreva um programa que l� um n�mero N, correspondente ao n�mero de entradas. E para cada entrada X (X<256), que corresponde a um n�mero inteiro, o programa deve imprimir a representa��o em n�mero bin�rio com 8 digitos (8 bits).
Exemplo de Entrada
3
5 10 25
Exemplo de sa�da
00000101
00001010
00011001
A solu��o dos exerc�cios voc� encontra aqui.

Repetiçoes (Aula 4)


Repetiçõeses
(Aula 4)
Uma das grandes vantagens da programa��o � que podemos agrupar c�lculos repetidos e informar ao computador atrav�s da linguagem de programa��o que trechos deve repetir, quantas vezes ou em que condi��es. Para entender melhor vamos resolver o seguinte problema.
Problema
Calcular e mostrar o quadrado de todos os n�mero inteiros de 1 at� 100
Solu��o
O problema de calcular o quadrado de um n�mero j� vimos na segunda aula. Seja N o n�mero e Q o seu quadrado, portanto Q=N*N.
Como seria a seq��ncia de procedimentos para calcular o quadrado dos primeiros 100 n�meros inteiros? Uma solu��o simples seria trocar o valor de N em todo momento, como mostra o algoritmo 1. Em vez de atribuir o valor de N em todo momento tamb�m podemos calcular somando 1 a seu valor anterior, como mostra o algoritmo 2.
Algoritmo 1
1. Atribuir  N = 1
     2. Calcular  Q = N*N
     3. Mostrar  Q 
	
     4. Atribuir  N = 2
     5. Calcular  Q = N*N
     6. Mostrar  Q 
	
     7. Atribuir  N = 3
     8. Calcular  Q = N*N
     9. Mostrar  Q 
	
    10. Atribuir  N = 4
    11. Calcular  Q = N*N
    12. Mostrar  Q 
	
    ..............
    
---> 
  
Algoritmo 2
1. Atribuir  N=1
     2. Calcular  Q=N*N
     3. Mostrar  Q 
	
     4. Adicionar 1 a N
     5. Calcular  Q=N*N
     6. Mostrar  Q 
	
     7. Adicionar 1 a N
     8. Calcular  Q=N*N
     9. Mostrar  Q 
	
    10. Adicionar 1 a N
    11. Calcular  Q=N*N
    12. Mostrar  Q   
	
    ..............
	
Olhando os dois algoritmos vemos que o programa seria muito longo para calcular o quadrado dos 100 n�meros. Existe uma forma mais curta de dizer ao computador para resolver este problema? Olhando o algorimo 2 percebemos que a partir da linha 4 os comandos se repetem a cada tr�s linhas. Portanto pedimos ao computador simplesmente para repetir o seguinte trecho:
Adicionar 1 a N
        Calcular  Q=N*N
        Mostrar  Q 
Como resultado temos o algortimo 3 mostrado abaixo. Por�m existe um problema, precisamos indicar ao computador quantas vezes deve repetir o trecho. Uma forma de fazer isso � colocando uma condi��o. Neste caso a condi��o seria: repetir o trecho enquanto N for menor ou igual a 100 como est� escrito no algoritmo 4.
Algoritmo 3
1. Atribuir  N = 1
   2. Calcular  Q = N*N
   3. Mostrar  Q 
   4. Repetir o seguinte trecho
   5.    Adicionar 1 a N
   6.    Calcular  Q = N*N
   7.    Mostrar  Q 
	
---> 
  
Algoritmo 4
1. Atribuir  N=1
    2. Calcular  Q=N*N
    3. Mostrar  Q 
    4. Repetir enquando N <= 100
    5.    Adicionar 1 a N
    6.    Calcular  Q=N*N
    7.    Mostrar  Q 	
	
Observando o algoritmo 4 notamos que ainda tem linhas repetidas. Ser� poss�vel fazer ainda mais curto este algoritmo? Em algumas situa��es � poss�vel reduzir ao m�ximo o n�mero de linhas do algoritmo ou programa. Para isso vamos precisar um pouco de nossa criatividade e muitas vezes mais da experi�ncia. Voc� mesmo perceber� isso quando fizermos mais exerc�cios. Voltando ao nosso algoritmo, podemos fazer uma pequena altera��o no valor de N e eliminar as linhas 2 e 3. Se Inicializamos o N com zero, o quadrado de 1 poder� ser calculado dentro do bloco de repiti��o e teremos um algoritmo reduzido.
Algoritmo
1. Atribuir  N=0
         2. Repetir enquando N <= 100
         3.     Adicionar 1 a N
         4.     Calcular  Q=N*N
         5.     Mostrar  Q 	  
No Pascal utilizamos Comando WHILE...DO para indicar ao computador que vamos repetir um trecho do programa enquanto uma condi��o for satisfeita. Vejamos como fica o algoritmo na linguagem Pascal.
Programa
Program quadrados;
     Var   N,Q: Integer;
     Begin
         N:=0;
         While(N <=100) do 
         Begin
             N:=N+1;
             Q:=N*N;
             Writeln('o quadrado de ', N, 'eh', Q);
         End;
     End.
	
Observando o programa vemos que al�m do While...Do aparecem outras duas palavras reservadas da linguagem que j� conhecemos: o Begin...End. Neste caso, estas palavras s�o utilizadas para informar ao computador onde come�a e acaba o trecho do programa que precisa ser repetido. O formato geral do comando WHILE � o seguinte:
WHILE condi��o DO 
BEGIN
   blocos de comandos
END;
Entrada de dados
At� agora vimos uma forma de entrada de dados usando apenas atribu��o. Nesta aula vamos aprender uma outra forma de entrada de dados bastante utilizada. � muito trabalhoso ter que ir ao programa e mudar os valores dos dados cada vez que desejamos fazer c�lculos com novos dados. Por exemplo, no programa da m�dia temos que alterar os valores de N1, N2 e N3 se quisermos calcular a m�dia das notas de outro aluno. Ficaria mais f�cil se pud�ssemos informar isso durante a execu��o do programa. Cada vez que o programa precisar dos dados n�s fornecer�amos atrav�s do teclado. Para fazer isso em Pascal existe o comando chamadoReadln.
Este comando l� os dados do teclado quando n�s digitamos as letras e os n�meros. Por exemplo, se desejamos que o computador leia o valor de N1 do teclado, n�s escrevemos a seguinte linha:
Readln(N1);
Neste caso, o computador vai esperar que n�s digitemos o n�mero e apertemos a tecla ENTER para ler o n�mero.
Como seria o programa da m�dia que l� as notas do teclado?
Para saber a resposta vamos alterar o programa da m�dia da aula anterior.
Programa
Program resultado;
     Var N1,N2,N3 : Real;
             S, M : Real;
     Begin
         Readln(N1);
         Readln(N2);
         Readln(N3);
         S:=N1+N2+N3;
         M:=S/3;
         If(M >= 5) Then
             Writeln('aprovado')
         Else
             Writeln('reprovado');
     End.
Para treinar o que foi aprendido nesta aula vamos resolver um outro problema
Problema
A Bolsa de Valores de S�o Paulo tem um �ndice que mede o quanto a maioria das a��es vale, levando em conta a import�ncia relativa de cada empresa na bolsa. Esse �ndice e atualizado todos os dias.
O �ndice pode mudar devagar (1,5% ao dia, por exemplo) ou muito r�pido (3% ao dia seria muito r�pido). Voc� quer saber se o �ndice costuma "cair r�pido" mais do que "subir r�pido".
Fa�a um algoritmo que leia os percentuais de cada dia, e apenas para os dias em que o �ndice variou mais de 1%, conte ou "mais uma subida" ou "mais uma queda". O algoritmo termina quando o usu�rio entrar "-100".
Ao final da execu��o, o algoritmo deve mostrar o n�mero de subidas e quedas bruscas.
Resposta:
Vamos supor que V seja o valor percentual das subidas ou quedas. Este valor vamos informar ao computador cada dia. Depois de v�rios dias, quando desejamos saber quantas quedas e subidas acima de 1% teve a bolsa, digitamos -100. Portanto o -100 � a condi��o para finalizar o c�lculo. Tamb�m precisamos guardar o n�mero de subidas e quedas, para tanto vamos utilizar as vari�veis Subidas e Quedas. O algoritmo seria o seguinte.
Algoritmo
Subidas=0
       Quedas=0
       Leia V
       Enquanto V n�o for -100
           Se V maior 1 ent�o
               Adicione 1 a Subidas
           Se V menor que -1 
               Adicione 1 a Quedas
           Leia V
       FimEnquanto
O programa correspondente ao algoritmo � o seguinte:
Programa
Program bolsa;
  Var V: real;
      Subidas, Quedas: integer; 
  Begin
     Subidas := 0;
     Quedas := 0;
     While (V <> -100) do
     Begin
        Readln (v);
        If (V > 1) Then
           Subidas := Subidas + 1;
        If (V < -1) Then
           Quedas := Quedas + 1;
     End;
     writeln ('Dias em que o indice subiu: ', subidas);
     writeln ('Dias em que o indice caiu: ', quedas);
  end.
Exerc�cios
  1. Voc� n�o ficou contente com o algoritmo para analisar o �ndice da bolsa de valores. Agora voc� quer saber tamb�m quanto, na m�dia, foi o percentual das mudan�as repentinas no �ndice. Modifique o programa anterior para que ele mostre o seguinte:
    �ndice subiu muito : NNN vezes (em m�dia NN% a cada subida brusca)
    �ndice caiu muito : NNN vezes (em m�dia NN% a cada queda brusca)
  2. n�meros primos: se dice que um n�mero � primo se este � divisivel apenas por 1 e ele mesmo, por exemplo, 17 � um n�mero primo, enquanto o 15 n�o � primo, ja que � divisivel por 3 e 5. Os n�meros primos tem sido bastante usados na criptografia, por exemplo, para a transmiss�o mais segura de informa��es secretas. Imagina, por exemplo que desejamos transmitir pela internet uma mensagem contendo senha de acesso � conta do um banco, se enviamos sem codificar, existe a posibilidade de alguem interceptar a nossa mensagem e ficar sabendo nossa senha. Os n�meros primos s�o usados justamente para codificar uma mensagem e transmitir pela internet sem que outros possam desifrar o conteudo da mensagem. A vantagem de usar os n�meros primos se deve ao fato que � dif�cil saber se um n�mero grande (mais de 100 d�gitos) � primo ou n�o. Fa�a um algoritmo que tenha como entrada um n�mero N, e mostre os n�meros primos at� esse n�mero.
  3. Fa�a agora um algoritmo que, dados n�meros de zero at� um m�ximo, mostre a soma de todos os n�o-primos, subtra�da da soma dos primos.
  4. O fatorial de um n�mero N � o produto de todos os n�meros de 1 at� N. Por exemplo, o fatorial de 4 � 4x3x2x1 = 20. O computador sabe fazer as opera��es b�sicas, porem n�o sabe como calcular o fatorial de um n�mero. Fa�a um programa para o computador calcular o fatorial de N=10.
  5. Na aula anteior j� vimos como determinar se um n�mero � divisivel por outro. Fa�a um programa para calcular a soma de todos os n�meros inteiros menores que 100 e que n�o sejam divis�veis por 3.
As solu��es voce encontra aqui.
Algumas considera��es
  • Os comandos IF e While podem ter mais de uma condi��o, unidos por OR ou AND. Por exemplo:
    WHILE (N >0 AND N <100 ......="......" begin="begin" do="do" end="end" pre="pre">Isso significa que o bloco dentro do While sera repetido enquando o N for maior que 0 E menor que 100.
  • Em um mesmo comando Readln podemos ler mais de um dado, por exemplo a leitura de dados no programa da media pode ser escrito ainda como:
    Readln(N1,N2,N3);
      
  • como calcular o resto de uma divis�o? No pascal existe um operador chamado mod, que calcula o resto de uma divis�o. Por exemplo:
    10 mod 3 � igual a 1

    O operador mod � util para saber se um n�mero � divisivel por outro. Por exemplo para saber se 50 � divisivel por 4, calculamos o 50 mod 4. Como o resultado e igual a 2, conclu�mos que 50 n�o � divisivel por 4. Para um n�mero ser divis�vel por outro, o resto da divis�o deve ser igual a zero

Tomando decis�es (Aula 3)


Tomando decis�es
(Aula 3)

Em todo momento sempre estamos tomando decis�es de acordo com as condi��es que v�o surgindo em nossa vida. Por exemplo, quando sa�mos de casa temos que levar guarda-chuva se estiver chovendo. Dependendo do tempo, se est� fazendo frio ou calor, temos que decidir que roupa vamos vestir. Da mesma forma, para resolver problemas, temos que levar em considera��o as condi��es, e de acordo a cada situa��o temos que tomar decis�es.
Vejamos o problema da m�dia da aula anterior. Vamos supor que agora gostar�amos que o computador nos informasse de acordo com o resultado da m�dia se fomos aprovados ou n�o na disciplina de matem�tica. Para tanto, elaboramos o seguinte algoritmo.
Algoritmo
1. Atribuir os valores a  N1, N2, N3

  2. Calcular a soma:  S = N1 + N2 + N3

  3. Calcular a m�dia:  M = S/3

  4. Se a m�dia for maior ou igual a 5: informar aprovado

  5. Caso contr�rio: informar reprovado

O programa correspondente a este algoritmo seria:
Programa
Program resultado;
     Var N1,N2,N3 : Real;
             S, M : Real;
     Begin
         N1:=7.5;
         N2:=5.5;
         N3:=4.5;
         S:=N1+N2+N3;
         M:=S/3;
         If (M >= 5) Then
             Writeln('aprovado')
         Else
             Writeln('reprovado');
     End.
Analisando o programa observamos que uma condi��o � traduzida em Pascal usando os comandos IF... ELSE e a estrutura geral � a seguinte
IF condi��o THEN
  fazer tarefa 1
ELSE
  fazer tarefa 2 ;
Dependendo do resultado da condi��o o computador realiza apenas uma das tarefas. Se resultado da condi��o for verdadeiro o computador executa a tarefa 1, e se for falso ele realiza a tarefa 2.
Existem situa��es em que devemos fazer apenas uma tarefa; nesse caso n�o utilizamos o ELSE
IF condi��o THEN
    fazer tarefa;
Que acontece se existem mais de um comando a ser executado para cada condi��o? Para o computador saber que comandos ou tarefas fazem parte de uma condi��o, vamos usar blocos. Um bloco � uma seq��ncia de comandos que come�a com BEGIN e termina com END. Portanto a estrutura de IF usando bloco seria:
IF condi��o  THEN
BEGIN
      comando1;
      comando2;
      comando3;
      ......
 END;
De forma similar para o ELSE tamb�m podemos usar o bloco quando for necess�rio.
Tipo de dados boolean
Na aula anterior j� vimos alguns tipos de dados que o computador utiliza, como Integer para n�mero inteiros, Real para n�meros reais e Char para caracteres.

Nesta aula vamos aprender um novo tipo que � o boolean. O computador utiliza vari�veis de tipo boolean para saber o resultado de uma condi��o ou compara��o. Portanto uma vari�vel de tipo boolean pode ter apenas dois valores: FALSO ou VERDADEIRO, em Pascal isso significa, FALSE ou TRUE.

Vejamos um exemplo de como usar as vari�veis de tipo boolean. No exemplo anterior, suponha que precisamos guardar em uma vari�vel o resultado (se estamos aprovados ou n�o). Logo, o programa modificado seria:
Programa modificado
Program resultado;
     Var N1,N2,N3 : Real;
             S, M : Real;
    Result : Boolean;
     Begin
         N1:=7.5;
         N2:=5.5;
         N3:=4.5;
         S:=N1+N2+N3;
         M:=S/3;
         If (M >= 5) Then
             Result:=True
         Else
             Result:=False;
     End.
Dentro de uma condi��o podem existir outras condi��es, como veremos no pr�ximo exemplo.
Problema
Fa�a um programa que dados tr�s n�meros, mostre qual � o maior deles.
Solu��o
Sejam N1, N2 e N3 os tr�s n�meros. Vamos comparar primeiro N1 e N2. Se N1 for maior, vamos comparar ele com N3. Em caso contr�rio vamos comparar N2 com N3. Dependendo do resultado dessas compara��es saberemos quem � o maior.
Algoritmo
N1 = 3 
   N2 = 9
   N3 = 1
   Se N1 > N2 entao
        Se N1 > N3 entao
                Diga que N1 � o maior
        Senao
                Diga que N3 � o maior
        FimSe
   Senao
        Se N2 > N3
                Diga que N2 � o maior
        Senao
                Diga que N3 � o maior
        FimSe
  FimSe
Vemos que o algoritmo ficou um pouco diferente mas ainda assim podemos entender o que faz cada linha. Voc� pode escrever seu algoritmo como melhor achar, mas sempre escreva suas id�ias em um algoritmo antes de programar. Passar esse algorimo para um programa ficou mais f�cil.
Programa
Program maior;
  Var n1, n2, n3: real;
  Begin
        N1 := 3;
        N2 := 9;
        N3 := 1;
        If (N1>N2) Then
              If (N1>N3) Then
                   writeln ('N1 e o maior')
              Else
                   writeln ('N3 e o maior')
        Else
              If (N2>N3) then
                   writeln ('N2 e o maior')
              Else
                   writeln ('N3 e o maior');
  End.
Exercicios
  1. Dois alunos fizeram tr�s provas cada um (P1, P2 e P3), e voc� tem a nota de cada prova de cada aluno. Mostre um algoritmo que diga qual deles tem a maior m�dia. Depois, transforme seu algoritmo em programa Pascal.
  2. Teorema de Pit�goras: Uma importante descoberta de Pit�goras foi o teorema que leva seu nome, ensinado hoje em escolas de todo o mundo. Ao observar os tri�ngulos ret�ngulos (que t�m um �ngulo de 90 graus, chamado �ngulo reto), o fil�sofo notou que eles obedecem a uma lei matem�tica: a soma dos quadrados dos catetos (lados menores do tri�ngulo) � igual ao quadrado da hipotenusa (lado maior). Veja a figura:
     a2 + b2 = c2
    Fa�a um programa que, dados os tr�s lados de um tri�ngulo, determine ele � um tri�ngulo ret�ngulo ou n�o.
  3. Na aula anterior aprendemos como calcular o �ndice de massa corp�rea (IMC) de uma pessoa. Fa�a um programa para que o computador nos informe se estamos magros, normais ou obesos, de acordo com a seguinte condi��o: Se o IMC � menor que 20 estamos magros, precisamos nos alimentar melhor. Se o IMC est� acima de 25 estamos obesos, devemos comer menos e fazer mais exerc�cios f�sicos. Se o IMC estiver entre 20 e 25 estamos normais, ou seja, nossas alimenta��o e atividades f�sicas est�o balanceadas.
  4. Execute o seguinte programa (isto �, simule o que o computador faria ao execut�-lo). Indique o que ser� mostrado na tela do computador.
    Program p;
    Var a,b,c,aux: integer;
    Begin
       a:=5; b:=3; c:=9;
       If (a>b) Then Begin
          aux:=a; a:=b; b:=aux;
       End;
       If(b>c) Then Begin
          aux:=b; b:=c; c:=aux;
       End;
       If(c>a) Then Begin
          aux:=c; c:=a; a:=c;
       End;
       Writeln(a,b,c);
    End.
    
As solu��es dos exerc�cios voce encontra aqui, por�m recomendamos que voce tente resolver antes de olhar a resposta.
Algumas considera��es
  • A linguagem Pascal permite escrever muitos comandos na mesma linha, porem � recomendado que seja escrito apenas um comando por linha para facilitar o entendimento do programa e apenas em casos de comandos simples (por exemplo, atribui��es) usar mais de um comando por linha.
  • Apenas com um comando Writeln podemos mostrar varios resultados. Neste caso as vari�veis devem ser separadas por um  ,  . Tamb�m podemos incluir textos dentro do Writeln usando duas aspas ( ' ), como mostra o seguinte exemplo:
    Writeln('o valor de a � : ' , a, ' e o valor de b �: ', b)
      
  • N�o coloque o ; no comando anterior a ELSE, inclusive no comando END

Nosso primeiro programa (Aula 2)


Nosso primeiro programa
(Aula 2)
Para escrever nosso primeiro programa vamos voltar ao problema da primeira aula. Vamos passar o algoritmo que foi escrito para a linguagem Pascal.
O algoritmo que elaboramos foi o seguinte:
Algoritmo
1. Atribuir os valores   N1 = 5.5
                           N2 = 7.0
                           N3 = 4.5 

  2. Calcular a soma:    S = N1 + N2 + N3

  3. Calcular a m�dia:    M = S/3

  4. Mostrar o resultado    M
  
S� para lembrar: N1, N2 e N3 cont�m as notas, S guarda o resultado da soma e M guarda o resultado da m�dia.
Como converter este algoritmo para a linguagem Pascal?
Antes de passar o algoritmo para a linguagem Pascal vamos ver como � a estrutura de um programa em Pascal
Program nome;
              declara��es {variaveis, tipos, etc.}
        Begin
              comandos {corpo do programa}
        End.

A estrutura do programa em Pascal consta de dois componentes: cabe�a e corpo. Na primeira parte s�o declarados os tipos e vari�veis. Mais para frente explicaremos o significado desta parte. No momento vamos nos concentrar na segunda parte que � o corpo do programa. Como podemos observar o corpo do programa come�a com a palavra Begin e acaba com End.
As palavras Program, Begin e End s�o palavras reservadas da linguagem Pascal e sempre estar�o presentes em todos os programas. Agora vamos passar o nosso algoritmo da m�dia para um programa em Pascal.
Programa
    Program Media;
    Var N1,N2,N3: Real;
             S,M: Real;
Begin
     N1:=5.5; {entrada na primeira nota}
     N2:=7.0; {entrada da segunda nota}
     N3:=4.5; {entrada da terceira nota}
     S:=N1+N2+N3; {c�lculo da soma das notas}
     M:=S/3;  {c�lculo da m�dia}
     Writeln(M); {mostrar o resultado}
    End.

Vemos que o algoritmo inteiro foi passado para o corpo do programa. Vemos tamb�m que na cabe�a aparece a declara��o de N1, N2, N3, S e M. Em breve explicaremos porque s�o importantes as declara��es.
O corpo do programa consta geralmente de tr�s partes principais: entrada de dados, processamento ou c�lculo e sa�da dos resultados, como mostra a seguinte figura:
N1:=5.5;
  N2:=7.0;
  N3:=4.5;
  
S:=N1+N2+N3;
  M:=S/3;
  
Writeln('O resultado �:',M);
   
Entrada de dados
Na entrada de dados n�s fornecemos ao computador os dados que ele precisa para trabalhar. Uma forma simples de fazer isso � atribuindo valores. Por exemplo, no programa anterior quando escrevemos N1:=5.5, estamos indicando ao computador que o valor de N1 � 5,5. Aprenderemos outras formas de entrada de dados ao longo do curso.
Sa�da de dados
Na sa�da visualisamos os resultados dos c�lculos. No Pascal existe o comando Writeln que � utilizado para mostrar os dados. No exemplo anterior a linha:
Writeln('o resultado da media �: ',M)
  
Mostra na tela do computador a seguinte mensagem
o resultado da media �: 5,666
 
Processamento de dados
Este � o lugar onde acontecem todo tipo de c�lculos e onde os resultados s�o gerados. Este � tambem o lugar onde as decis�es s�o tomadas de acordo com o resultado dos c�lculos. Como as decis�es s�o tomadas aprenderemos na pr�xima aula.
No exemplo anterior a linha:
S:=N1+N2+N3;
indica que primeiro s�o somados os valores de N1, N2 e N3, depois o resultado � guardado no lugar do S
Declara��o de vari�veis
No exemplo anterior utilizamos N1, N2 e N3 para identificar as notas das provas. Na linguagem de programa��o estes nomes s�o chamados de vari�veis. O computador utiliza as vari�veis para guardar em sua mem�ria os valores de entrada ou os resultados dos c�lculos. Portanto as vari�veis s�o nomes que damos a lugares quando desejamos guardar alguma coisa na mem�ria do computador -- por exemplo o resultado da m�dia. Imagine a mem�ria do computador como uma pilha de caixas vazias. Se desejamos guardar alguma coisa nas caixas colocamos una etiqueta para identificar, por exemplo, caixa10. Al�m disso anotamos o que estamos guardando. Por exemplo, se usamos a caixa para guardar livros nos escrevemos: caixa10:livros. � exatamente isso que o computador faz quando n�s escrevemos na cabe�a do programa a seguinte linha:
  Var   N1,N2,N3 : Real 
Neste caso, o computador procura 3 caixas vazias e coloca a etiqueta N1:Real, N2:Real e N3:Real indicando que as caixas guardam n�meros reais.� importante avisar ao computador o que vamos guardar nas caixas para ele procurar caixas de tamanho adequado. Este processo chamamos de declara��o de vari�veis. Na cabe�a do programa escrevemos a palavra Var para avisar ao computador que nessa parte est�o as declara��es. O nome das vari�veis pode ser qualquer palavra, letra ou combina��o de letras com n�meros, come�ando sempre com uma letra como no exemplo anterior. Por�m, nao podemos usar como nome de vari�vel as palavras reservadas da linguagem.
Al�m de n�meros que outras coisas posso guardar na mem�ria do computador?
Geralmente, o computador trabalha bastante com n�meros reais e inteiros, mas tamb�m pode guardar outros tipos de dados, como por exemplo, caracteres (um caractere � uma letra, s�mbolo ou d�gito), da seguinte forma:
  Var letra : char 
Como fa�o para que o computador guarde meu nome em sua mem�ria?
Isso saberemos mais tarde. Por enquanto vamos treinar o que j� aprendemos. Por exemplo, vamos fazer um programa para o computador calcular o quadrado de um n�mero N=16.
Solu��o
Vamos supor que N seja o n�mero e Q o quadrado deste n�mero. Para calcular o quadrado multiplicamos o n�mero por ele mesmo.
Algoritmo
1. Atribuir  N=16

 2. Calcular  Q=N*N

 3. Mostrar  Q 
 
Programa
Program quadrado;
     Var N,Q : Integer;
     Begin
           N:=16;
           Q:=N*N;
           Writeln(Q);
     End.
    
Exerc�cios
  1. N�s constru�mos uma caixa d'�gua que tem a forma de um paralel�pedo (veja figura), e gostar�amos de saber quanto de �gua vamos armazenar nesta caixa. Fa�a um programa que calcule o volume da caixa dadas as suas dimens�es: altura=3, largura=5 e comprimento=8.5.
  2. Para saber quando de material foi gasto na constru��o da caixa em forma de paralel�pedo, precisamos saber a �rea externa da caixa. Modifique o programa que calcula o volume da caixa, para que ele calcule toda a �rea externa ao inv�s do volume. Considere que a caixa deve ser fechada.
  3. O �ndice da massa corp�rea (IMC) � usado pelos nutricionistas para determinar se estamos magros ou gordos. Fa�a um programa que calcule o IMC de uma pessoa, dada sua altura e peso. O IMC � calculado como peso em kg, dividido pelo quadrado da altura, em metros:
As solu��es dos exerc�cios voc� encontra aqui, por�m recomendamos que voc� tente resolver antes de olhar as respostas.
Algumas considera��es
A linguagem Pascal tem algumas regras que sempre devemos considerar quando escrevemos programas.
  • Todos os comandos tem um   ;   no final (com algumas exce��es)
  • Para alterar o conte�do de uma caixa ou vari�vel utilizamos um := e n�o um = como nos algoritmos
  • Para Pascal n�o existe diferen�a entre letras maiusculas e minusculas, portanto voce pode escrever os comandos e os nomes de vari�veis com qualquer letra.
  • Os coment�rios dentro do programa n�o s�o considerados pelo computador, por�m sempre � recomendavel escrever os coment�rios explicando o que faz cada linha ou bloco do programa. Isso nos ajudar�, por exemplo, a entender o que faz o programa quando quisermos voltar a us�-lo depois de alguns meses. Para escrever coment�rios dentro do programa voc� pode usar o *( e *) ou { e }

Aprendendo a programar (Aula 1)


Aprendendo a programar
(Aula 1)

Introdu��o
Neste curso vamos conhecer o maravilhoso mundo da programa��o. Programar consiste em dar uma seq��ncia de comandos ao computador para resolver um determinado problema. Em primeiro lugar, precisamos aprender a definir os passos que nos levam � solu��o do problema. Este � o processo mais importante da programa��o, que exige nossa habilidade de entender o problema e propor uma solu��o criativa, simples e correta. Esta seq��ncia de passos visando a solu��o de um determinado problema � chamada de algoritmo.
Algoritmo
Um algoritmo � uma seq��ncia de passos para realizar um tarefa ou resolver um problema. Em nosso dia a dia utilizamos algoritmos para realizar nossas atividades, definindo a seq��ncia de a��es que devemos fazer para atingir um objetivo. Essas seq��ncias de passos geralmente s�o guardadas em nossa mem�ria. Por exemplo, quando marcamos um encontro com algu�m, a seq��ncia de procedimientos para esta situa��o seria:
  • tomar banho
  • vestir roupa bonita
  • levar guarda-chuva se estiver chovendo
  • pegar �nibus
  • ...
Esta seq��ncia de procedimentos n�o anotamos no papel, por que s�o coisas simples ou que fazemos com bastante freq��ncia. Por�m, para resolver problemas mais complexos, precisamos anotar no papel os passos, principalmente quando queremos escrever um programa. Existem diferentes formas de escrever um algoritmo. Neste curso vamos escrever os algoritmos em uma linguagem intermedi�ria entre a linguagem falada e a linguagem de programa��o. A id�ia � usar termos simples por�m claros e objetivos. Para ilustrar melhor o que foi falado nesta introdu��o vamos come�ar resolvendo um simples problema.
Exemplo de um problema:
Na disciplina de matem�tica tivemos tr�s provas e as notas foram as seguintes:N1 = 5.5
N2 = 7.0
N3 = 4.5
Gostar�amos saber qual foi a m�dia das tr�s notas. Qual seria a seq��ncia de opera��es que o computador precisa para fazer este simples c�lculo?.
Solu��o
Para calcular a m�dia, em primeiro lugar precisamos informar ao computador quais s�o os valores das notas. Depois, pedimos para ele somar as notas e dividir por 3. O resultado deve ser guardado em algum lugar, para depois mostrar na tela do computador. Esta seq��ncia podemos escrever em um algoritmo da seguinte forma:
Algoritmo
1. Atribuir os valores   N1 = 5.5
                           N2 = 7.0
                           N3 = 4.5

  2. Calcular a soma:    S = N1 + N2 + N3

  3. Calcular a m�dia:   M = S/3

  4. Mostrar o resultado   M
  

Para fazer os c�lculos, o computador precisa guardar os dados em algum lugar de sua mem�ria. Para entender melhor como isso funciona, vamos imaginar que esses lugares sejam caixas vazias. Portanto N1, N2 e N3 s�o caixas onde vamos guardar o valor das notas. Por exemplo, quando fazemos N1 = 5.5 no algoritmo, estamos informando ao computador que deve guardar o valor 5.5 na caixa N1. De forma similiar quando escrevemos:
 S = N1 + N2 + N3 , 
o computador deve fazer a soma dos valores que est�o nas caixa N1,N2 e N3 e o resultado deve guardado na caixa S. A caixa M vamos utilizar para guardar o valor deS dividido por 3. Finalmente quando quesirmos ver o resultado do c�lculo, pedimos ao computador mostrar o conte�do da caixa MEm qualquer momento podemos alterar o conte�do das caixas utilizando o simbolo = , nesse caso o valor anterior da caixa ser� apagado e sempre guardar� apenas o �ltimo valor. Agora imaginemos que temos poucas caixas vazias e para economizar vamos pedir ao computador que guarde o resultado da m�dia no mesmo lugar onde estava a soma, j� que a soma n�o ser� mais usada. Para isso o comando seria o seguinte:
 S = S/3 
Neste caso, o computador vai dividir o conte�do da caixa S por 3 e o resultado vai guardar na mesma caixa S, apagando o resultado anterior. Este tipo de procedimento podemos fazer quando n�o precisamos guardar os valores anteriores.Para colocar o nome das caixas nos algoritmos podemos utilizar qualquer letra ou palavra, mas sempre � recomed�vel usar palavras ou letras associadas ao conte�do. Por exemplo, para guardar a m�dia n�s colocamos a letra M, poderiamos usar tamb�m: Media, med, MEDIA, etc.
Linguagem de programa��o
Para que possamos passar ao computador uma solu��o em forma de algoritmo de forma clara e precisa necessitamos de uma linguagem de programa��o. Neste curso vamos aprender a linguagem Pascal. Uma linguagem de programa��o � apenas uma ferramenta de comunica��o para que o computador possa fazer o que n�s pedimos. Em outras palavras, o computador � um auxiliar para resolver nossos problemas, j� que tem capacidade de processar r�pido uma grande quantidade de comandos, e a linguagem Pascal � uma das linguas que nosso auxiliar entende.
Uma das vantagens de utilizar programas para fazer c�lculos ou resolver problemas � que podemos executar quantas vezes seja necess�rio, alterando apenas alguns dados. No exemplo anterior, suponha que queremos saber a m�dia das notas de outro aluno ou de uma outra disciplina. Usando o programa n�o precisamos fazer nenhum c�lculo adicional. Apenas alteramos os valores de N1, N2 e N3 e obteremos o resultado do novo c�lculo.
Linguagem Pascal
Nas pr�ximas aulas vamos explicar os comandos b�sicos da linguagem Pascal, que utilizaremos para programar e resolver problemas com a ajuda do computador. Por enquanto � importante lembrar que um algoritmo nos ajuda a organizar nossas id�ias para resolver o problema antes de passar para a linguagem do computador. Este m�todo � util especialmente para programas longos e complexos. Geralmente, depois que um algoritmo est� muito bem descrito a passagem para uma linguagem � relativamente f�cil.
Exercicios
  1. O computador sabe fazer as opera��es b�sica como a multiplica��o, divis�o, soma e substra��o. Fa�a um algoritmo para o computador calcular o quadrado de um n�mero.
  2. Como seria o algoritmo para o computador determinar o valor m�ximo entre dois n�mero A e B ?.
  3. Pensa um pouco sobre o problema da m�dia. Imagina agora que temos a nota final de todos os alunos da classe (20 alunos). Como faria o computador para calcular a m�dia da classe?
Algumas considera��es
  1. Este curso foi preparado com o objetivo de ensinar como resolver problemas usando os comandos b�sicos da linguagem Pascal. Com a base dada neste curso voc� estar� em condi��es de explorar todos os comandos da linguagem Pascal e aprender outras linguagens de programa��o.
  2. Para acompanhar o curso e testar seus programas, voces v�o precisar de um compilador. O compilador � um programa que verifica se seu programa esta escrito corretamente e o prepara para executar. Aqui voc� encontra os detalhes de como instalar e usar um compilador de Pascal.
  3. A programa��o s� se aprende praticando, por isso � imprescind�vel fazer os exerc�cios para poder acompanhar o curso.

9 de agosto de 2012

Queniano aprende a lançar dardos no YouTube e se classifica para a final olímpica


(Fonte da imagem: Reprodução/Business Recorder)
Sempre que pensamos nos atletas quenianos nos vem à mente os famosos maratonistas que sempre deixam os demais corredores comendo poeira nas competições (ou quase isso). Tanto que a equipe representando o Quênia nos Jogos Olímpicos de Londres conta com 44 atletas, sendo 43 deles corredores.
De acordo com uma notícia publicada pelo The New York Times, existe um único atleta da equipe africana que decidiu “correr” contra a regra, aprendendo a lançar dardos através do YouTube, tornando-se uma exceção em seu país.

Sr. YouTube

Isso mesmo! Julius Yego, de 23 anos, não contou com a ajuda de técnicos ou treinadores experientes para se classificar para as Olimpíadas. O jovem policial de apenas 1,75 metros e 85 quilos se inspirou em seus ídolos — e rivais — assistindo a vídeos desses atletas pela internet para tentar aprender tudo o que podia sobre essa modalidade esportiva.
E parece que a técnica utilizada por Yego, além de lhe render o apelido de Mr. YouTube, deu certo. Segundo o site Business Recorder, o jovem queniano quebrou o recorde de seu país ao realizar um lançamento de 81,81 metros durante a prova ocorrida ontem (8), classificando-o para a final do evento, ao som de uma torcida de 80 mil vozes no estádio olímpico de Londres.
Embora seja muito difícil que Yego consiga subir ao pódio — e dividir o espaço com gigantes como Vitezslav Vesely, Andreas Thorkildsen ou Tero Pitkamaki —, sem dúvida o jovem queniano já fez história nesta edição dos Jogos Olímpicos.


Leia mais em: http://www.tecmundo.com.br/mega-curioso/28115-queniano-aprende-a-lancar-dardos-no-youtube-e-se-classifica-para-a-final-olimpica.htm#ixzz23587b8hx

YouTube: como fazer para sua conta enviar vídeos com mais de 15 minutos Rede social permite o envio de vídeos de até duas horas. Saiba como configurar!


(Fonte da imagem: Reprodução/Grana Fácil Web)
O YouTube é a maior rede social de vídeos do mundo. Para suportar tantos bytes de arquivos sendo adicionados todos os dias por seus milhões de usuários, o site anteriormente limitava a duração de cada vídeo em apenas 10 minutos.
Anos mais tarde, a Google resolveu abrir um pouco a mão e ampliou esse número para 15 minutos. Parece pouco, mas o crescimento foi de 50% do tempo permitido anteriormente. Felizmente, nem esse limite existe mais: agora é possível adicionar vídeos de até duas horas.
Mas para que isso seja possível, é preciso fazer algumas alterações na conta de forma a habilitar o envio de vídeos extensos, com mais de 15 minutos. Este tutorial vai ensinar você a capacitar sua conta para esse tipo de envio. Confira!

Upgrade de envio

Todos os usuários podem enviar vídeos com até 15 minutos de duração, desde que a sua conta esteja em bom estado, conforme determinado pelas diretrizes da comunidade do YouTube. Outro fator determinante é que a sua conta não pode ter bloqueios de ID de conteúdo no mundo.
1. Abra o Youtube e faça o login no site. Em seguida, clique em “Enviar Vídeos”;
2. Na página que abrir, clique em “Fazer upload de vídeos HD em vários formatos até 15 minutos. Aumente seu limite.”;
3. Insira o número do seu telefone com DDD e clique em “Enviar”;
4. Aguarde a mensagem chegar no seu celular. Em seguida, digite o código que você receber diretamente na página de confirmação do YouTube e clique em “Confirmar”;
Pronto, sua conta estará habilitada.


Leia mais em: http://www.tecmundo.com.br/como-fazer/28137-youtube-como-fazer-para-sua-conta-enviar-videos-com-mais-de-15-minutos.htm#ixzz23577wRjX

Tutorial como Usar Baffler´s


Tutorial como Usar Baffler´s

1° Abra o Baffler Standalonne


2° abra o teleport Unico .


3°aperte no teleport aonde indica que aperte EXEMPLO (Teleport r aperte depois de testar)


4° Logue Na Sua Conta.(LEmBRAnDO) CONFIGURE O BAFFLER PARA INICIAR NUMA SALA BOOTCAMP..


5°Ative a outra parte do teleport e teste. Lenbrando que Dps Desative.


6°Ative todos hacks de shaman que quiser.. Lembrando.TESTE TODOS JUNTOS. SE NÂO BUGARA)


Depois Desactive e Mude De Sala .. e Seja Feliz.

Apostilas de HTML5 E CSS3


Para os interessados em aprender as novas tendências de HTML5 eCSS3, recomendaria a utilização das apostilas do W3C. Ambas em português.
Há ainda uma versão básica de XHTML e de CSS2.

Apostilas de HTML5 E CSS3


Para os interessados em aprender as novas tendências de HTML5 eCSS3, recomendaria a utilização das apostilas do W3C. Ambas em português.
Há ainda uma versão básica de XHTML e de CSS2.

Curso de HTML5 e CSS3 do W3C


Durante essa semana está acontecendo no W3C Brasil o curso de HTML5 e CSS3, e se você não foi um dos escolhidos para participar do curso, não fique triste, todo o conteúdo que será utilizado está sendo distribuído de forma gratuita na web.

Downloads

8 de agosto de 2012

Prosseguimos agora com a lição 3 do curso, onde vamos abordar imagens e tabelas. Vamos abordar inicialmente o uso de imagens, porque não vamos nos aprofundar muito nelas por agora, mas posteriormente iremos abordá-las de novo. O que nos interessa agora é como aplicar imagens em uma página HTML. Já vimos no fim da lição 2 que o "papel de parede" da janela é colocado com a opção BACKGROUND da tag BODY, como em . Colocar imagens na página também é fácil, isso é feito através da tag :



A tag IMG é uma das mais complexas, tendo mais de 20 argumentos possíveis. Vamos ver agora alguns dos mais usados:

SRC - é a principal opção, como você já percebeu, é com ela que o arquivo de imagem é indicado.
ALIGN - para alinhar um parágrafo de texto à imagem, use esta opção. Argumentos válidos para esta opção são LEFT, RIGHT, TOP, BOTTOM, MIDDLE... No arquivo de exemplo esta opção ficará mais clara.
WIDTH e HEIGHT - essas opções definem largura e altura da imagem, em pixels ou porcentagem da janela. Se você não especificar estas opções, o tamanho original da imagem. O objetivo primário destas opções é alargar ou encolher uma imagem, alterando seu aspecto original.
ALT - o nome alternativo da imagem, que irá aparecer como "dica" (o quadrinho que aparece quando mantemos o mouse parado algum tempo sobre uma figura; muito usado em barras de botões). Também usado para exibir uma descrição da imagem em browsers que não suportam exibição de gráficos.

Para tornar uma imagem "clicável", isto é, fazer com que ela aponte para um link, simplesmente coloque a tag IMG dentro de tags do tipo A que indicam um link, deste modo:

Mande-me um e-mail!

Um detalhe: quando a imagem é um link, o navegador inclui automaticamente uma borda azul em torno da figura, do mesmo modo que inclui um sublinhado nos links de texto. Para evitar este efeito indesejável, use a opção BORDER, especificando o valor 0, assim:

Mande-me um e-mail!

Agora sua página já tem imagens e palavras, mas confiar apenas na opção ALIGN para diagramar tudo isso não é suficiente. Aí entram as tabelas. Uma página sem tabelas parece um documento editado no Microsoft Word. Uma página com tabelas parece um documento editado no Adobe Pagemaker. A mágica está em usar tabelas "invisíveis", isto é, sem borda. Deste modo, o texto, imagens, ou qualquer coisa que for colocado nas "células" destas tabelas aparecerá diagramado como em colunas. O uso mais simples disso é definir uma tabela de duas células lado a lado, uma menor e outra maior, onde na primeira haverão as opções de navegação, e na segunda, o texto na página.

Para definir uma tabela, use a tag TABLE. Para definir linhas, use TR. Para definir células dentro destas colunas, use TD. Uma tabela é construída deste modo:

Matriz 3x3:

linha 1, coluna 1linha 1, coluna 2linha 1, coluna 3
linha 2, coluna 1linha 2, coluna 2linha 2, coluna 3
linha 3, coluna 1linha 3, coluna 2linha 3, coluna 3


Todas as células de uma mesma linha ficam dentro das tags e . As células propriamente ditas são o conteúdo das tags e .

As tabelas invisíveis são tão usadas que elas são a opção padrão. Para definir uma borda visível, a opção BORDER deve ser atribuída com um valor maior de 0, como no exemplo acima. Há várias outras opções, como BACKGROUND (papel de parede), BGCOLOR (cor de fundo), CELLSPACING (espaçamento entre células), CELLPADDING (espaçamento dentro das células), BORDERCOLOR (cor da borda), BORDERCOLORDARK (cor da borda escura), BORDERCOLORLIGHT (cor da borda clara) e FRAME. As combinações destas opções pode gerar os mais variados resultados: faça experimentações com elas. Note que como padrão as tabelas ganham um efeito 3D, para desativar este efeito use as opções, defina uma única cor para as opções de BORDERCOLOR.

Tabelas podem, e muitas vezes são, aninhadas. Isso quer dizer que é possível colocar novas tabelas dentro de células, definindo tags e
dentro de e .


A teoria por trás das tabelas é bem simples, não há mais o que dizer além disso, mas o seu uso prático é muito abrangente. Veja no exemplo desta lição as possibilidades de programação visual que o uso de imagens e tabelas permite.

Arquivo HTML: exemplo3.htm

Na última lição, eu deixei uma "charada" de HTML. A resposta está aqui: nivel.htm. 

Agora você já deve ter pego o espírito da coisa e provavelmente já sente alguma segurança para começar. Mas assim que o trabalho inicia "pra valer" e você começa a querer fazer algo mais elaborado, pequenos detalhes sobre as tags tornam-se evidentes, outros nem tanto. Algumas dessas particularidades serão vistas na próxima lição. Até lá!

TUTORIAL HTML 3

Prosseguimos agora com a lição 3 do curso, onde vamos abordar imagens e tabelas. Vamos abordar inicialmente o uso de imagens, porque não vamos nos aprofundar muito nelas por agora, mas posteriormente iremos abordá-las de novo. O que nos interessa agora é como aplicar imagens em uma página HTML. Já vimos no fim da lição 2 que o "papel de parede" da janela é colocado com a opção BACKGROUND da tag BODY, como em . Colocar imagens na página também é fácil, isso é feito através da tag :



A tag IMG é uma das mais complexas, tendo mais de 20 argumentos possíveis. Vamos ver agora alguns dos mais usados:

SRC - é a principal opção, como você já percebeu, é com ela que o arquivo de imagem é indicado.
ALIGN - para alinhar um parágrafo de texto à imagem, use esta opção. Argumentos válidos para esta opção são LEFT, RIGHT, TOP, BOTTOM, MIDDLE... No arquivo de exemplo esta opção ficará mais clara.
WIDTH e HEIGHT - essas opções definem largura e altura da imagem, em pixels ou porcentagem da janela. Se você não especificar estas opções, o tamanho original da imagem. O objetivo primário destas opções é alargar ou encolher uma imagem, alterando seu aspecto original.
ALT - o nome alternativo da imagem, que irá aparecer como "dica" (o quadrinho que aparece quando mantemos o mouse parado algum tempo sobre uma figura; muito usado em barras de botões). Também usado para exibir uma descrição da imagem em browsers que não suportam exibição de gráficos.

Para tornar uma imagem "clicável", isto é, fazer com que ela aponte para um link, simplesmente coloque a tag IMG dentro de tags do tipo A que indicam um link, deste modo:

Mande-me um e-mail!

Um detalhe: quando a imagem é um link, o navegador inclui automaticamente uma borda azul em torno da figura, do mesmo modo que inclui um sublinhado nos links de texto. Para evitar este efeito indesejável, use a opção BORDER, especificando o valor 0, assim:

Mande-me um e-mail!

Agora sua página já tem imagens e palavras, mas confiar apenas na opção ALIGN para diagramar tudo isso não é suficiente. Aí entram as tabelas. Uma página sem tabelas parece um documento editado no Microsoft Word. Uma página com tabelas parece um documento editado no Adobe Pagemaker. A mágica está em usar tabelas "invisíveis", isto é, sem borda. Deste modo, o texto, imagens, ou qualquer coisa que for colocado nas "células" destas tabelas aparecerá diagramado como em colunas. O uso mais simples disso é definir uma tabela de duas células lado a lado, uma menor e outra maior, onde na primeira haverão as opções de navegação, e na segunda, o texto na página.

Para definir uma tabela, use a tag TABLE. Para definir linhas, use TR. Para definir células dentro destas colunas, use TD. Uma tabela é construída deste modo:

Matriz 3x3:

linha 1, coluna 1linha 1, coluna 2linha 1, coluna 3
linha 2, coluna 1linha 2, coluna 2linha 2, coluna 3
linha 3, coluna 1linha 3, coluna 2linha 3, coluna 3


Todas as células de uma mesma linha ficam dentro das tags e . As células propriamente ditas são o conteúdo das tags e .

As tabelas invisíveis são tão usadas que elas são a opção padrão. Para definir uma borda visível, a opção BORDER deve ser atribuída com um valor maior de 0, como no exemplo acima. Há várias outras opções, como BACKGROUND (papel de parede), BGCOLOR (cor de fundo), CELLSPACING (espaçamento entre células), CELLPADDING (espaçamento dentro das células), BORDERCOLOR (cor da borda), BORDERCOLORDARK (cor da borda escura), BORDERCOLORLIGHT (cor da borda clara) e FRAME. As combinações destas opções pode gerar os mais variados resultados: faça experimentações com elas. Note que como padrão as tabelas ganham um efeito 3D, para desativar este efeito use as opções, defina uma única cor para as opções de BORDERCOLOR.

Tabelas podem, e muitas vezes são, aninhadas. Isso quer dizer que é possível colocar novas tabelas dentro de células, definindo tags e
dentro de e .


A teoria por trás das tabelas é bem simples, não há mais o que dizer além disso, mas o seu uso prático é muito abrangente. Veja no exemplo desta lição as possibilidades de programação visual que o uso de imagens e tabelas permite.

Arquivo HTML: exemplo3.htm

Na última lição, eu deixei uma "charada" de HTML. A resposta está aqui: nivel.htm. 

Agora você já deve ter pego o espírito da coisa e provavelmente já sente alguma segurança para começar. Mas assim que o trabalho inicia "pra valer" e você começa a querer fazer algo mais elaborado, pequenos detalhes sobre as tags tornam-se evidentes, outros nem tanto. Algumas dessas particularidades serão vistas na próxima lição. Até lá!

 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | coupon codes