quarta-feira, 16 de janeiro de 2013

Debian 6.0.6 - Instalando o Java


Para instalar o Java no Debian 6.0.6 Squeeze pode se proceder da seguinte maneira.

Será acrescentado um endereço para repositório.
Abra o terminal: " Ctrl + Alt + T "

Entre como root: "su"
:~$ su
Senha:
#

Edite o sources.list:
# gedit /etc/apt/sources.list

Adicione a seguinte linha no sources.list e salve esse arquivo:
deb http://www.duinsoft.nl/pkg debs all

Adicionei a chave ao apt:
# apt-key adv --keyserver keys.gnupg.net --recv-keys 5CB26B26

Atualize o sistema:
# apt-get update

Instale o Adobe Flash Player:
# apt-get install update-sun-jre

Faça um teste na página seguinte, basta selecionar um jogo do famoso Atari e ver se funciona corretamente:

Referência:

Debian 6.0.6 - Instalando o Adobe Flash Player


Para instalar o Adobe Flash Player no Debian 6.0.6 Squeeze pode se proceder da seguinte maneira.

Gnash é o player de flash que vem no Debian.
O Gnash ainda não está bom.
Instalar o Adobe Flash Player, que é gratuito mas não é livre, é uma solução.
Assim que terminei a instalação, o Navegador (Gooogle Chrome, e o Chromium) já começaram a utiliza-lo.
Não foi necessário remover o Gnash.

Será acrescentado um endereço para repositório.
Abra o terminal: " Ctrl + Alt + T "

Entre como root: "su"
:~$ su
Senha:
#

Edite o sources.list:
# gedit /etc/apt/sources.list

Adicione a seguinte linha no sources.list e salve esse arquivo:
deb http://ftp.de.debian.org/debian squeeze main contrib

Atualize o sistema:
# apt-get update

Instale o Adobe Flash Player:
# apt-get install flashplugin-nonfree

Referências:

sábado, 10 de novembro de 2012

Lazarus - Formulários e o componente MainMenu


Abra um novo projeto


Salvar com os nomes
Arquivo de projeto: Formulario
Arquivo de unit: u_1_formulario


Insera um novo formulário
File / New Form

F9 – para compilar
Salve o novo formulário
Pedirá para salvar o formulário ( unit )
Salve com o nome u_2_formulario


Adicione um botão no formulário 1
Dê um duplo clique e programe com o código:

=======================================================

Form2.show;

=======================================================

É necessário adicionar a unit que é responsável por esse formulário.
Adiciona-se com o comando uses.
Antes do procedimento " TForm1.Button1Click "

=======================================================

implementation    
{ TForm1 }          
uses u_2_formulario;
procedure TForm1.Button1Click(Sender: TObject);

=======================================================


Componente TmainMenu

Adicione um TmainMenu no formulário 1.
Um clique no componente e um clique no formulário 1.

Duplo clique no componente MainMenu1
Clique em “New Item 1” e altere a propriedade “Caption” para “Arquivo”
Clicar com o botão direito no botão “Arquivo” e escolher “Create Submenu”
Clique em “New Item 2” e altere a propriedade “Caption” para “Sair”


Feche o “Menu Editor” do “MainMenu1”
Voltando ao formulário principal ( formulário 1 )
Clique em “Arquivo” e clique em “Sair” do Form1
Digite:

=======================================================

Close;

=======================================================

Execute o programa e faça um teste


Altere a propriedade Caption colocando o símbolo “&” antes do caption
&Arquivo
&Sair
Observe que a primeira letra fica sublinhada
Isso significa que é possível acessar esses comandos com a tecla “Ctrl + letra que está sublinhada” ou “Alt + letra que está sublinhada”.


Abra o “MainMenu1”
Clique com o botão direito em “Arquivo”
Clique em “Insert New Item (After)”
Altere o “Caption” para “Ajuda”
Clique com o botão direito em “Ajuda”
Clique em “Create Submenu”
Altere o “Caption” para “Sobre”
Feche o “Menu Editor” do “MainMenu1”


Voltando ao formulário principal
Clique em “Ajuda” e depois em “Sobre”
Digite:

=======================================================

Form2.Show;

=======================================================

Execute o programa e faça um teste


Altere o aspecto do formulário 2
Crie informações sobre o seu programa
Exemplo:
versão
autor
e-mail
Seja criativo
Adicione um botão “Ok” que irá fechar o formulário Sobre.


Adicione um terceiro formulário
Faça um pequeno programa que o usuário entra com dois números e imprima o menor;
Antes do menu “Sair”, adicione um menu que irá levar para o formulário de mostrar o menor, altere o “Caption” desse submenu para “Menor”.

segunda-feira, 15 de outubro de 2012

Lazarus - Componente CheckBox



Fazer um programa para um restaurante onde o usuário irá realizar escolhas sobre uma refeição e aparecerá o preço dessa refeição.
– A interface gráfica deverá ser montada conforme mostrado em sala.
– Terão 3 RadioButtons para especificar o tamanho do prato: pequeno, médio ou grande. O usuário deverá escolher apenas uma dentre essas três opções de tamanhos.
– Terão 6 CheckBox para especificar quais os componentes o usuário deseja no prato: carne boi, carne frango, carne peixe, salada, batata frita e ovo frito. O usuário poderá escolher nenhum, um ou vários componentes.
– Os valores (R$) relacionados ao tamanho dos pratos serão: prato pequeno: 5; prato médio: 7; prato grande: 9.
– Os valores (R$) relacionados aos componentes serão: carne boi: 5; carne frango: 4; carne peixe: 3; salada: 1,5; batata frita:3; ovo frito: 1.
– Terão 3 botões: Montar, Limpar e Sair.
– O botão Montar: se não estiver nenhum tamanho de prato selecionado, deverá informar a mensagem (ShowMessage), “Por favor, escolha um tamanho de prato!”. Caso tenha algum tamanho de prato selecionado, deverá informar a mensagem (ShowMessage), “Valor do PF = R$12,50”, por exemplo.
– O botão limpar: deverá limpar a seleção de todos RaioButton e de todos CheckBox.
– O botão sair: sai do programa.

A imagem do formulário com as respectivas propriedades "Names" já alterados exibidas na janela "Object Inspector" encontra-se abaixo:





O código encontra-se abaixo:

=======================================================

procedure TFrmMontar.BtnMontarClick(Sender: TObject);
var Preco : Real;
begin
   Preco := 0;

   if ((RdBtnPFPequeno.Checked=false) and (RdBtnPFMedio.Checked=false) and (RdBtnPFGrande.Checked=false))
      then ShowMessage('Por favor, escolha um tamanho de prato!');

   if (RdBtnPFPequeno.Checked)
      then Preco := 5
      else if (RdBtnPFMedio.Checked)
         then Preco := 7
         else if (RdBtnPFGrande.checked)
            then Preco := 9;

   if (ChckBxBoi.Checked) then Preco := Preco + 5;
   if (ChckBxFrango.Checked) then Preco := Preco + 4;
   if (ChckBxPeixe.Checked) then Preco := Preco + 3;
   if (ChckBxSalada.Checked) then Preco := Preco + 1.5;
   if (ChckBxBatata.Checked) then Preco := Preco + 3;
   if (ChckBxOvo.Checked) then Preco := Preco + 1;

   if ((RdBtnPFPequeno.Checked) or (RdBtnPFMedio.Checked) or (RdBtnPFGrande.Checked))
      then ShowMessage('Valor do PF = R$ ' + FormatFloat('0.00;-0.00;zero', Preco));

end;

procedure TFrmMontar.BtnLimparClick(Sender: TObject);
begin
   RdBtnPFPequeno.checked := False;
   RdBtnPFMedio.checked := False;
   RdBtnPFGrande.checked := False;
   ChckBxBoi.Checked := False;
   ChckBxFrango.Checked := False;
   ChckBxPeixe.Checked := False;
   ChckBxSalada.Checked := False;
   ChckBxBatata.Checked := False;
   ChckBxOvo.Checked := False;
end;

procedure TFrmMontar.BtnSairClick(Sender: TObject);
begin
  close
end;

=======================================================

sábado, 13 de outubro de 2012

Debian 6.0.6 - Instalando o navegador Google Chrome

Para instalar o navegador Google Chrome no Debian 6.0.6 Squeeze pode se proceder da seguinte maneira.

Será utilizado o repositório do Chrome no sources.list, com isso, o navegador Google Chrome também será atualizado caso seja feito uma atualização para o sistema.

Abra o terminal: " Ctrl + Alt + T "

Entre como root: "su"
:~$ su
Senha:
#

Edite o sources.list:
# gedit /etc/apt/sources.list

Adicione a seguinte linha no sources.list e salve esse arquivo:

deb http://dl.google.com/linux/chrome/deb/ stable main

Após salvar e voltar ao terminal, adicione a chave gpg ao apt:
# wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
OK
#

Atualize o sistema:
# apt-get update

Instale o navegador Google Chrome:
# apt-get install google-chrome-stable

Debian 6.0.6 - GRUB não reconhece o sistema que já estava instalado

Ao instalar o Debian GNU/Linux 6.0.6 Squeeze i386 paralelamente com outro sistema operacional que já esteja instalado no PC, o GRUB (programa que é executado ao ligar o PC para escolher em qual sistema operacional irá "entrar") não reconheceu o sistema que já estava instalado.

Para que o GRUB reconheça outros sistemas que já estavam instalados antes de instalar o Debian é necessário atualizar o GRUB, uma das formas é a seguinte:

Abrir o terminal. Pode ser aberto com o atalho utilizando as teclas Ctrl + Alt + T.

Entre como superusuário, bastando digitar "su", em seguida digite a senha, e estará como root (#):

~:$ su
Senha:
#

Basta digitar: "update-grub":

# update-grub

Ao digitar esse último comando, irá aparecer no terminal os sistemas que ficarão como opção para escolha ao iniciar o PC. Reinicie o PC e verifique se o(s) sistema(s) que não foi(ram) reconhecido(s) está(ão) disponível(is) para inicialização no GRUB.

segunda-feira, 8 de outubro de 2012

Solver - resolvendo um problema e interpretando seus relatórios

Resolver o seguinte problema:

Variáveis: X1 = Cadeira e X2 = Mesa
Maximizar Lucro = 4 * X1 + 1 * X2
S.A: Madeira) 2 * X1 + 3 * X2 >= 12
Metal) 2 * X1 + 1 * X2 >= 8

Primeiramente, deve-se preencher as células da planilha:
Como exemplo:
A5:A6 [ Variáveis ]
A9:A10 [ Restrições]
B3 [ Lucro ]
B5 [ Cadeira ]
B6 [ Mesa ]
B9 [ Madeira]
B10 [ Metal ]
C3 [ =4*C5+1*C6 ]
C5 [ 1 ]
C6 [ 1 ]
C9 [ =2*C5+3*C6 ]
C10 [ =2*C5+1*C6]
D8 [ Limites ]
D9 [ 12 ]
D10 [ 8 ]

Clicar em Dados / Solver.

Caso o solver não esteja “ativado”, deverá se ativado da seguinte forma:
  • clicar no símbolo (círculo) no canto superior esquerdo;
  • clicar em “Opções”;
  • clicar em “Suplementos”;
  • clicar em “Solver” (selecionar);
  • clicar em “ir...”
  • clicar em “solver” (selecionar);
  • clicar em “Ok”;
  • se preguntar se “Deseja instalá-lo agora?” Clicar em “Sim”.

Após clicar em “Dados / Solver” irá abrir a “janela do Solver”.

Entrar com os seguinte dados:
  • Definir célula de destino: $C$3
  • Igual a: Máx
  • Células variáveis: $C$5:$C$6
  • Submeter às restrições: Adicionar: $C$10 <= $D$10 Adicionar: $C$9 <= $D$9
  • Clicar em opções, marcar a opção: Presumir não negativos. Com isso X1 e X2 >= 0
  • Clicar em Ok
  • Clicar em Resolver
  • Relatórios, marcar: Resposta, Sensibilidade e Limites

Interpretação dos relatórios para o exemplo dado:
Relatório de resposta:
  • célula de destino: valor do lucro (valor final). Lucro = 16
  • células ajustáveis: valor de cadeira e mesa a ser produzido (valor final). Cadeira = 4; Mesa = 0
  • restrições status: sem agrupar, a solução obtida não coincide com o valor limite da restrição; agrupar, a solução obtida coincide com o valor limite da restrição. Madeira = sem agrupar; Metal = Agrupar;
  • Restrição transigência: diferença entre o valor limite e o valor obtido pela restrição. Madeira = 12-8=4; Metal = 8-8=0;
Relatório de sensibilidade:
  • Reduzido gradiente: mede o crescimento do objetivo por unidade na célula ajustável, ou seja, quanto varia o lucro se passar a produzir mais um produto. Se passar a produzir mais uma mesa o lucro passa a ser 15. Se passar a produzir mais duas mesas o lucro para a ser 14; Cadeira = 0; Mesa = -1;
  • Lagrange Multiplicador: Alteração da F.O. para um aumento unitário nos limites das restrições. Se for zero, significa uma restrição cuja solução não atingiu o limite especificado; Madeira = 0; Metal = 2
Relatório de limites
  • Limite inferior: menor valor que a variável pode assumir, em função das restrições e do resultado. Cadeira = 0; Mesa = 0;
  • Limite superior: maior valor que a variável pode assumir, em função das restrições e do resultado; Cadeira = 4; Mesa = 0;
  • Destino resultado: o valor de F.O. caso esteja nesse limite (inferior ou superior).
  • Obs.: nesse exemplo, como não se produz mesa, o destino será sempre 16, para a mesa, pois a mesma não é produzida. Caso não se produza cadeira, o destino resultado será 0, caso produza o máximo de cadeira, o destino resultado será 16.