[C] "O que todo computador pode realmente fazer é seguir ordens muito simples, as quais foram cuidadosamente consideradas e refletidas por um programador e escritas em uma linguagem de programação, como o Fortran."
1.2. Computadores
[C] Há somente 4 tipos de instruções que um computador pode realizar:
[C] Esquema de um computador:
1.3. Algoritmos
[D] Um "algoritmo" é um conjunto de instruções
passo-a-passo para resolver um problema.
[D] Um algoritmo correto deve possuir 3 qualidades:
1.4. Diagramas de Fluxo
[D] "Diagramas de Fluxo" fornecem uma representação gráfica
de um algoritmo.
[D] Principais símbolos de diagramas de fluxo:
1.5. Linguagens de Programação
[D] Um "programa de computador" é um algoritmo escrito numa linguagem
de programação, como o Fortran.
[C] Existem 3 níveis de linguagens de programação:
1.5.1 Linguagem de Máquina
[D] Cada instrução é constituída de 2 partes:
código de operação | operando(s) |
[D] O "código de operação"
instrui o computador para realizar uma função específica:
adição, subtração, leitura, escrita, comparação,
movimento de dados, etc...
[D] O(s) operando(s) especifica(m) o endereço
do dado a ser operado, endereço do dispositivo de entrada/saída,
etc...
[E] Exemplo do trecho principal de um programa
em linguagem de máquina para calcular
5A+16B
R = ---------- -
D
C
onde os valores de A, B, C, D e R estão
armazenados nos endereços 1000, 1004, 1012, 1020 e 2050 da memória.
|
|
|
|
|
carrega A no acumulador |
|
|
multiplica o acumulador por 5 |
|
|
armazena conteúdo acumulado no endereço 3000 |
|
|
carrega B no acumulador |
|
|
multiplica acumulador por 16 |
|
|
adiciona acumulador com conteúdo de 3000 |
|
|
divide acumulador pelo conteúdo de 1012 |
|
|
subtrai do acumulador o conteúdo de 1020 |
|
|
armazena acumulador em 2050 |
[C] Na realidade, um programa real em linguagem
de máquina, para ser compreendido por ela, geralmente é escrito
no sistema binário.
1.5.2. Linguagem Simbólica Montadora
[C] As linguagens simbólicas procuram
facilitar a tarefa do programador, criando mnemônicos para as operações.
[C] Os programas montadores traduzem um programa fonte (ou seja, em linguagem simbólica) em um programa objeto (ou seja, em linguagem de máquina).
[E] O trecho de programa visto acima, ficaria
em uma linguagem simbólica parecido com:
|
|
Comentário |
|
|
carrega A |
|
|
multiplica por 5 |
|
|
armazena o resultado em TMP |
|
|
carrega B |
|
|
multiplica por 16 |
|
|
adiciona o resultado com o conteúdo de TMP |
|
|
divide o resultado por C |
|
|
subtrai o resultado de D |
|
|
armazena o resultado em R |
1.5.3. Linguagens de Compiladores
[C] Uma linguagem de compilador (ou de
alto nível) tem por objetivo permitir ao programador se utilizar
de uma linguagem muito próxima àquela utilizada no ambiente
no qual se coloca a tarefa a ser realizada.
[C] Os programas compiladores traduzem
um programa fonte, escritos em uma linguagem de alto nível, em um
programa objeto em linguagem de máquina.
[E] O trecho de programa visto acima, ficaria na linguagem de alto nível Fortran idêntico a:
R = (5.0*A + 16.0*B) / C - D
[C] Etapas do processamento de um programa
em linguagem de alto nível:
1.6.Passos no Desenvolvimento
de Programas