OpenLLM-France/wikimedia huggingface dataset:
# Assembly

* Esta página de desambiguação lista livros associados a um mesmo título. Se uma ligação interna o conduziu até aqui, sugerimos que a corrija para apontá-la diretamente ao livro adequado.
O Wikilivros tem alguns livros sobre Assembly:

#### X86

* Programar em Assembly com GAS
* Assembly no Linux
* Assembly x86
# Assembly no Linux/BIOS e suas rotinas

Com esta explicação chegamos à conclusão que o Linux utiliza o máximo que pode deste processador, por ter sido desenvolvido primeiramente nele. É um sistema multitarefa, multiusuários, de 32 bits, que roda em "Modo Protegido".
Um dos primeiros paralelos que farei com os DOS, é uma explicação sobre a BIOS. Obviamente, o software que roda nas BIOS de hoje em dia é bem mais elaborado que há alguns anos, mesmo porque o hardware exige isso, mas (outra limitação ligada a manter compatibilidade) a interface exposta para os programas ainda é a mesma. Mas estas interfaces não foram pensadas para um sistema multitarefa como o Linux, teríamos um problema com um fenômeno chamado reentrância. As rotinas não prevêem que mais de um processo pode tentar acessar o mesmo recuso e, portanto, não implementam travas para isso. Para ilustrar, um pequeno exemplo em C.
Grosso modo, esta pequena função quando executada, checa se o flag busy é 0, se for significa que o recurso está livre, portanto é inicializado, flag setado para 1 e se procede o resto da função enquanto este flag for 1 e se procede o resto da função. Enquanto este flag for 1, nenhum outro processo pode acessá-las. Claro, existem as chamadas race-conditions, mas este trecho tem a intenção de demonstrar um modo de checar o uso de um recurso em um ambiente multitarefa, que pode se tornar facilmente caótico do ponto de vista do programador. Imagine o acesso a um dispositivo como um HD, neste modo. Além disso, tem a questão de performance também, rotinas de 16 bits presentes na BIOS não apresentam a performance das rotinas usadas no kernel do Linux em 32 bits.
Isto finaliza a explicação de uma das dúvidas que tenho encontrado, que é: por que não posso usar X função da BIOS? Em primeiro lugar, porque você está em 32 bits e esta função provavelmente está escrita para o modo que usa 16 bits. em segundo, porque ela não é reentrante, portanto as chamadas para a BIOS ficam desabilitadas no Linux, que usa sua própria implementação de muitas das funções presentes lá, tais como gerenciamento do barramento PCI e clock do sistema. Portanto sempre que possível, utilize o equivalente do Linux.
# As maiores cidades do mundo/Manila

Manila é a capital e a segunda maior cidade das Filipinas, atrás apenas da vizinha Cidade Quezon. Manila está situada na costa oriental da baía de Manila, junto à desembocadura do rio Pasig, na ilha de Luzon.
Manila foi fundada em 1571 pelo conquistador espanhol Miguel López de Legazpi. Ao longo de sua história, a cidade já foi ocupada pelos espanhóis, americanos e japoneses. Tornou-se capital das Filipinas em 1976.

## Curiosidades

* A parte mais antiga de Manila é o distrito histórico de Intramuros, onde encontram-se a Catedral de Manila, o Forte Santiago e a Igreja de Santo Agostinho.
* Perto de Intramuros, há o distrito de Binondo, onde há a mais antiga comunidade chinesa fora da china do mundo, estabelecida em 1594. No distrito, há um mercado de frutas exóticas e vegetais a céu aberto, também há igrejas e templos budistas.
* Na cidade de Makati, perto de Manila, há o Greenbelt, que é um gigantesco complexo de cinco shoppings, também conhecido como Ayala Center.
# Assembly no Linux/Assembly no Linux

Aquele tempo do MSX e dos DOS, em que muitas pessoas se divertiam com livros do tipo "Aprofundando-se no MSX", e outros semelhantes para DOS, como os de "Turbo C", estão reeditados no presente. Para quem não lembra, eram livros que ensinavam a fazer relógios no canto da tela, descobrindo pequenos macetes nos respectivos sistemas, enfim, obras que faziam a alegria de quem gostava de se aprofundar além do que era tradicionalmente oferecido pelo fabricante, e o que podíamos encontrar na literatura disponível. Hoje, este tempo está de volta.
O Linux, e não só ele, mas também o freeBSD e outros da família BSD, nos oferece igual, se não maior, potencial para fuçadores natos, Estas plataformas se tornaram famosas tanto em grandes servidores como em sistemas embutidos (embedded systems), que povoam as prateleiras com aparelhos modernos dotados de inteligência e conectividade.
Um certo background se torna indispensável para os primeiros passos. Aqueles que já programam em linguagem C para Unix sentirão mais facilidade, e também aqueles que programaram por muito tempo no ambiente DOS vão reconhecer as semelhanças e fazer as devidas adaptações. Mas o importante é a vontade de se aprofundar além do que está descrito por aí.
Este artigo visa traçar um paralelo com o que encontrávamos na literatura citada acima, e como "portar" este raciocínio para o Linux. Claro que, pelas características do sistema, não será possível usar um exemplo do tipo do "relógio", pois além de ser trabalhoso, acabaria por fugir da natureza deste artigo, que é introdutório. Mas a intenção de buscar os conceitos semelhantes será levada a cabo com explicações sobre como se comportam as interfaces disponíveis.
# Asp/Introdução

ASP - Active Server Pages (conhecido por Classic ASP) Em Português significa "Páginas de Servidor Activas" (Dinâmicas) Tecnologia de servidores desenvolvida pela Microsoft, com o objectivo de criar conteúdos dinâmicos na internet.
É uma ferramenta para gerar páginas dinâmicas com trabalhos de informações no servidor como banco de dados e outros.
Foi recentemente substituida, pela Microsoft, por ASP.NET (que vai na 2ª Versão).
Esta tecnologia é especialmente boa para grandes empresas, uma vez que para tirar partido das suas potencialidades trabalha como "uma luva" em servidores com sistemas operativos da Microsoft (Windows Server) e bases de dados da mesma (MS SQL), apesar de trabalhar com outros formatos de sistemas operativos e outros tipos de bases de dados, é nestes que o ASP.NET coloca toda a sua potencialidade.

## Exemplo

Exempo de script em ASP:
Embora se diga que "estamos a programar em ASP", isso não é literalmente correcto.
O ASP não se vê, nem se programa. É uma tecnologia exclusiva de Servidor!
Para aprender Asp, veja o livro de Asp.
# Curso de termodinâmica/Exercícios de termodinâmica/A27

Curso de termodinâmica — Índice dos exercícios :
| A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 |
| A14 | A15 | A16 | A17 | A18 | A19 | A20 | A21 | A22 | A23 | A24 | A25 | A26 |
| A27 | A28 | A29 | A30 | A31 | A32 | A33 | A34 | A35 | A36 | A37 | A38 | |

## Enunciado

Um recipiente de 200 ml contém oxigênio a 200 mmHg de pressão e um outro, de 300ml, contém nitrogênio a 100 mmHg. Os dois recipientes são conectados para misturar os gases. Supondo nenhuma mudança de temperatura, qual é a pressão parcial de cada gás na mistura final?

## Solução

O volume da mistura é igual a 200 + 300 = 500 ml.
para o oxigênio: $P_{f}\;=\;P_{i}\cdot {\frac {V_{i}}{V_{f}}}\;=\;200\cdot {\frac {200}{500}}\;=\;80\;mmHg$
para o nitrogênio: $P_{f}\;=\;P_{i}\cdot {\frac {V_{i}}{V_{f}}}\;=100\cdot {\frac {300}{500}}\;=\;60\;mmHg$
Observe-se que a pressão da mistura final é igual a 80 + 60 = 140 mmHg
# Curso de termodinâmica/Exercícios de termodinâmica/A30

Curso de termodinâmica — Índice dos exercícios :
| A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 |
| A14 | A15 | A16 | A17 | A18 | A19 | A20 | A21 | A22 | A23 | A24 | A25 | A26 |
| A27 | A28 | A29 | A30 | A31 | A32 | A33 | A34 | A35 | A36 | A37 | A38 | |

## Enunciado

Uma mistura de N$_2$, NO e NO$_2$ é analisada por absorção seletiva dos óxidos de nitrogênio. O volume inicial é de 2,74 ml. Após tratamento com água, que absorve o NO$_2$ , o volume mudou para 2,02 ml. Uma solução de sulfato ferroso foi agitada com o gás residual para absorver o NO, resultando num volume residual de 0,25 ml. Todos os volumes foram medidos à pressão atmosférica. Negligenciando o vapor de água, qual era o percentual de cada gás na mistura original?

## Solução

$V_{total}\;=\;2,74\;ml$
$V_{NO2}\;=\;2,74\;-\;2,02\;=\;0,72\;ml\Rightarrow \;\;\;\%_{NO2}\;=\;{\frac {0,72}{2,74}}\;*\;100\;=\;26,3\%$
$V_{NO}\;=\;2.02\;-\;0,25\;=\;1,77\;ml\Rightarrow \;\;\;\%_{NO}\;=\;{\frac {1,77}{2,74}}\;*\;100\;=\;64,6\%$
$V_{N2}\;=\;0,25\;ml\Rightarrow \;\;\;\%_{N2}\;=\;{\frac {0,25}{2,74}}\;*\;100\;=\;9,1\%$
# Curso de termodinâmica/Exercícios de termodinâmica/A26

Curso de termodinâmica — Índice dos exercícios :
| A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 |
| A14 | A15 | A16 | A17 | A18 | A19 | A20 | A21 | A22 | A23 | A24 | A25 | A26 |
| A27 | A28 | A29 | A30 | A31 | A32 | A33 | A34 | A35 | A36 | A37 | A38 | |

## Enunciado

Numa mistura a 20º C, as pressões parciais dos componentes são:
| Hidrogênio | 200 | mmHg |
| Dióxido de carbono | 150 | mmHg |
| Metano | 320 | mmHg |
| Etileno | 105 | mmHg |
Qual é a pressão total da mistura e a fração de hidrogênio em percentual do volume total?

## Solução

A pressão total é igual à soma das pressões parciais:
$P_{\text{total}}=200+150+320+105=775\,\mathrm {mmHg}$
$\%_{\text{hidrogenio}}={\frac {P_{\text{hidrogenio}}}{P_{\text{total}}}}\cdot 100\%={\frac {200}{775}}\cdot 100\%=25{,}8\%$
# Curso de termodinâmica/Exercícios de termodinâmica/A29

Curso de termodinâmica — Índice dos exercícios :
| A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 |
| A14 | A15 | A16 | A17 | A18 | A19 | A20 | A21 | A22 | A23 | A24 | A25 | A26 |
| A27 | A28 | A29 | A30 | A31 | A32 | A33 | A34 | A35 | A36 | A37 | A38 | |

## Enunciado

Uma quantidade de gás é colocada junto com mercúrio num tubo graduado. O volume de gás a 20 °C é de 50 ml e o nível de mercúrio no tubo é 200 mm acima do nível externo. O barômetro indica 750 mmHg. Achar o volume às condições padrões.

## Solução

No tubo, a pressão é 200 mmHg menor que a pressão atmosférica.
| | Inicial | Final |
| Temperatura | 273 + 20 = 293 K | 273 K |
| Pressão | 750 - 200 = 550 mmHg | 760 mmHg |
| Volume | 50 mmHg | a calcular |
$V_{f}=V_{i}{\frac {P_{i}}{P_{f}}}{\frac {T_{f}}{T_{i}}}\;=\;50\cdot {\frac {550}{760}}\cdot {\frac {273}{293}}\;=\;33,7\;ml$
# Curso de termodinâmica/Exercícios de termodinâmica/A3

Curso de termodinâmica — Índice dos exercícios :
| A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 |
| A14 | A15 | A16 | A17 | A18 | A19 | A20 | A21 | A22 | A23 | A24 | A25 | A26 |
| A27 | A28 | A29 | A30 | A31 | A32 | A33 | A34 | A35 | A36 | A37 | A38 | |

## Enunciado

Uma massa de oxigênio ocupa 5,00 litros sob pressão de 740 mm de Hg.
Determinar o volume da mesma massa de gás à pressão padrão, a temperatura permanecendo constante.

## Solução

    Chamamos "condições padrões" a pressão de 760 mm de Hg e 0ºC.
    Este exercício nos leva à lei de Boyle-Marriote, que estabelece que, para um dado gás, a temperatura constante, o produto da pressão pelo volume é constante.
    No nosso problema do oxigênio:
| Situação inicial: | Situação final: |
| P$_i$ = 740 mmHg | P$_f$ = 760 mmHg |
| V$_i$ = 5,00 l | V$_f$ = a calcular |
| P$_i$V$_i$ = 740 x 5 | P$_f$V$_f$ = 760 x V$_f$ |
       De acordo com as leis dos gases: P$_i$V$_i$ = P$_f$V$_f$
          $V_{f}\;=\;{\frac {5,00*740}{760}}=4,87\;l$
# Curso de termodinâmica/Exercícios de termodinâmica/A31

Curso de termodinâmica — Índice dos exercícios :
| A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 |
| A14 | A15 | A16 | A17 | A18 | A19 | A20 | A21 | A22 | A23 | A24 | A25 | A26 |
| A27 | A28 | A29 | A30 | A31 | A32 | A33 | A34 | A35 | A36 | A37 | A38 | |

## Enunciado

Uma massa de gás ocupa 825 ml a -30º C e pressão de 0,556 atm. Qual é a pressão num volume de 1000 ml e a 20º C?

## Solução

| | Inicial | Final |
| Volume | 825 ml | 100ml |
| Temperatura | 273 - 30 = 243 K | 273 + 20 = 293 K |
| Pressão | 0,556 atm | a calcular |
$P_{f}\;=P_{i}{\frac {V_{i}}{V_{f}}}{\frac {T_{f}}{T_{i}}}\;=\;0,556\cdot {\frac {825}{1000}}{\frac {293}{243}}\;=\;0,553\;atm$
# Curso de termodinâmica/Exercícios de termodinâmica/A33

Curso de termodinâmica — Índice dos exercícios :
| A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 |
| A14 | A15 | A16 | A17 | A18 | A19 | A20 | A21 | A22 | A23 | A24 | A25 | A26 |
| A27 | A28 | A29 | A30 | A31 | A32 | A33 | A34 | A35 | A36 | A37 | A38 | |

## Enunciado

Um recipiente contem 2,55 g de Neônio às condições padrões. Que massa de neônio será contida no mesmo recipiente a 100º C e pressão de 10,0 atm?

## Solução

Passando de 1 para 10 atm e mantendo a temperatura, o recipiente poderá conter
$m_{1}\;=\;2,55\cdot {\frac {10}{1}}\;=\;25,5\;g$
Com a pressão de 10 atm e a temperatura passando de 273 K para 373 K, o recipiente poderá conter
$m_{2}\;=\;25,5\cdot {\frac {273}{373}}\;=\;18,7\;g$
# Curso de termodinâmica/Exercícios de termodinâmica/A25

Curso de termodinâmica — Índice dos exercícios :
| A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 |
| A14 | A15 | A16 | A17 | A18 | A19 | A20 | A21 | A22 | A23 | A24 | A25 | A26 |
| A27 | A28 | A29 | A30 | A31 | A32 | A33 | A34 | A35 | A36 | A37 | A38 | |

## Enunciado

Uma mistura de gases a 760 mmHg contem 65.0% de nitrogênio, 15% de oxigènio e 20% de dióxido de carbono (percentuais do volume total). Qual é a pressão parcial de cada gás?

## Solução

Segunda a lei de Dalton, a pressão parcial dum gás numa mistura é igual à pressão que seria observada se o gás estivesse sozinho na mistura.
Assim, a pressão parcial de nitrogênio é de 65% da pressão total de 760 mmHg = 494 mmHg.
P$_{oxigênio}$ = 760 x 0,15 = 114 mmHg
P$_{dióxidodecarbono}$ = 760 x 0,20 = 152 mmHg
# Curso de termodinâmica/Exercícios de termodinâmica/A28

Curso de termodinâmica — Índice dos exercícios :
| A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 |
| A14 | A15 | A16 | A17 | A18 | A19 | A20 | A21 | A22 | A23 | A24 | A25 | A26 |
| A27 | A28 | A29 | A30 | A31 | A32 | A33 | A34 | A35 | A36 | A37 | A38 | |

## Enunciado:

Recolhemos 100 ml de oxigênio sobre água a 23º C e 800 mmHg. Calcular o volume padrão de oxigênio seco. A pressão de vapor da água a 23º C é igual a 21 mmHg.

## Solução

A mistura coletada contém oxigênio e vapor d'água. A pressão exercida pelo vapor d'água é igual a 21 mmHg. A pressão de oxigênio seco será, portanto, 800 - 21 = 779 mmHg. Assim,
$V_{f}\;=\;V_{i}{\frac {P_{i}}{P_{f}}}{\frac {T_{f}}{T_{i}}}\;=\;100\cdot {\frac {779}{760}}\cdot {\frac {273}{273+23}}\;=\;94,5\;ml$
# Curso de termodinâmica/Exercícios de termodinâmica/A32

Curso de termodinâmica — Índice dos exercícios :
| A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 |
| A14 | A15 | A16 | A17 | A18 | A19 | A20 | A21 | A22 | A23 | A24 | A25 | A26 |
| A27 | A28 | A29 | A30 | A31 | A32 | A33 | A34 | A35 | A36 | A37 | A38 | |

## Enunciado

Calcular a temperatura necessária para mudar 10 litros de Hélio a 100 K e 0,1 atm para 20 l a 0,2 atm.

## Solução

| | Inicial | Final |
| Volume | 10 l | 20 l |
| Pressão | 0,1 atm | 0,2 atm |
| Temperatura | 100 K | a calcular |
$T_{f}\;=\;T_{i}{\frac {P_{f}V_{f}}{P_{i}V_{i}}}\;=\;100\cdot {\frac {0,2\cdot 20}{10\cdot 0,1}}\;=\;400\;K\;=\;127^{o}\;C$
# Aplicativos em PHP/Trabalhando em PHP com/Números
## Muito Cuidado ao Lidar com Números em Ponto Flutuante

Teste em PHP
Agora teste isso:
echo (int) ((0.2 + 0.7 ) * 10);
Não conclua muito apressadamente que é deficiência do PHP.
Neste momento devemos ter conhecimento de como se comportam os números, especialmente os floats, que são normalizados pelo IEEE.
Teste em Java
Em Java também dá o mesmo resultado do PHP, o que leva a crer que a coisa não depende da linguagem mas das normas de como foram construídos os números pelo IEEE.
O Effective Java sugere que se use int, long ou BigDecimal para representar os valores monetários. A classe BigDecimal foi desenvolvida para resolver dois tipos de problemas associados a números de ponto flutuante (floats e doubles): primeiro, resolve o problema da inexatidão da representação de números decimais; segundo, pode ser usado para trabalhar com números com mais de 16 dígitos significativos. Em compensação, utilizar BigDecimal pode tornar o programa menos legível por não haver sobrecarga dos operadores matemáticos para ela, sendo necessário usar métodos da classe. Veja, por exemplo, como você faria o programa da listagem 1 com BigDecimal:
BigDecimal d1 = new BigDecimal("1.95");
BigDecimal d2 = new BigDecimal("1.03");
System.out.println(d1.subtract(d2));
Utilizar os primitivos normalmente é mais rápido e mais prático, mas o problema fica por conta da definição das casas decimais. Você pode controlar diretamente as casas decimais, por exemplo, utilizando como unidade para os valores o centavo ao invés de real. Um int ou um long passariam a representar a quantidade de centavos presentes no valor, e não a quatidade de reais. Por exemplo:
long l1 = 195;
long l2 = 103;
System.out.println(l1 ? l2);
Listagem 6: Programa da listagem 1 com long
As variáveis acima dizem que você tem 195 centavos (e não R$ 1,95) e vai gastar 103 centavos, e não R$ 1,03. No final você ficará com 92 centavos (e não R$ 0,92).

## Agora veja as recomendações do manual do PHP

O tamanho de um float depende também da plataforma e é de 64bits no formato IEEE(*). Nunca compare números em ponto flutuante em igualdades, sob pena de cometer erros.
Teste com PostgreSQL
SELECT CAST((0.1 + 0.7)*10 AS INTEGER);
Este sim, retorna o valor esperado.
Em Java:
System.out.println(1.95 - 1.03); // Retorna errado e em PHP retorna OK.
Em Ruby
(1.8+0.1)==(1.9) retorna false
O mesmo ocorre em Phyton.
# Aplicativos em PHP/Trabalhando em PHP com/Path
## Recebendo o Path Absoluto do Script Atual

dirname(__FILE__)

## Recebendo o path relativo do webserver do script atual

GetRelativePath(dirname(__FILE__));
<?php
if (DIRECTORY_SEPARATOR=='/')
else
Resultará em um path absoluto no estilo UNIX que funciona também em PHP5 sob Windows.
Em algumas instalações (< 4.4.1) $_SERVER['REQUEST_URI'] não está configurado, usado o código para corrigir:
Você pode usar isso para receber o diretório pai:
dirname(dirname(__FILE__))
...include a file relative to file path:
include(dirname(__FILE__) . '/path/relative/file_to_include.php');
Isso colocará ambos os paths "www" e "file" de forma fácil para transportar o array.
retornará algo como:
Windows:
F:\dev\Inetpub\wwwroot\somedirectory\index.php
http://devserver/somedirectory/index.php
Unix:
/home/somepathto/gieson.com/webroot/index.php
http://www.gieson.com/index.php
Path absoluto do script em execução
$path=dirname(realpath($_SERVER['SCRIPT_FILENAME']));
# Aplicativos em PHP/Trabalhando em PHP com/Permissões de arquivos e diretórios
## chown

Esta função não trabalha com arquivos remotos

## chgrp -- Modifica o grupo do arquivo

filegroup -- Lê o grupo do arquivo
fileperms -- Lê as permissões do arquivo
fileowner -- Lê o dono (owner) do arquivo
is_readable -- Diz se o arquivo/diretório é legivel (readable)
# Aplicativos em PHP/Trabalhando em PHP com/Formatação da saída
## printf -- Mostra uma string formatada

void printf ( string format [, mixed args] )

## sscanf

Interpreta a entrada de uma string de acordo com um formato mixed sscanf ( string str, string formato [, string var1] )
Se parâetros opcionais são passados, a função retornará o número de valores assumidos. Os parâmetros opcionais devem ser passados por referência.
Exemplo 2. sscanf - usando parâmetros opcionais

## fscanf

Interpreta a leitura de um arquivo de acordo com um formato
mixed fscanf ( resource handle, string formato [, string var1] )
\n";
<?php $f='<?php $f=%c%s%c; printf($f,39,$f,39); ?>'; printf($f,39,$f,39); ?>

## sprintf

Retorna uma string formatada
string sprintf ( string format [, mixed args] )
Um especificador de tipo que diz que o argumento deve ser tratado como do tipo. Os tipos possivéis são:
% - Um caractere porcento. Não é requerido neenhum argumento. b - O argumento é tratado com um inteiro, e mostrado como um binário. c - O argumento é tratado como um inteiro, e mostrado como o caractere ASCII correspondente. d - O argumento é tratado como um inteiro, e mostrado como um número decimal com sinal. u - O argumento é tratado com um inteiro, e mostrado como um número decimal sem sinal. f - O argumento é tratado como um float, e mostrado como um número de ponto flutuante. o - O argumento é tratado com um inteiro, e mostrado como un número octal. s - O argumento é tratado e mostrado como uma string. x - O argumento é tratado como um inteiro, e mostrado como um número hexadecimal (com as letras minúsculas). X - O argumento é tratado como um inteiro, e mostrado como um número hexadecimal (com as letras maiúsculas).
Este deve mostrar, "There are 5 monkeys in the tree". Mas imagine que nós estejamos criando a string de formatação em um arquivo separado, normalmente para internacionalizar e rescrevemos como:
Exemplo 2. Troca de argumentos
Agora nós temos um problema. A ordem dos argumentos na string de formatação não combina com os argumentos no código. Nós gostariamos de deixar o código como esta e simplesmente indicar na string de formatação quais argumentos pertencem aonde. Podemos escrever a string de formatação assim:
Exemplo 3. Troca de argumento
Um beneficio adicional disto é ue você pode repetir os especificadores de conversão sem adicionar mais argumentos em seu código. Por exemplo:
Exemplo 4. Troca de argumento
Veja também printf, sscanf, fscanf, vsprintf e number_format.
Exemplos
Exemplo 5. sprintf: inteiros prenchidos com zero
Exemplo 6. sprintf: formatando dinheiro

## vprintf

Mostra uma string formatada
void vprintf ( string formato, array args )
Mostra uma string formatada de acordo com o formato (o qual é descrito na documentação para a função sprintf).
Funciona como printf mas aceita uma matriz de argumentos, ao invés de um número variavel de argumentos.
# Aplicativos em PHP/Trabalhando em PHP com/Includes
## Includes

Inclue e avalia o conteúdo do arquivo.

## Require

Também inclue e avalia o conteúdo do arquivo incluído.
A diferença entre ambos é que o include ao encontrar um erro, lança um warning apenas, enquanto que o require lança um Fatal Error, que pára o processamento.
Uso do require: para códigos que requerem maior segurança.

## Include_Once e Require_Once

São semelhantes ao include e require, sendo que estes incluem um arquivo somente uma vez.
Mostrando uso do require_once:
echo.php
teste.php
Chamar no navegador o script teste.php
saída: "Hello".
Agora teste2.php:
Executar teste2.php
saída: "HelloHello".
Agora teste3.php:
Executar teste3.php
saída: "HelloHello".
Ou seja, ao encontrar require_once, ele verifica se o arquivo já foi incluído, e somente o incluirá novamente se ele ainda não tiver sido incluído.
"variables.php"
Test with 3 different files "a.php", "b.php", "c.php", all with the same content: