Sie sind auf Seite 1von 18

Introdução a Lógica de Programação e Algoritmos

Referências

Tópicos de Ambientes WEB


Introdução a Algoritmos

Prof. José Tenório César Costa

Instituto de Ciências Exatas e Tecnologia


Faculdade Alagoana de Administração

Fevereiro de 2009

1 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Conteúdo

1 Introdução a Lógica de Programação e Algoritmos


Organização Básica de um Computador
Linguagem de Máquina
Algoritmos
Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

2 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Organização Básica de um Computador

Unidade de Entrada Usuários fornecem dados e informações ao PC


Unidade de Saı́da Os resultados do processamento são fornecidos
pelo PC ao usuário
Unidade Central de Processamento (CPU) Responsável por todo o
processamento do PC
Memória Responsável pelo armazenamento temporário dos
dados e informações usados no processamento

3 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Linguagens de Comunicação

Há a necessidade de que as unidades de um PC se


comuniquem.
É necessário estabelecer uma linguagem (ex.: as linguagens
dos seres humanos).
Toda linguagem requer a existência de sı́mbolos básicos (ex.:
letras e fonemas).

4 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Comunicação entre as Unidades

Os cientistas que conceberam os computadores atuais


estabeleceram dois sı́mbolos básicos para a linguagem
(fenômenos fı́sicos).
Por que apenas dois sı́mbolos?
É muito fácil obter através de fenômenos fı́sicos dois estados
distintos e não confundı́veis.
Linguagem de máquina possui apenas dois sı́mbolos (bits -
0, 1).
Bit é uma acrossemia de Binary Digit.

5 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Comunicação entre as Unidades

Palavras = seqüência de bits (dı́gitos).


Todo recurso que utiliza essa linguagem é denominado digital
(ex.: telefonia digital, computador digital etc.).

6 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Código ASCII

Tradução (linguagem escrita −− > linguagem de máquina).


É necessário estabelecer uma codificação em seqüência de bits
para cada um dos caracteres.
Código ASCII (American Standard Code for Information
Interchange).
Carater = 8 bits. Ex.:
A = 01000001
a = 01100001
Pode associar a cada ASCII o inteiro correspondente.

7 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Noções Preliminares

É um conceito fundamental para a Ciência da Computação.


Naturalmente, alguns tipos de algoritmos estão presentes no
nosso cotidiano (ex.: receitas, manuais etc.).

8 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Definições

Segundo Evaristo (2001)


Um algoritmo é uma seqüência de instruções cuja execução resulta
na realização de uma determinada tarefa.

Segundo Cormen et al. (2002)


Um algoritmo é um procedimento computacional bem definido que
toma algum valor ou conjunto de valores como entradas e produz
algum valor ou conjunto de valores como saı́da.

9 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Observações

É interessante que um algoritmo satisfaça as seguintes condições:


As instruções devem ser claras e não ambı́guas;
Não pode haver dubiedade em relação à próxima ação a ser
realizada após a execução de um determinada instrução;
Todas as instruções devem ser executadas num tempo finito.

10 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Entrada e saı́da de um algoritmo

Entrada −− > Processamento −− > Saı́da

11 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Noções Preliminares

É uma ciência que estuda os princı́pios e métodos usados para


verificar a corretude dos raciocı́nios.
Dar suporte à solução de problemas.

12 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Lógica de Programação

Ter condições de desenvolver algoritmos para resolver


problemas.
Podemos ver a Lógica de Programação como sendo o
raciocı́nio empregado no desenvolvimento de algoritmos.

13 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Linguagens de Alto Nı́vel

Nos primórdios da computação, os algoritmos para serem


executados em um PC tinha que ser escritos em linguagem de
máquina (programa objeto / trabalho muito oneroso).
Programas tradutores −− > linguagem de alto nı́vel (ex.:
Delphi, Java, C etc.).
Programas Tradutores:
Interpretadores;
Compiladores (programa objeto).

14 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Sintaxe

São regras preestabelecidas necessárias à compilação ou


interpretação de um programa escrito em linguagem de alto nı́vel.

15 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Semântica

É a ação resultante da execução de uma instrução.

16 / 18
Organização Básica de um Computador
Linguagem de Máquina
Introdução a Lógica de Programação e Algoritmos Algoritmos
Referências Lógica
Linguagens de Alto Nı́vel
Sintaxe e Semântica de uma Instrução

Observações

Erros de lógica (semântica) não implicam erros de sintaxe.


Para programar em uma dada linguagem é necessário:
conhecer a sintaxe e a semântica das instruções;
ter um desenvolvimento acurado em lógica de programação.
Para um dado problema pode haver diversas soluções.
É necessário escolher o “melhor” programa.

17 / 18
Introdução a Lógica de Programação e Algoritmos
Referências

Referências I

Cormen, T. H., Leiserson, C. E., Rivest, R. L. & Stein, C. (2002),


Algoritmos: Teoria e Prática, 2 ed., Campus. Tradução da
segunda edição de Introduction to algorithms.
Evaristo, J. (2001), Aprendendo a Programar: Programando em
Linguagem C, 1 ed., Book Express.

18 / 18

Das könnte Ihnen auch gefallen