OpenLLM-France/wikimedia huggingface dataset:
# Pilha (stack)

A pilha é uma região da memoria central do tipo LIFO (Last In First Out) que significa : o último elemento inserido é o primeiro removido.
Todas as inserções e remoções de elemento só podem ser feitos em uma extremidade chamada topo.
A pilha vai crescendo em direção a endereços menores.
Ela é utilizada principalmente para:
* Guardar dados temporários de um registrador.
* Passar parâmetros para uma rotina.
A pilha da direita mostra o estado da pilha depois da instrução push, a pilha é incrementada de 2 bytes ou um word.

## Guardar o contexto

Quando um programa usa uma outra rotina essa novo contexto não sabe qual são os registros usados pelo programa que faz a chamada. Exemplo:
O programa principal não sabe que a rotina modificou o valor de %ecx no final da execução. Assim, %ecx contém 10 e não 6.
Para evitar esse problema podemos usar a pilha para guarda o valor dos registros que não devem ser modificados.
Exemplo:
Agora no programa que fez a chamada %ecx continua sendo 5.

## Passagem de parâmetros

Para passar os parâmetros de uma programa para uma rotina colocamos os parâmetros desejados na pilha e executamos a instrução call que por sua vez vai colocar o endereço de retorno na pilha.
Vamos ao exemplo:
Quando a rotina usa a instrução ret ela tira da pilha o endereço de retorno mais não atualiza o registro %esp por isso que adicionamos 8 octetos, para colocar %esp no estado inicial.
Para acessar os parâmetros da pilha podemos usar o registro %esp mais esse registro é usado para colocar os dados na pilha. Existe uma solução mais fácil que é usar o registrador %ebp, para isso colocamos o endereço do registro %esp em %ebp mais antes colocamos %ebp na pilha.
# Programar em Assembly com GAS/Porque usar GNU assembler?
## Porque usar GNU Assembler "as"?

O GNU assembler está licenciado sob GPL, que garante alguns direitos básicos ao usuários como estudar, adaptar e ou modificar e também de redistribuir o programa, desde que o próximo utilizador tenha os mesmos direitos. Com isso temos a segurança de usar um software livre, uma ferramenta a qual sabemos que amanhã ou depois não vai passar em licença privativa como é o caso de alguns programas da free software.
Outra vantagem é que ferramentas da GNU, assim como a maioria dos projetos de software livre, estão em constante desenvolvimento.
O GNU assembler é utilizado para trabalhar com arquiteturas de processadores da família x86. Fazem parte da família x86 os processadores que guardam uma certa compatibilidade com as instruções do processador intel 8086.
O GNU assembler usa a sintaxe AT&T para seu código assembly ao contrario de outros que usam a sintaxe INTEL.

### GNU Assembler, GNU e Software Livre

Para quem não sabe o que é GNU. O GNU é, a princípio, um projeto de Sistema Operacional compatível com sistemas Unix, porém, hoje é usado como parte fundamental o sistema operacional Linux em seu núcleo ou "kernel" significa raiz , geralmente chamados GNU/Linux.
O projeto GNU, também tem outros núcleos um pouco menos populares que o Linux pois requerem um certo conhecimento para a utilização. São o HURD e o Mach que é utilizado no kernel do Mac em conjunto com o XNU . Diversos programas desenvolvidos pelo projeto GNU como o editor de textos Emacs, o gerenciador de desktop GNOME e o compilador GCC, podem ser usados em diversos sistemas operacionais como MacOS, OpenSolaris, BSDs, Microsoft Windows, BeOS etc. Assim como diversos Sistemas Operacionais os programas GNU, e Software Livre em geral, também suportam diversas arquitetura de processadores.
O GNU assembler (as), faz parte do pacote binutils (as é o nome do executável).
# Registradores
## Registradores de propósito geral

Os registros podem ser vistos como pequenas regiões da memória dentro do microprocessador, dentro das quais podemos colocar diferentes valores de diferentes tamanhos dependendo do tipo de registro. Utilizando as instruções, podemos colocar as informações contidas até então na memória principal e por dentro dos registros do processador. Para trabalhar com esses dados contidos nos registros, utilizamos instruções.
No as os registradores são definidos usando o prefixo "%".
ACUMULADOR
* %eax, %ax, %ah, %al :
Estes registradores são chamados de "acumuladores" e podem ser usados para operações aritméticas e de entrada e saída ou para executar chamadas de interrupções. Veremos como é indispensável o uso deles quando temos que realizar chamadas do sistema(system calls)
BASE
* %ebx, %bx, %bh, %bl :
Estes registradores são a base dos registradores e são usados como ponteiros base para o acesso a memória. Nós iremos usá-los para passar argumentos de chamada do sistema. Eles também são usados para guardar o valor de retorno de uma interrupção. CONTADORES
* %ecx, %cx, %ch, %cl :
DATA
* %edx, %dx, %dh, %dl:
Estes são os registradores de dados, eles podem ser usados para operações aritméticas, chamadas de interrupções e algumas operações de input/output.

## Registradores de estado

O registrador de estado guarda o estado do processador depois de cada instrução. Registradores intel de flags(Bandeiras). FLAGS: 16 bit EFLAGS: 32 bit RFLAGS: 64 bit

## Outros registros

Global Descriptor Table Register GDTR
Interrupt Descriptor Table Register IDTR
Local Descriptor Table Register LDTR
Task Register TR
Test Registers TR6 é TR7
Time Stamp Counter TSC
# Programar em Assembly com GAS/Um primeiro programa
## Primeiro Programa com GAS

* Vamos criar um arquivo chamado teste.s.
* Agora e so copiar e colar o seguinte código.

### Montagem

Para realizar a montagem digite no console:
Para executar digite:

### Observações

* Com o GNU Assembler todos os registradores são definido com o prefixo "%".
* E os operadores imediato com "$".
# Matemática elementar/Geometria plana/Ângulos
## Ângulo

Intuitivamente, o ângulo é uma medida que expressa o quanto dois segmentos de reta estão não-paralelos.
# Matemática elementar/Infinito

Infinito é o conceito de falta de limite no tamanho, quantidade ou extensão.
Em matemática, conjuntos infinitos reais foram primeiramente considerados por Georg Cantor, por volta de 1873. Indiferennte a resistência que encontrou, Cantor foi além e observou que conjuntos infinitos podem ter até mesmo tamanhos diferentes, distinguindo entre conjuntos infinitos contáveis e incontáveis, e desenvolveu sua teoria de números cardinais baseado nesta observação. Sua visão prevaleceu e a Matemática moderna aceita o infinito real.
Um questão intrigante é se o infinito real existe no nosso universo físico: Existem infinitas estrelas? O universo tem volume infinito? O espaço cresce para sempre? Esta é uma importante questão em aberto de cosmologia. Observe que a questão de ser infinito é logicamente separada da de não ter fronteiras. A superfície bi-dimensional da Terra, por exemplo, é finita, embora não tenha fronteiras.
# Matemática elementar/Logaritmos/Exercícios

    Ver módulo principal: Matemática elementar/Logaritmos
| 1. $\log _{2}32=$ | 6. $\log _{3}729=$ | 11. $\log _{\frac {1}{2}}0,25=$ | 16. $\log _{8}512=$ |
| 2. $\log _{3}27=$ | 7. $\log _{10}0,1=$ | 12. $\log _{\frac {1}{2}}2=$ | 17. $\log _{8}1/512=$ |
| 3. $\log _{5}625=$ | 8. $\log _{10}0,01=$ | 13. $\log _{\frac {1}{2}}4=$ | 18. $\log _{2}512=$ |
| 4. $\log _{5}1=$ | 9. $\log _{2}0,5=$ | 14. $\log _{\frac {1}{4}}0,5=$ | 19. $\log _{\frac {1}{2}}512=$ |
| 5. $\log _{7}49=$ | 10. $\log _{2}1024=$ | 15. $\log _{\frac {4}{5}}5/4=$ | 20. $\log _{\frac {1}{2}}1024=$ |
| 1. $2\log 3=$ | 5. $2\log 8-\log 32=$ | 9. $\log _{2}2^{50}=$ |
| 2. $\log 12-2\log 2=$ | 6. $9\log 2-5\log 2=$ | 10. $\log _{3}9^{40}=$ |
| 3. $\log 5+\log 2=$ | 7. $2(\log 3+\log 2)=$ | 11. $\log _{9}4+\log _{3}2=$ |
| 4. $-\log 3-\log 3=$ | 8. ${\frac {1}{2}}(\log 8-\log 2)=$ | 12. $\log _{16}25-\log _{4}0,2=$ |
| 1. $2\log _{2}x=-2$ | 5. $\log _{x}x^{a}=-a$ | 9. $\log _{a}\left({\frac {a}{1+a}}-1\right)=-x$ |
| 2. $\log _{x}(3x-2)=2$ | 6. $\log _{a}x^{2}=2$ | 10. $\log _{a^{2}}a^{x-1}=4,a\neq 1$ |
| 3. ${\frac {1}{x}}\log 100={\frac {1}{2}}$ | 7. $\log _{2a}1=x,a\neq 0,5$ | 11. $5\log _{a}a=x+1,a\neq 1$ |
| 4. $2\log _{x}8=3$ | 8. $\log _{2}(ax-a)-\log _{2}a=4$ | 12. $a^{3\log _{a}2}=x,a\neq 1$ |
| 1. $2y=\log x$ | 3. $y=\log(10x)$ | 5. $y=\log {\sqrt {x}}$ | 7. $y=2{\mbox{colog}}\,x$ |
| 2. $y=1+\log x^{3}$ | 4. $y=\log \left({\frac {1}{x}}\right)$ | 6. $y^{2}=(\log x)^{3}$ | 8. $y={\mbox{colog}}\,x+\log x$ |
| 1. $x=\log 25$ | 3. $x{\frac {\log _{2}5}{\log _{2}10}}=3,5$ | 5. $x=\log _{100}0,2$ | 7. $x={\frac {({\mbox{colog}}\,5)^{2}}{\log 5}}$ |
| 2. $\log 5x=1,7$ | 4. $2(\log x-\log 4)=1,4$ | 6. $\log 2=x$ | 8. $({\mbox{colog}}\,5)^{x}=({\mbox{colog}}\,2)^{x}-0,4$ |
# Matemática elementar/Geometria plana/Áreas e volumes
### Área do paralelogramo

Tipos de paralelogramos
$A=a\cdot h$

#### Área do retângulo

A área do retângulo é o produto de seu lado por sua altura. A área de quadrado é um caso particular da área do retângulo, assim como a figura quadrado é um caso particular da figura retângulo.
$A=b\cdot h$

#### Área do losango

$A={\frac {D\cdot d}{2}}$

#### Área do quadrado

    Seja $A_{q}\,\!$ a área do quadrado e $l\,\!$ seu lado:
$A_{q}=l^{2}\,\!$

### Área do triângulo

A área do triângulo é o produto de sua base por sua altura dividido por dois.
Assim teremos de um modo geral =
$A={\frac {b\cdot h}{2}}$
b = medida da base AB
h= medida da altura relativa do lado AB
Obs: o Teorema de Heron permite calcular a área de um triângulo qualquer a partir das dimensões dos seus lados

### Área do trapézio

A área do trapézio é o produto de sua altura pela média aritmética das bases (denotadas por B e b).
$A={\frac {B+b}{2}}\cdot h$

### Área do círculo

$A=\pi \cdot r^{2}$
# Matemática elementar/Médias

Em Matemática, existem quatro tipos de médias.

## Média Aritmética simples

É a razão entre a soma de todos os elementos de um conjunto e a quantidade de elementos deste conjunto.

      ### Matematicamente

       a + b + ... + z (n termos)
       Média aritmética simples → ${\frac {a+b+...+z}{n}}$

### Exemplo

A = {3,5,9,12} $M_{a}={\frac {3+5+9+12}{4}}$ = ${\frac {29}{4}}=7,25$

## Média Aritmética Ponderada

É a razão do somatório dos produtos entre elementos e seu respectivo peso e, a soma dos pesos.

### Exemplo

* João tirou 8 em Matemática e 9 em Português. Ele fará uma média Ponderada dando peso 3 à Matemática e peso 1 à Português. Qual será a média?
    P$_M$ → M=8 → P$_M$=3
# Introdução à programação/Prefácio

Com a evolução da tecnologia, cada dia mais pessoas têm acesso a um computador, seja em casa, na escola, no trabalho. E para alguns mais curiosos, surgem perguntas como: "como eles fazem isto?", "será que posso fazer ou aprender?", "como será um computador por dentro?".
Muitos já se aventuraram na procura de respostas das suas auto-questões, porém nem sempre é fácil achar o que se pretende. Aqui o leitor tem uma oportunidade de perceber como funciona tudo isto.
O objetivo deste livro é servir como base para qualquer pessoa que queira mergulhar, ou apenas conhecer, o maravilhoso mundo da programação, mesmo que saiba pouco ou nada sobre o assunto.
Este livro também pode servir como uma forma de enriquecimento cultural sobre temas já esquecidos pelo tempo, pois ele aborda assuntos desde a arquitetura de processadores e computadores, cálculos computacionais, lógica e matemática até uma breve história sobre as linguagens de programação e programação básica de algoritmos.
Este guia também se destina aos que querem participar na atividade comunitária de produção de software livre, mas não receberam formação técnica do gênero, motivos para o fazer é que não faltam.
# Introdução à programação/História da Programação

A mais antiga programadora de computadores de que se tem notícia é Ada Lovelace, que descreveu o funcionamento da máquina analítica de Charles Babbage, que nunca ficou pronta. O primeiro programador que completou todos os passos para a computação, incluindo a compilação e o teste, foi Wallace Eckert. Ele usou linguagem matemática para resolver problemas astronômicos na década de 1930. Alan Turing elaborou e programou um computador destinado a quebrar o código alemão ENIGMA na Segunda Guerra Mundial.
# Introdução à programação/Lógica
### Lógica binária

A lógica binária, ou bitwise operation é a base de todo o cálculo computacional. Na verdade, são estas operações mais básicas que constituem todo o poderio dos computadores. Qualquer operação, por mais complexa que pareça, é traduzida internamente pelo processador para estas operações.

## Operações
### NOT

O operador unário NOT, ou negação binária resulta no complemento do operando, i.e., será um bit '1' se o operando for '0', e será '0' caso contrário, conforme podemos confirmar pela tabela verdade:
| A | ¬A |
| 1 | 0 |
| 0 | 1 |
Implementação:

### AND

O operador binário AND, ou conjunção binária devolve um bit 1 sempre que ambos operandos sejam '1', conforme podemos confirmar pela tabela verdade:
| A | B | A ∧ B |
| 1 | 1 | 1 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 0 | 0 |
Implementação:

### OR

O operador binário OR, ou disjunção binária devolve um bit 1 sempre que pelo menos um dos operandos seja '1', conforme podemos confirmar pela tabela verdade:
| A | B | A ∨ B |
| 1 | 1 | 1 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 0 | 0 | 0 |
Implementação:

### XOR

O operador binário XOR, ou disjunção binária exclusiva devolve um bit 1 sempre que apenas um dos operandos seja '1', conforme podemos confirmar pela tabela verdade:
| A | B | ∨ A ∨ B |
| 1 | 1 | 0 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 0 | 0 | 0 |
Implementação:

### Shift

O operador unário de bit shifting, ou deslocamento bit-a-bit, equivale à multiplicação ou divisão por 2 do operando que, ao contrário dos casos anteriores, é um grupo de bits, e consiste no deslocamento para a esquerda ou para a direita do grupo de bits. O bit inserido é sempre 0, e o bit eliminado pode ser opcionalmente utilizado (flag CF dos registradores do processador).

## Ver também

Lógica
# Introdução à programação/Exercícios
### Exercício 1
#### Crie algoritmos

1. Crie um algoritmo próximo ao de máquina para a seguinte frase:
2. Decifre para o português o seguinte algoritmo:

### Exercício 2
#### Crie algoritmos

1. Crie um algoritmo para esta situação da empresa "Pacheco-Car":
2. Decifre o algoritmo apresentado abaixo:
Soluções dos exercícios

### Exercícios de introdução

1) Crie um programa que mostre na tela a frase "Olá Mundo!".
2) Crie um programa que pede para o usuário digitar seu nome e, em seguida, escreve o nome na tela.
3) Crie um programa que lê nome e idade e mostra na tela.
4) Crie um programa que lê nome, idade e altura e mostra na tela as informações.
5) Crie um programa que lê o nome e duas notas de um aluno, e em seguida calcula a sua média.
Algoritmo:
* Ler o nome;
* Ler as duas notas;
* Calcular a media:
** Somar as duas notas;
** Dividir a soma por dois;
* Exibir a media;
6) Três massas m1, m2, m3 estão separadas por distâncias r12, r13 e r23, como mostra a figura:
Se G é a constante de gravitação universal, a força de coesão mantendo a massa das partículas juntas é dada pela formula:
$F=G\left({\frac {M_{1}M_{2}}{R_{12}^{2}}}+{\frac {M_{1}M_{3}}{R_{13}^{2}}}+{\frac {M_{2}M_{3}}{R_{23}^{2}}}\right)$
Crie um programa para ler os valores de m1, m2, m3, r12, r13, r23; calcular e imprimir a força de coesão. Para massa em quilogramas e distância em metros, G = 6,67 × 10$^{−11}$ N·m$^2$/kg$^2$. Assumir que todos os valores são reais.
7) Dados os comprimentos dos lados de um triângulo (lado1 e lado2), crie um programa para calcular a hipotenusa.
8) Crie um programa que lê a duração de uma tarefa em segundos e transforma para hora, minuto e segundo.

### Exercícios de decisão

1) Crie um programa que lê dois números inteiros distintos e diz qual desses dois números é o maior.
2) Crie um programa que lê três números distintos e mostra o maior dos 3.
3) Crie um programa que lê os coeficientes de uma equação do 2º grau e calcula suas raízes. O programa deve mostrar, quando possível, o valor das raízes calculadas e a classificação das raízes (imaginárias, única, distintas)
4) Dados 3 valores x, y e z, verificar se eles podem ser os comprimentos dos lados de um triângulo e, se forem, verificar se é um triângulo equilátero, isósceles ou escaleno.
5) Crie um programa para verificar se o número é par.

### Exercícios de repetição

1) Crie um programa que lê dois números inteiros e faz a multiplicação sem utilizar o operador de multiplicação *.
2) Crie um programa que lê dois números inteiros e faz a multiplicação sem utilizar o operador *.
# Introdução à programação/Expressões em pseudo-código
## Introdução

Aqui serão descritas as funções e comandos usados no pseudocódigo.

## Comandos iniciais

Esses comandos sempre estarão no pseudocódigo para fins de organização e não possuem nenhuma execução atribuída, ficam na seguinte ordem estrutural:

### Comando algoritmo

Só serve para indicar o nome do algoritmo, onde o nome deve vir entre aspas por ser uma variável literal, é obrigatório. Ex.:

### Comando var

Indica onde as variáveis serão declaradas, é opcional, pois alguns algoritmos apenas imprimem instruções. Ex.:

### Comando inicio

Indica onde começarão as instruções, é obrigatório. Ex.:

### Comando fimalgoritmo

Serve apenas para indicar que o algoritmo está terminado, é obrigatório.
# Introdução à programação/Passagem para a linguagem de programação escolhida

O objetivo deste livro e dos cursos de Ciência da Computação é ensinar os conceitos mais genéricos possíveis em todos os segmentos, e também em Programação. Isto significa que nenhuma linguagem será privilegiada em prejuízo de outra, já que entendemos que cada linguagem é apropriada para determinados tipos de aplicações e problemas. Nesta lição veremos no entanto algumas das principais linguagens, e como aplicar o conceito de Lógica de Programação a estas linguagens.

## Referências

* ↑ Veja os cursos do Departamento de Computação e Informática Básica, na Wikiversidade
# Russo/Verbos

Os Verbos.
Em russo, assim como em qualquer língua, existem os verbos, que indicam ações realizadas pelo sujeito, e que podem ser seguidas de complementos, em russo, os tempos verbais são bem simples, diferentemente do português, que possui muitos tempos verbais. Em russo, existem duas conjugações, cujas terminações da primeira são -АТЬ ou -ЯТЬ e a terminação da segunda é -ИТЬ
Aqui estão exemplos das duas conjugações:
| Iª Conjugação | IIª Conjugação |
| Читать | Говорить |
| Упражнять | - |
Repare bem nas terminações verbais.
As conjugações verbais se fazem a partir das pessoas, ou seja, de quem realiza a ação, pois diferentemente do inglês, por exemplo, em russo, as conjugações variam dependendo da pessoa, assim como em português. Eis a conjugação do verbo de Iª Conjugação - Читать.
As variantes estão em negrito
| Pessoa | Conjugação |
| Я | Читаю |
| Ты | Читаешь |
| Он, Она, Оно | Читает |
| Мы | Читаем |
| Вы | Читаете |
| Они | Читают |
Para se conjugar um verbo de Iª conjugação, suprime-se a terminação verbal (-ТЬ) e aplica-se as variantes de acordo com a pessoa.
Agora a conjugação verbal da IIª conjugação.
| Pessoa | Conjugação |
| Я | Говорю |
| Ты | Говоришь |
| Он, Она, Оно | Говорит |
| Мы | Говорим |
| Вы | Говорите |
| Они | Говорят |
Para se conjugar um verbo de IIª conjugação, suprime-se a terminação verbal (-ИТЬ) e aplica-se as variantes de acordo com a pessoa.
As diferenças entre conjugações são simples, na Iª, suprime-se somente a última parte da terminação (-ТЬ), e adiciona-se variantes. Na IIª conjugação, suprime-se, além da última parte da terminação, a letra que a antecede (-ИТЬ). Isto deve-se a um fenômeno vocal, pois as terminações da Iª conjugação (-ATЬ), podem facilmente receber os sons das variantes, como em Чита-ю, Чита-ешь, Чита-ете ou Чита-ют. Por outro lado, as terminações da IIª conjugação não podem receber sons das variantes, que são como -И, como por exemplo, em Говори-ю Говори-ете Говори-ешь e Говори-ять, perceba que tais terminações não soam bem, devido ao repetitivo número de -И, portanto, deve-se suprimí-lo da terminação verbal, também (Говор-ить). Dessa forma, os verbos ficam conjugados em sua forma correta: Говорю, Говорите, Говоришь e Говорят

### TABELA DE COMPARAÇÃO ENTRE AS CONJUGAÇÕES

| Verbos | Читать | Говорить |
| Я | Чита-ю | Говор-ю |
| Ты | Чита-ешь | Говор-ишь |
| Он, Она, Оно | Чита-ет | Говор-ит |
| Мы | Чита-ем | Говор-им |
| Вы | Чита-ете | Говор-ите |
| Они | Чита-ют | Говор-ят |

## VERBOS REFLEXIVOS E FORMAÇÃO

Em russo, assim como português, existe os casos reflexivos, representados pela partícula -se, quando quer se expressar que o sujeito pratica uma ação que reflete nele próprio, em russo, basta adicionar -СЯ na terminação do verbo, conjugado ou no infinitivo, para obter-se um verbo reflexivo, se a terminação verbal for vogal, como é no caso da primeira pessoa (-Ю), deve-se adicionar -СЬ.
Упражнять(ся) Exercitar(-se)
Упражняю(сь) Exercito(-me)
Упражняем(ся) Exercitamo(-nos)
Упражняете(сь) Exercitam(-se)
# Rússia
## Índice

* Prefácio
* Introdução
* História
* Geografia
* Demografia
* Política
* Subdivisões
* Economia
* Cultura
* Bibliografia
# Livro de receitas/Bacalhau com capote
## Bacalhau com capote
### Ingredientes e preparo:

* Coze-se uma porção de bacalhau e lasca-se em lascas miudinhas. Cozem-se batatas e cortam-se aos bocadinhos.
* Põe-se uma frigideira ao lume com azeite; deita-se-lhe l dente de alho inteiro e, em começando a alourar, tira-se para fora.
* Põem-se então no azeite 2 cebolas grandes, cortadas em rodelas muito fininhas, e quando a cebola alourar juntam-se-lhe o bacalhau e as batatas, pimenta, salsa muito picadinha e sal, se precisar.
* Noutra frigideira grande deita-se um pouco de manteiga.
* Batem-se 6 ovos, como se fossem para omeleta, deitam-se na manteiga e deixam-se ficar estendidos por toda a frigideira.
* Faz-se do bacalhau com as batatas um rolo, que se põe dentro destes ovos e se embrulha bem, de forma que os ovos tapem o bacalhau.
* Tira-se para uma travessa e deita-se-lhe por cima molho branco com salsa muito picadinha ou molho de tomate.
# Livro de receitas/Bacalhau da prima Isabel
## Bacalhau da prima Isabel
### Ingredientes e preparo:

* Bacalhau muito bem demolhado e desfeito em fios (em cru).
* Batatas cortadas às rodelas finas, cebolas cortadas também às rodelas finas.
* Alho picadinho e um pouco de pimenta.
* Tudo isto se põe numa frigideira grande com uma boa porção de azeite.
* Vai ao lume brando, e enquanto cozinha tem de continuamente raspar-se o fundo da frigideira com uma faca para não deixar pegar.
* Quando tudo estiver cozido, está pronto.
# Livro de receitas/Bacalhau coberto
## Bacalhau coberto
### Ingredientes e preparo:

* Põe-se de molho uma parte grossa do bacalhau e, em estando demolhado, coze-se.
* Põe-se num prato de ir ao forno o bacalhau em grandes lascas e cobre-se com muito bom azeite.
* Faz-se uma porção de puré de batata, cobrindo-se bem o bacalhau, que vai ao forno até alourar.
# Livro de receitas/Bacalhau de Caminha
## Bacalhau de Caminha
### Ingredientes e preparo:

* Faz-se um refogado com cebolas partidas às rodelas, tomate e salsa; quando estiver louro, deita-se-lhe a água precisa para cozer uma porção de bacalhau.
* Depois de cozido, tira-se para fora; têm-se algumas batatas cozidas e passadas pela máquina de espremer batata, que se juntam ao bacalhau com l boa colher de manteiga, outra de queijo ralado, sumo de limão e pimenta.
* Amassa-se tudo muito bem. Batem-se 4 ovos com l xícara de leite e juntam-se ao bacalhau, que vai ao forno a cozer, num prato de ir ao forno, bem untado de manteiga, pintando-se o bacalhau por cima com ovo.