domingo, 26 de novembro de 2023

Artigo:História do Unix e a popularidade do Linux

Popularidade:
Atualmente,basta dar uma olhada nos computadores à venda nas lojas,principalmente naquelas chamadas “Populares”,para ver que o Linux deixou de ser algo restrito a uma elite de aficionados por computadores para se tornar um fenômeno real. Mas Afinal O que é Linux? Linux é o Kernel núcleo do sistema operacional,ao qual eu chamo de coração do sistema,pois é ele quem dá vida ao mesmo. Quem usa computador já ouviu falar no famosíssimo Windows,o sistema mais popular do mundo,o Linux surgiu como uma forma mais econômica e confiável de sistema, para colocar no computador de acordo com seus seguidores. De fato,hoje milhões de pessoas escolhem uma das distribuições Linux justamente por causa da sua estrutura sólida e estável.E mais:O Linux é o ícone e a bandeira daqueles que sustentam e apoiam a bandeira do software livre.Sim,porque muitos sabem que a maior vantagem do Linux é que ele é gratuito,isso mesmo,não é preciso desembolsar nenhum centavo para ter esse maravilhoso sistema. O Movimento mundial para a distribuição de software livre,um projeto ao qual o Linux pertence,está assumindo a conotação de um fenômeno internacional,cuja ideia é o tanto utópica,é acabar com o conceito de software proprietário e direitos intelectuais que há muito tempo dominam nossa cultura,o Linux e outros software gratuitos são os produtos de um grupo consistente de pessoas que publicaram e compartilharam o resultado de seu trabalho para que todos pudessem utilizá-lo livremente. Se analisarmos essa ideia com um pouco de atenção,veremos claramente a simplicidade e a grandeza de seu alvo,principalmente porque nós Brasileiros,cidadãos daquele país que alguém achou melhor classificar como “Terceiro Mundo” estamos em contato com algumas realidades chocantes e injustas.Um exemplo começamos em uma escola estadual numa minuscula cidade do interior,que não recebe verbas do governo, o suficiente para proporcionar aos alunos um laboratório de informática adequado(Indispensável hoje),Agora,façamos algumas contas,cada computador que custa 1000 reais equipado com um sistema operacional,pacote Office,se for Windows sairá em torno de 1500 reais,se o sistema é Linux o custo com programas Office e etc é nulo,é o dinheiro que sobrou poderia ser gasto para comprar outros computadores. Obviamente,“Nem tudo que brilha é ouro”,primeiramente porque usar um sistema Linux precisa de treinamento especifico e também a maioria dos programas de Windows não são disponíveis para Linux(Será coincidência?),a maioria dos Webdesigners,arte-finalistas,Projetistas de AutoCAD,entre outros ainda precisaram trabalhar com sistema proprietário por um longo tempo,entretanto temos alternativas para Linux e certos programas e jogos podem ser executados no Wine/Lutris. Para entender melhor o Linux, é preciso compreender suas origens, isto é, seu histórico e as razões que levara-o ao sucesso. Continue lendo e conheça!

Um pouco da história:

Tudo começou com o Unix, o Pai de todos os sistemas operacionais, este era distribuído em diversas versões, sendo sua versão mais famosa o Linux O Unix foi criado no final da década de sessenta pelos programadores Ken Thompson, Dennis Ritchie e Brian Kerninghan. O nome Unix, que originalmente era escrito como ‘Unics’, é um acrônimo de Uniplex Information and Computig System. Foi a AT&T que o nomeou como Unix, inicialmente qualquer um que tivesse interesse no sistema podia pedir ao Bell Labs uma fita com o software e os manuais impressos por um preço muito acessível, e por não se tratar de um software proprietário qualquer um podia modificar o sistema a partir de suas necessidades, que é o que acontece hoje com o Linux. Em 1970, desenvolvedores da Universidade de Berkley na Califórnia, realizaram um trabalho de extrema importância no código fonte do Unix, era o surgimento do protocolo TCP/IP. O resultado desse trabalho, foi a versão BSD (Berkley System Distribution) do Unix, de tamanha importância que, até os dias atuais existem distribuições baseadas nesse sistema, tais como a OpenBSD e a NetBSD. Ao longo do tempo a popularidade do Unix só aumentou, e desde a concessão a AT&T, o código fonte do Unix se tornou proprietário, dando origem ao AT&T UNIX. Softwares proprietários acabaram se tornando uma tendência, e um número maior de empresas começaram a aderir a esse modelo. No entanto na década de oitenta, com desenvolvimentos liderados por Richard Stallman, a situação começara a mudar. Foi então que revoltado com a ideia de não poder compartilhar suas descobertas e melhoras nos produtos existentes, que Richard começaria um projeto de criar uma espécie de Unix, só que agora, com código aberto e livre. Assim nascia o GNU no final de 1983. A licença do GNU permitia a qualquer usuário copiar, distribuir e alterar sua cópia do programa, ou seja, tendo liberdade total de criar sua própria distribuição do sistema.

O que significa Open Source(Código Aberto):


O termo Open Source, se refere as iniciativas de código aberto e disponíveis para programadores, surgiu pela primeira vez em 1998, e é usado para se referir a softwares livres, ou seja, que não são proprietários. Havia um medo de que a o termo ‘livre’, trouxesse consigo uma rejeição por parte das pessoas não familiarizadas com os softwares livres. O que levou então, a necessidade de se criar a OSI (Open Source Iniciative), que foi fundada com o propósito de promover softwares de acordo com a Open Source Definition.

Como surgiu “O Linux”?


No inicio da década de noventa, um estudante finlandês chamado Linus Torvalds graduando em Ciência da Computação pela Universidade de Helsinque, teve a brilhante ideia de modificar o Kernel do Minix, com a ambição de criar uma versão melhor do mesmo. Para publicar o Linux, ele utilizou a licença GPL, assim o sistema poderia ser copiado, utilizado e alterado livremente, e com o auxílio da internet, o Linux começou a se popularizar e ser modificado por diversos programadores diferentes.No começo ele era apenas acessível pelos Hackers e outros mais entendidos de informática,pois funciona apenas na linha de comandos,ou seja não tinha “Cara”,foi assim de 1991 até 1996,no mesmo ano em 1996,foi lançado o ambiente gráfico KDE que deu a
primeira “Cara famosa” ao Linux,(K Desktop Environment),antes disso existia o X-Windows,interface gráfica para Linux lançado em 1992,em seguida em 1997,o Linux conquistou o mundo hollywoodiano,estúdios como Pixar Estúdios,DreamWorks e Lukas arts, fizeram filmes como:Titanic,Senhor dos Anéis,Vida de Inseto,Shrek entre outros.
O Linux se tornou tão popular que suas distribuições hoje são seguras, confiáveis, modernas e práticas, exemplos do sucesso são o Ubuntu, o Mint e o Mageia.

Algumas distribuições:

Ubuntu: É uma distribuição Linux completa proveniente da Africa do Sul,baseada na premissa de que o sistema deve ser totalmente livre,multilíngue,personalizável,e passível de edição por qualquer usuário. O Ubuntu é um projeto voltado a comunidade com o propósito de criar e distribuir um sistema operacional Open Source.
Suse: Esta distribuição traz diversos recursos para usuários domésticos, incluindo instalador fácil de utilizar, ferramentas para internet, chat, multimídia, editores de texto, redes e desenvolvimento.
Red Hat: É a distribuição mais famosa, e que inspirou diversas distribuições pelo mundo, como a distribuição brasileira, Conectiva, que no início era só uma recompilação da Red Hat. Essa distribuição foi responsável por criar ferramentas como a sndconfig, Xconfigurator e outras. Além disso possui um ótimo gerenciador do sistema, o linuxconf, que funciona como um painel de controle do Windows.
Debian: Uma distribuição mantida por voluntários, foi inovadora ao criar o
gerenciador de pacotes apt-get via shell, resolvendo problemas nas atualizações e dependências de programas.
Slackware: Profissionais adoram essa distribuição, por ser toda configurada em modo texto. Destaca-se também por ser uma das distribuições mais estáveis do Linux.
Gentoo: Uma distribuição que pode ser demorada para instalar, pois é necessário que você compile programa por programa, e fazer cada configuração, porém, isso tem como vantagem que só o necessário para o usuário em específico haja no sistema, tornando-o muito rápido.É como montar o seu próprio carro,no caso montar o seu próprio sistema na analogia.

Autor:Fabrício Augusto Ferrari,
Resumo do livro:Curso prático de Linux



sábado, 25 de novembro de 2023

Todos os meus código fontes para o Lazarus(Delphi 7 para Linux)

 

 

Visualizador de imagem,é preciso ter o TImage para funcionar a imagem e um OpenPictureDialog1.

 

Código:
if OpenPictureDialog1.Execute then

 Image1.Picture.LoadFromFile(OpenPictureDialog1.Filename);

 

Editor de texto

 
Código:

Novo
   
    Memo1.Clear;
    Memo1.SetFocus;
   
    -----------------------------------------
    Abrir
   
    if OpenDialog1.Execute then
    begin
    memo1.Lines.LoadFromFile(OpenDialog1.Filename);
    memo1.setfocus;
    end;
   
    -----------------------------------------
   
    Botão Salvar
   
    if SaveDialog1.execute then
    begin
    memo1.Lines.SaveToFile(SaveDialog1.Filename);
    end;
   
    -----------------------------------------
    Copiar
    Memo1.CopytoClipBoard;
   
    -----------------------------------------
    Colar
   
    Memo1.PasteFromClipboard; ;
   
    -----------------------------------------
    Recortar
   
    Memo1.CutToClipBoard
   
    -----------------------------------------
    Fonte
   
    FontDialog1.Font:=Memo1.Font;
    if FontDialog1.Execute then
    begin
    Memo1.Font:= FontDialog1.Font;
    Memo1.SetFocus;
    end;
 

Gerador de senha

Código:
var

 i:integer;
 
 const
 
 str='1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ@!#$%&*';
 
 max=14;
 
 begin
 
 Edit1.Text:='';
 
 for i:=1 to max do
 
 begin
 
 Edit1.Text:=Edit1.Text+str[random(length(str))+1];
 
 end;

 


Cronômetro

Código:
unit Unit1;
    
    {$mode objfpc}{$H+}
    
    interface
    
    uses
      Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, Buttons,
      ExtCtrls;
    
    type
    
      { TForm1 }
    
      TForm1 = class(TForm)
        Cronometrar: TBitBtn;
        Parar: TBitBtn;
        Edit1: TEdit;
        Timer1: TTimer;
        procedure CronometrarClick(Sender: TObject);
        procedure PararClick(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
      private
    
      public
    
      end;
    
    var
      Form1: TForm1;
      HoraInicial:TDateTime;
    
    implementation
    
    {$R *.lfm}
    
    { TForm1 }
    
    procedure TForm1.CronometrarClick(Sender: TObject);
    begin
     HoraInicial := Now;
     Timer1.Enabled := True;
    end;
    
    procedure TForm1.PararClick(Sender: TObject);
    begin
     HoraInicial := Now;
     Timer1.Enabled := False;
    end;
    
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      Edit1.Text := FormatDateTime('hh:mm:ss',Now-HoraInicial);
    end;
    
    end.

 

Criptografador
 

Código:
unit Unit1;
   
   {$mode objfpc}{$H+}
   
   interface
   
   uses
   
     Classes, SysUtils, FileUtil, Forms,
   
   Controls, Graphics, Dialogs, StdCtrls;
   
   type
   
     { TForm1 }
   
     TForm1 = class(TForm)
   
       Button1: TButton;
   
       Button2: TButton;
   
       edtcriptografado: TEdit;
   
       edttexto: TEdit;
   
       edtdescriptografado: TEdit;
   
       edtkey: TEdit;
   
       Label1: TLabel;
   
       Label2: TLabel;
   
       Label3: TLabel;
   
       Label4: TLabel;
   
       procedure Button1Click(Sender: TObject);
   
       procedure Button2Click(Sender: TObject);
   
       procedure FormCreate(Sender: TObject);
   
     private
   
      function criptografar(const key, texto:String):String;
   
      function descriptografar(const key, texto:String):String;
   
     public
   
     end;
   
   var
   
     Form1: TForm1;
   
   implementation
   
   
   {$R *.lfm}
   
   
   { TForm1 }
   
   
   procedure TForm1.Button1Click(Sender: TObject);
   
   begin
   
    edtcriptografado.Text:=criptografar(edtkey.Text,edttexto.Text);
   
   end;
   
   procedure TForm1.Button2Click(Sender: TObject);
   
   begin
   
    edtdescriptografado.Text:=descriptografar(edtkey.Text,
   
   edtcriptografado.Text);
   
   end;
   
   function TForm1.criptografar(const key, texto: String): String;
   
   var
   
     I: Integer;
   
     C: Byte;
   
   begin
   
     Result := '';
   
     for I := 1 to Length(texto) do begin
   
       if Length(Key) > 0 then
   
         C := Byte(Key[1 + ((I - 1) mod Length(Key))]) xor Byte(texto[I])
   
       else
   
         C := Byte(texto[I]);
   
       Result := Result + AnsiLowerCase(IntToHex(C, 2));
   
     end;
   
   
   end;
   
   
   function TForm1.descriptografar(const key, texto: String): String;
   
   var
   
     I: Integer;
   
     C: Char;
   
   
   begin
   
     Result := '';
   
     for I := 0 to Length(texto) div 2 - 1 do begin
   
       C := Chr(StrToIntDef('$' + Copy(texto, (I * 2) + 1, 2), Ord(' ')));
   
       if Length(Key) > 0 then
   
         C := Chr(Byte(Key[1 + (I mod Length(Key))]) xor Byte(C));
   
       Result := Result + C;
   
     end;
   
   end;
   
   
   end.

 

Calculadora Empresarial

Código:
procedure TForm1.CalcularCicloDoProcessoClick(Sender: TObject);
    var n1,n2,resultado:real; //declaração de variáveis do tipo real(aceita numero inteiro e com vírgula)
    begin
    n1:=StrToFloat(TempoTrabalhadoEmHoras.Text);// converte n1(numero1) para numero flutuante
    n2:=StrToFloat(NumeroDeProdutosBons.Text);//converte n2(numero2)para numero flutuante
    resultado:=n1/n2; //Dividi a variável n1(numero1) e n2(numero2
    ResultadoDoCicloDoProcesso.Text:=FloatToStr(resultado);//mostra o resultado convertendo numero flutuante(Float) para texto(String)
    procedure TForm1.CalcularTaxaDeProducaoClick(Sender: TObject);
    var n1,n2,resultado:real;
    begin
    n1:=StrToFloat(TempoTrabalhado.Text);
    n2:=StrToFloat(NumeroDeProdutosBons.Text);
    resultado:=n2/n1;
    ResultadoTaxaDeProducao.Text:=FloatToStr(resultado);
    
    procedure TForm1.CalcularTaxaDeProducaoPorRecursoClick(Sender: TObject);
    var n1,n2,resultado:real;
    begin
    n1:=StrToFloat(TaxaDeProducao.Text);
    n2:=StrToFloat(NumeroDeFuncionarios.Text);
    resultado:=n1/n2;
    ResultadoTaxaDeProducaoPorRecurso.Text:=FloatToStr(resultado);
    
    procedure TForm1.CalcularGiroDeEstoqueClick(Sender: TObject);
    var n1,n2,n3,resultado:real;
    begin
    n1:=StrToFloat(NumeroDeProdutosBons.Text);
    n2:=StrToFloat(TotalDeMateriais.Text);
    n3:=StrToFloat(TotalDeProdutos.Text);
    resultado:=n1*12/n2/n3;
    ResultadoDoGiroDoEstoque.Text:=FloatToStr(resultado);
    
    procedure TForm1.CalcularFaltaDeQualidadeClick(Sender: TObject);
    var n1,n2,resultado:real;
    begin
    n1:=StrToFloat(NumeroDeProdutosComDefeitos.Text);
    n2:=StrToFloat(TotalProduzido.Text);
    resultado:=n1/n2;
    ResultadoDaFaltaDeQualidade.Text:=FloatToStr(resultado);
    
    
    procedure TForm1.SairClick(Sender: TObject);
    begin
    Form1.Close;
    
    procedure TForm1.CalcularCPVClick(Sender: TObject);
    var n1,n2,resultado:real;
    begin
    n1:=StrToFloat(NumeroDeProdutosBons.Text);
    n2:=StrToFloat(ValorUnitario.Text);
    resultado:=n1*n2;
    ResultadoCPV.Text:=FloatToStr(resultado);
    
    procedure TForm1.CalcularCustoDaFaltaDeQualidadeClick(Sender: TObject);
    var n1,n2,resultado:real;
    begin
    n1:=StrToFloat(NumeroDeProdutosComDefeitos.Text);
    n2:=StrToFloat(ValorUnitario.Text);
    resultado:=n1*n2;
    ResultadoDoCustoDaFaltaDeQualidade.Text:=FloatToStr(resultado);
    Botão Apagar:
    TempoTrabalhado.Text:='';
    TempoTrabalhadoEmHoras.Text:='';
    NumeroDeProdutosBons.Text:='';
    resultadoDoCicloDoProcesso.Text:='';
    TaxaDeProducao.Text:='';
    ResultadoTaxaDeProducao.Text:='';
    NumeroDeFuncionarios.Text:='';
    ResultadoTaxaDeProducaoPorRecurso.Text:='';
    TotalDeMateriais.Text:='';
    TotalDeProdutos.Text:='';
    ResultadoDoGiroDoEstoque.Text:='';
    NumeroDeProdutosComDefeitos.Text:='';
    TotalProduzido.Text:='';
    ResultadoDaFaltaDeQualidade.Text:='';
    ResultadoCPV.Text:='';
    ResultadoDoCustoDaFaltaDeQualidade.Text:='';
    
    Form1. close; //Fecha o Form
    
    procedure TForm2.CalcularCustoDeCarregarEstoqueClick(Sender: TObject);
    var n1,n2,n3,resultado:real;
    begin
    n1:=StrToFloat(EstoqueDeProducaoEmProcesso.Text);
    n2:=StrToFloat(ValorUnitario.Text);
    n3:=StrToFloat(TaxaDeJuros.Text);
    resultado:=n1*n2*n3;
    ResultadoDoCustoDeCarregarEstoque.Text:=FloatToStr(resultado);
    
    
    end;
    
    procedure TForm2.CalcularCustoFixoClick(Sender: TObject);
    var n1,n2,resultado:real;
    begin
    n1:=StrToFloat(SalarioDoColaborador.Text);
    n2:=StrToFloat(DespesasGerais.Text);
    resultado:=n1+n2;
    ResultadoDoCustoFixo.Text:=FloatToStr(resultado);
    
    end;
    
    procedure TForm2.CalcularCustoTotalClick(Sender: TObject);
    var n1,n2,n3,n4,resultado:real;
    begin
    n1:=StrToFloat(CPV.Text);
    n2:=StrToFloat(CustoDaQualidade.Text);
    n3:=StrToFloat(CustoDoEstoque.Text);
    n4:=StrToFloat(CustoFixo.Text);
    resultado:=n1+n2+n3+n4;
    CustoTotal.Text:=FloatToStr(resultado);
    
    end;
    
    procedure TForm2.CalcularCustoUnitarioClick(Sender: TObject);
    var n1,n2,resultado:real;
    begin
    n1:=StrToFloat(CustoTotal.Text);
    n2:=StrToFloat(NumeroDeProdutosBons.Text);
    resultado:=n1/n2;
    ResultadoDoCustoUnitario.Text:=FloatToStr(resultado);
    
    
    end;
    
    procedure TForm2.SairClick(Sender: TObject);
    begin
    Form2.Close;// Fecha o Form2
    end;
    
    procedure TForm2.ApagarClick(Sender: TObject);
    begin
    EstoqueDeProducaoEmProcesso.Text:='';
    ValorUnitario.Text:='';
    TaxaDeJuros.Text:='';
    ResultadoDoCustoDeCarregarEstoque.Text:='';
    SalarioDoColaborador.Text:='';
    DespesasGerais.Text:='';
    ResultadoDoCustoFixo.Text:='';
    CPV.Text:='';
    CustoDaQualidade.Text:='';
    CustodoEstoque.Text:='';
    CustoFixo.Text:='';
    CustoTotal.Text:='';
    NumeroDeProdutosBons.Text:='';
    ResultadoDoCustoUnitario.Text:='';
    end;

 


Calculadora De Decimo Terceiro Salário
 

Código:
 unit Unit1;

    {$mode objfpc}{$H+}
 
 
    interface
 
    uses
 
 
     Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
 
    type
 
 
 
     { TForm1 }
 
 
     TForm1 = class(TForm)
 
 
     Calcular: TButton;
 
 
     Apagar: TButton;
 
 
     Edit1: TEdit;
 
 
     Edit2: TEdit;
 
 
     Edit3: TEdit;
 
 
     Sair: TButton;
 
 
     procedure ApagarClick(Sender: TObject);
 
 
     procedure CalcularClick(Sender: TObject);
 
 
     procedure SairClick(Sender: TObject);
 
 
     private
 
 
     { private declarations }
 
 
     public
 
 
     { public declarations }
 
 
     end;
 
 
    var
 
 
     Form1: TForm1;
 
 
    
 
 
    implementation
 
 
    
 
 
    { TForm1 }
 
 
    
 
 
    procedure TForm1.CalcularClick(Sender: TObject);
 
 
    var n1,n2,resultado:real;//n1(numero1),n2(numero2),resultado(resultado do calculo)
 
 
    begin
 
 
    n1:=StrToFloat(Edit1.text);
 
 
    n2:=StrToFloat(Edit2.text);
 
 
    resultado:=n1*n2/12;
 
 
    Edit3.text:=FloatToStr(resultado);
 
 
    
 
 
    end;
 
 
    
 
 
    procedure TForm1.SairClick(Sender: TObject);
 
 
    begin
 
 
     Form1.Close;
 
 
    end;
 
 
    
 
 
    procedure TForm1.ApagarClick(Sender: TObject);
 
 
    begin
 
 
     Edit1.text:='';
 
 
     Edit2.text:='';
 
 
     Edit3.Text:='';
 
 
    end;
 
 
    
 
 
    initialization
 
 
     {$I unit1.lrs}
 
 
    
 
 
    end.


Calculadora completa com porcentagem
 

Código:
unit UnitCalculadora;
    
    {$mode objfpc}{$H+}
    
    interface
    
    uses
      Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
      Menus;
    
    type
    
      { TForm1 }
    
      TForm1 = class(TForm)
        BtnDivisao: TButton;
        BtnMultiplicacao: TButton;
        BtnSete: TButton;
        BtnOito: TButton;
        BtnNove: TButton;
        BtnC: TButton;
        BtnQuatro: TButton;
        BtnCinco: TButton;
        BtnSeis: TButton;
        BtnDois: TButton;
        BtnTres: TButton;
        BtnSubtracao: TButton;
        BtnAdicao: TButton;
        BtnUm: TButton;
        BtnPonto: TButton;
        BtnIgual: TButton;
        BtnPorcentagem: TButton;
        BtnZero: TButton;
        Edit1: TEdit;
        Label1: TLabel;
        MainMenu1: TMainMenu;
        MenuItem1: TMenuItem;
        MenuItem2: TMenuItem;
        Panel1: TPanel;
        procedure BtnAdicaoClick(Sender: TObject);
        procedure BtnCClick(Sender: TObject);
        procedure BtnCincoClick(Sender: TObject);
        procedure BtnDivisaoClick(Sender: TObject);
        procedure BtnDoisClick(Sender: TObject);
        procedure BtnIgualClick(Sender: TObject);
        procedure BtnMultiplicacaoClick(Sender: TObject);
        procedure BtnNoveClick(Sender: TObject);
        procedure BtnOitoClick(Sender: TObject);
        procedure BtnPorcentagemClick(Sender: TObject);
        procedure BtnQuatroClick(Sender: TObject);
        procedure BtnSeisClick(Sender: TObject);
        procedure BtnSeteClick(Sender: TObject);
        procedure BtnSubtracaoClick(Sender: TObject);
        procedure BtnTresClick(Sender: TObject);
        procedure BtnUmClick(Sender: TObject);
        procedure BtnPontoClick(Sender: TObject);
        procedure BtnZeroClick(Sender: TObject);
      private
    
      public
    
      end;
    
    var
      Form1: TForm1;
      valor1, valor2, porcentagem:real;
      tipoconta:string;
    
    implementation
    
    {$R *.lfm}
    
    { TForm1 }
    
    procedure TForm1.BtnAdicaoClick(Sender: TObject);
    begin
        tipoconta:='Adição';
          valor1:=strtofloat(Edit1.text);
          Edit1.Text:='';
          Label1.Caption:='+';
    end;
    
    procedure TForm1.BtnCClick(Sender: TObject);
    begin
      Edit1.text:='';
      valor1:=0;
      valor2:=0;
      tipoconta:='';
      Label1.Caption:='';
    end;
    
    procedure TForm1.BtnCincoClick(Sender: TObject);
    begin
      Edit1.text:=Edit1.text+'5';
    end;
    
    procedure TForm1.BtnDivisaoClick(Sender: TObject);
    begin
         tipoconta:='Divisão';
          valor1:=strtofloat(Edit1.text);
          Edit1.Text:='';
          Label1.Caption:='/';
    end;
    
    procedure TForm1.BtnDoisClick(Sender: TObject);
    begin
      Edit1.text:=Edit1.text+'2';
    end;
    
    procedure TForm1.BtnIgualClick(Sender: TObject);
    begin
    if tipoconta = 'Adição' then
          begin
          valor2:=StrToFloat(edit1.text);
          edit1.text:=FloatToStr(valor1+valor2);
    
        end;
    
        if tipoconta = 'Subtração' then
        begin
          valor2:=StrToFloat(edit1.text);
          edit1.text:=FloatToStr(valor1-valor2);
    
        end;
    
        if tipoconta = 'Divisão' then
        begin
          valor2:=StrToFloat(edit1.text);
          edit1.text:=FloatToStr(valor1/valor2);
    
        end;
        if tipoconta= 'Multiplicação' then
        begin
          valor2:=StrToFloat(Edit1.Text);
          Edit1.Text:=FloatToStr(Valor1 * Valor2);
        end;
    
    end;
    
    procedure TForm1.BtnMultiplicacaoClick(Sender: TObject);
    begin
         tipoconta:='Multiplicação';
          valor1:=strtofloat(Edit1.text);
          Edit1.Text:='';
          Label1.Caption:='X';
    end;
    
    procedure TForm1.BtnNoveClick(Sender: TObject);
    begin
          Edit1.text:=Edit1.text+'9';
    end;
    
    procedure TForm1.BtnOitoClick(Sender: TObject);
    begin
        Edit1.text:=Edit1.text+'8';
    end;
    
    procedure TForm1.BtnPorcentagemClick(Sender: TObject);
    var resultado:real;
    
       begin
    
        if tipoconta ='Multiplicação' then
        begin
    
         valor2:=strtofloat(edit1.text);
         resultado:=valor1*valor2/100;
         Edit1.text:=FloatToStr(resultado);
         Label1.Caption:='%';
         end;
           if tipoconta = 'Adição' then
       begin
          porcentagem:=strtofloat(edit1.text);
          porcentagem:=porcentagem/100;
          porcentagem:=porcentagem*valor1;
          edit1.text:=floattostr(valor1+porcentagem);
    
       end;
       if tipoconta = 'Subtração' then
       begin
          porcentagem:=strtofloat(edit1.text);
          porcentagem:=porcentagem/100;
          porcentagem:=porcentagem*valor1;
          edit1.text:=floattostr(valor1-porcentagem);
    
    
           end;
        if tipoconta = 'Divisão' then
       begin
          porcentagem:=strtofloat(edit1.text);
          porcentagem:=porcentagem/100;
          porcentagem:=porcentagem*valor1;
          edit1.text:=floattostr(valor1/porcentagem);
    end;
    
    end;
    
    procedure TForm1.BtnQuatroClick(Sender: TObject);
    begin
       Edit1.text:=Edit1.text+'4';
    end;
    
    procedure TForm1.BtnSeisClick(Sender: TObject);
    begin
      Edit1.text:=Edit1.text+'6';
    end;
    
    procedure TForm1.BtnSeteClick(Sender: TObject);
    begin
         Edit1.text:=Edit1.text+'7';
    end;
    
    procedure TForm1.BtnSubtracaoClick(Sender: TObject);
    begin
       tipoconta:='Subtração';
          valor1:=strtofloat(Edit1.text);
          Edit1.Text:='';
          Label1.Caption:='-';
    end;
    
    procedure TForm1.BtnTresClick(Sender: TObject);
    begin
      Edit1.text:=Edit1.text+'3';
    end;
    
    procedure TForm1.BtnUmClick(Sender: TObject);
    begin
      Edit1.text:=Edit1.text+'1';
    end;
    
    procedure TForm1.BtnPontoClick(Sender: TObject);
    begin
       Edit1.text:=Edit1.text+'.';
    end;
    
    procedure TForm1.BtnZeroClick(Sender: TObject);
    begin
      Edit1.text:=Edit1.text+'0';
    end;
    
    end.

Perguntas frequentes sobre Linux

 

Perguntas frequentes com respostas.

Tem dúvidas sobre o Linux? Continue lendo e esclareça!

Quem criou o Linux?
Linus Torvalds com a ajuda de hackers do Minix.

O que é Linux?
É o Kernel, núcleo do sistema operacional, por isso apelidei de coração do sistema, assim como o coração fornece vida para nós seres humanos, o Kernel dá vida ao sistema operacional.

O que é GNU?
É um projeto criado por Richard Stallman, no final de 1983, com a ambição de criar um sistema operacional de código aberto e livre. GNU foi baseado no Unix, mas seu nome é um acrônimo para "GNU NOT UNIX", que traduzido para o português é "GNU NÃO UNIX", ou seja, mesmo que seja baseado, a ideia era criar algo diferente.

O que são patches?
Como se fossem "remendos" nas feridas do sistema, ou seja, são correções de falhas no sistema.

Por que o GNU/Linux tem o coração (Kernel) mais saudável?
O mais provável é porque foi criado com Kernel monolítico e modular, o monolítico executa melhor desempenho, torna o sistema mais leve, e faz com que o mesmo sistema fique mais seguro, e o modular carrega módulos para tornar o sistema mais enxuto/leve/compacto.

Qual o GNU/Linux é indicado para leigos?
Ubuntu ou mint.

Qual o programa que facilita a instalação de programas no GNU/Linux?
Synaptic, que foi criado pelo brasileiro Alfredo Kojima.Outros são dnfdragora,discover e etc.

Por que o GNU/Linux não tem código malicioso se todo mundo pode contribuir?
Porque o código do kernel é avaliado, se ocorrer de haver algo malicioso, o que é raro, o código é rejeitado.

Porque devo adotar Linux na minha empresa?
Porque é leve, robusto, seguro, estável, transparente, confiável, flexível, personalizável, gratuito, intuitivo, dedutivo e sem falar que a maioria das distros oferecem privacidade. O Código é aberto para aperfeiçoar o sistema. Não tem crack e é livre o que evita a pirataria de software. Não tem número de serial para verificar a integridade do programa, já que o checksum é a verificação do programa por um código especifico. O Firewall nftables te dá total liberdade para você criar sua própria regra de segurança. Não tem desfragmentador de disco para organizar os arquivos do HD,pois a estrutura de diretórios já organiza. A empresa sabendo que o Linux é gratuito,irá investir apenas em qualificação do funcionário,ao qual chamamos essa qualificação de LPI (Certificado de profissional em Linux). É um preço muito baixo comparado ao DVD original do Windows que custa muito caro ou a empresa pode solicitar a LPI no currículo do funcionário,pois nenhum funcionário é permanente.

Meu canal de vídeo aulas

 Meu canal de vídeo aulas de Linux é:


Meu canal

Diretórios do Linux

Nessa dica ensinarei a finalidade ou função de cada diretório do Linux,a explicação serve para a maioria das distros,não para todas.Serve de base para os novatos em Linux.O GoboLinux foge desse padrão de diretórios.


/ =É a raiz,ou seja,o diretório principal do sistema. Todos os outros diretórios são,de
fato,subdiretórios do root.
/home = Armazena diretórios e arquivos de trabalho dos usuários comuns do sistema.
/root = Armazena diretórios e arquivos de trabalho do superusuário (root).
/boot= Contém o kernel e todos os arquivos necessários para a inicialização do sistema.
/bin = Contém aplicativos e utilitários do sistema.
/sbin= Contém ferramentas de configuração e manutenção do sistema. Alguns aplicativos acessíveis
apenas ao superusuário são instalados neste diretório.
/srv = Dados de serviços fornecidos pelo sistema.
/lib = Contém as bibliotecas compartilhadas e os módulos do kernel.
/media = Ponto de montagem para mídia removível.
/dev = Contém todos os dispositivos do sistema, tais como: modem, HD, PenDrive, CD-ROM, entre
outros. Esses diretórios são utilizados para troca de informações, não possuindo existência real.(dev
vem do inglês, e é a abreviação de device, que significa dispositivo em inglês).
/etc = Contém todos os arquivos de configuração do sistema.
/tmp = Diretório reservado aos arquivos temporários utilizados por algumas aplicações. Como
ocorre em muitos outros sistemas operacionais,durante o funcionamento são gerados arquivos
temporários,inúteis após a conclusão do processo. Esse tipo de **Lixo** digital é colocado no
diretório /tmp para que possa ser removido rapidamente,sem correr o risco de apagar os arquivos
importantes.
/mnt = Diretório reservado para montagem de dispositivos e sistemas de arquivos em partições e
discos locais e de rede.
/proc =Contém informações sobre os processos em execução no sistema. Assim como no
diretório /dev, os arquivos e subdiretórios aqui contidos não são reais, sendo utilizados apenas como
arquivos de troca.
/usr = Programas de usuários, sistemas de janelas X, jogos entre outros. Os links de alguns
programas costumam ser instalados aqui.
/var = Contém arquivos de dados variáveis como log do sistema e diretórios de spool.
/opt = Diretório reservado para instalação de aplicações de terceiros como OpenOffice, softwares
pagos etc.
/usr/bin=Contém ferramentas e aplicativos de cada usuário. Ao criar uma nova conta de usuário, o
sistema cria automaticamente uma pasta /usr/bin.
/usr/dict=Diretório em que são armazenados os dicionários (o nome dict deriva do inglês dictionary)
e as listas de termos do usuário.
/usr/doc=Esse diretório contém a documentação do sistema em uso.
/usr/games=Quem disse que no Linux não se pode jogar? Esse diretório traz alguns aplicativos
interessantes para a diversão dos usuários.
/usr/info=Nesse diretório encontramos os arquivos para o sistema GNU Info,baseado em
hipertextos.
/usr/lib=Assim como o diretório bin da raiz contém as bibliotecas para a execução das
ferramentas,desa vez,porém trata-se dos componentes da ferramentas que se encontram no
diretório /usr/bin.
/usr/local=Essa pasta contém arquivos locais,ou seja,exclusios para cada sistema(ou aplicativo),que
incluem documentação (/usr/local/doc) e os programas em si (/usr/local/bin).
/usr/man=Diretório que agrupa os manuais que podem ser lidos com o comando man.
/usr/share=Contém arquivos e componentes compartilhados por vários aplicativos. Nesse
diretório,encontramos diversos subdiretórios com arquivos de ajuda,ícones,etc.
/usr/src=Esse diretório contém o código fonte (source) dos softwares disponíveis no sistema. Esse
código pode ser visualizado e alterado livremente por programadores experientes para aprimorar o
funcionamento de ferramentas e aplicativos,inclusive acrescentando opções de funcionamento.
/usr/tmp=É o diretório em que são colocados os arquivos temporários gerados pelo usuário ativo.

Artigo:História do Unix e a popularidade do Linux

Popularidade: Atualmente,basta dar uma olhada nos computadores à venda nas lojas,principalmente naquelas chamadas...