Vous êtes sur la page 1sur 9

Algoritmos e Programao

Aulas 1
Principais Conceitos
Profa. Noiza Waltrick Trindade
(noiza@uniderp.edu.br)

Conceituao
Hardware: o conjunto de dispositivos fsicos
do computador, o equipamento.
Software: So os programas de
computadores.
Firmware: Conhecido como software
embarcado, trata-se de um software que
controla o hardware diretamente.

Conceituao
Linguagem de Mquina: a linguagem que o
computador entende, cujo "alfabeto"
composto apenas de "0's" e "1's" (linguagem
binria).
Linguagem de Programao: uma linguagem
formal, utilizando termos que se aproximam
da linguagem humana, que pode ser traduzida
por programas especiais em linguagem de
mquina.

Linguagens
As linguagens de programao so
classificadas de acordo com a similaridade que
esta linguagem tem com a linguagem de
mquina.
Alto nvel:

Baixo nvel:

Mais parecido
com linguagem
de programao.

Mais parecido
com linguagem de
mquina.

Linguagem de Programao
A implementao de programas na linguagem
de baixo nvel muito complexa, ento para
aumentar a produtividade dos programadores
foram criadas as linguagens de programao
de alto nvel.
So linguagens que independem do
processador, apresentam um cdigo mais
elaborado, contemplam operaes mais
complexas e mais prximas da lgica
humana.

Tradutor
Para serem compreendidas por um
processador as linguagens fazem o uso de um
tradutor para a linguagem de mquina,
chamado de compilador ou de um
interpretador.

Compilador
O compilador a partir do cdigo em linguagem
de alto nvel, chamado de cdigo fonte, gera
um arquivo com o cdigo em linguagem de
mquina, conhecido como cdigo-objeto.
O cdigo-objeto fica em disco e quando for o
momento da sua execuo ele carregado
para a memria.
Cdigo fonte em
linguagem de
alto nvel

Compilador

Cdigo em
linguagem de
mquina.

Compilador
Caractersticas:
Traduz cada instruo de uma nica vez,
independente de quantas vezes o programa
executado.
Tempo de execuo mais rpido.

Interpretador
O interpretador, diferente do compilador, no gera
um cdigo-objeto, as instrues so traduzidas para
a linguagem de mquina em tempo de execuo.
Caractersticas:
Maior tempo de execuo.
No gera instrues que no sero utilizadas.
Cdigo fonte em
linguagem de alto
nvel

Interpretador

Memria

Traduo de cada instruo


na fase de execuo do
programa

Introduo
Para que exista comunicao necessrio
estabelecer padres e regras que podem ser:
falados, escritos, desenhados e/ou representados
em smbolos.

Introduo
Regras de comunicao

Introduo
Linguagem de Programao
A comunicao com o computador tambm feita
atravs de um conjunto de regras, originando a:

Linguagem de Programao!
Exemplos: Pascal, C, C++, Delphi, Java, etc.

Introduo
Conceituao
Programas: So sequncias finitas de ordens que
tm o objetivo de resolver um problema, tambm
podemos dizer que um conjunto de instrues
ordenadas com um determinado fim.
Aplicao: Programa de computador que tem por
objetivo ajudar o seu usurio a desempenhar uma
tarefa especfica.

Introduo
Lgica de Programao
Para se programar em uma linguagem
necessrio possuir Lgica de Programao;
Lgica de Programao consiste em compreender
claramente os diversos passos e funes que so
realizados na execuo de um programa.

Introduo
Definio de Algoritmo
Algoritmo uma sequncia de instrues
organizadas de forma lgica e estruturada,
expressas em linguagem natural (Portugus
estruturado), que tem por finalidade resolver um
problema ou descrever uma tarefa.

Introduo
Exemplo 1 - Escovar os dentes pela manh

Introduo
Exemplo 2 Trocar uma lmpada queimada

Introduo
Exemplo 3 Resolver Equao do 2 Grau

Afinal, o que um algoritmo?


Sequncia de instrues finitas e ordenadas
de forma lgica para a resoluo de uma
determinada tarefa ou problema;
No necessariamente envolve aspectos
computacionais. Ex.: Uma receita de bolo,
trocar um pneu de carro, trocar uma lmpada,
manual de instrues;

Exemplo

Sequncia para fritar um ovo:


1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Retirar o ovo da geladeira


Colocar a frigideira no fogo
Colocar leo
Ligar a boca do fogo desejada
Quebrar o ovo separando a casca
Colocar o contedo do ovo na frigideira
Colocar sal
Esperar um minuto
Retirar o ovo da frigideira
Apagar o fogo

Exemplo
Tal sequncia um algoritmo? Vejamos...
Possui uma sequncia de instrues finitas e
ordenadas?
R.: SIM. Instrues de 1 a 10.

O objetivo da sequncia foi atingido?


R.: SIM. O ovo foi frito.

Logo, um algoritmo!

O que podemos concluir sobre


algoritmos?

Algoritmo uma espcie de passo a passo;


Algoritmos realizam uma sada (ex.: Um ovo frito) a
partir de uma determinada entrada (um ovo) atravs
de uma sequncia de passos;
Os passos devem que ser executados um aps o
outro;
Um algoritmo est correto quando sua sequncia de
instrues resulta em uma sada esperada.
Podem existir um ou mais algoritmos para atingir um
resultado, desde que o resultado (a sada) seja o
mesmo!

Observao

O algoritmo no a soluo do problema, mas


o caminho que leva a mesma!

Algoritmo e Programao
O algoritmo, do ponto de vista computacional, tem um papel
fundamental por ser o elo de ligao entre dois mundos (real
e computacional).
A atividade de programao comea com a construo do
algoritmo.
C, Java, C++, Delphi,
Python, ...

Mundo real

Mquina

Programao de um Sistema
Computacional

A programao de um sistema computacional


pode ser resumida em 3 passos bsicos
Entrada

Processamento

Sada

Dispositivo
de Entrada

UCP

Dispositivo
de Sada

Memria

Programao de um Sistema
Computacional
Exemplo 1 Exibir a mdia de dois nmeros
Entrada
Dispositivo
de Entrada

Processamento

Sada

UCP

Dispositivo
de Sada

Memria

6,8

(6 + 8) / 2

Programao de um Sistema
Computacional

Exemplo 2 Exibir se o aluno est aprovado


ou reprovado
Entrada

Processamento

Sada

Dispositivo
de Entrada

UCP

Dispositivo
de Sada

Ana, 5, 3

Se (5+3)/2>=7
aprovado
Seno
reprovado

Memria
Ana, reprovado