Professional Documents
Culture Documents
Formao
Engenharia Ambiental UNESP
Iniciao cientfica (FAPESP)
Grupo de pesquisa Ncleo de Automao e
USP
Doutorado em Tecnologia Nuclear
IPEN/USP
Trabalhos relevantes
Composio 234 (RGB) das tribos
indgenas Renascer e Ribeiro
Silveira nos anos de 2004
Ementa
Conceitos fundamentais de programao:
Algoritmos;
Linguagem;
Compilador;
Linguagem de programao;
Estrutura de um programa;
Tipos de dados;
Operadores;
Programao estruturada;
Estruturas de condies;
Laos de repeties;
Vetores e matrizes;
Strings e funes de manipulao;
Registros
6
Conceitos fundamentais da
programao
O que um Algoritmo?
Conceitos fundamentais da
programao
Caractersticas:
Ao: evento que ocorre num perodo de
tempo finito;
Estado: propriedades de um objeto numa
dada situao;
Processo: sequncia temporal de aes;
Padro de comportamento: seguido pela
ocorrncia de um evento.
Conceitos fundamentais da
programao
Ex: Algoritmo para fazer pastel
Prepare a massa do pastel na cozinha;
Traga a panela do armrio;
Coloque leo na panela;
Se a roupa e clara
ento coloque o avental;
Enquanto numero de pastis insuficiente para o
numero de pessoas faa
prepare a massa;
Esquente o leo da panela;
Frite os pastis na panela;
Escorra o excesso de leo dos pastis;
Coloque os pastis fritos numa vasilha com papel
absorvente.
9
Conceitos fundamentais da
programao
Informaes importantes!!
Tempo verbal no imperativo (traga, coloque,
frite);
Sequencia de aes delimitadas por um ponto e
virgula;
Em nosso exemplo, o avental no usado em todos
os momentos: h uma condio para que ele seja
usado;
No exemplo, o nmero de pastis varivel; a ao
de preparar pastis repete-se at que a condio
de parada seja satisfeita (alimentar um
determinado numero de pessoas);
A ordem das aes importante.
10
Conceitos fundamentais da
programao
Podemos concluir que....
Um algoritmo a descrio de um
padro de comportamento, expresso em
termos de um repertrio bem definido e
finito de aes primitivas que podem
ser executadas.
Conceitos fundamentais da
programao
Exerccio 1
Conceitos fundamentais da
programao
Conceitos fundamentais da
programao
Programador (humano)
Linguagem de alto nvel
Compilador
Linguagem de maquina
14
Conceitos fundamentais da
programao
O que o compilador?
O compilador um programa que traduz uma
Conceitos fundamentais da
programao
Importante!
Conceitos fundamentais da
programao
Como programar?
17
Algoritmo
Editor
Cdigo
fonte
Compilad
or
Cdigo
objeto
Arquivos
de
biblioteca
Linker
Cdigo
executve
l
Conceitos fundamentais da
programao
Algoritmo: estrutura do programa; instrues que descrevem a logica do programa;
Editor de texto: permite que o cdigo-fonte do programa seja editado em um
18
Conceitos fundamentais da
programao
Etapas da Programao de Computadores
19
Expresso de Algoritmos
Atravs de Diagramas
Diagrama de Chapin
Fonte: http://abyte2bite.com/formas-de-representao-de-algoritmos/
20
Expresso de Algoritmos
Atravs de Fluxogramas
21
Fluxograma
Fonte: http://abyte2bite.com/formas-de-representao-de-algoritmos/
Expresso de Algoritmos
Aspectos negativos:
Memorizar todas as formas geomtricas e conhecer as
regras de inter-relacionamento entre elas;
Perde um tempo considervel para fazer e refazer
desenhos, tendo que possuir diversas rguas com os
smbolos dos diagramas;
Desenhos comeam a ocupar muitas pginas, tornando
impraticvel a visualizao de toda a soluo;
Memorizao de regras de expresso desvia a
ateno do programador, que no tem apenas de se
concentrar na lgica do problema, como seria desejvel,
mas tem as preocupaes adicionais de elaborar
desenhos e consultar regras e regras (Oliveira, 2012).
22
Expresso de Algoritmos
Atravs de Linguagem de Programao
23
Expresso de Algoritmos
Atravs de Pseudolinguagem
Linguagemdeprogramaosimplificada,
usadaparaescreveralgoritmos,semsepreo
cuparcom
todososdetalhesdeumalinguagemdeprog
ramaoreal...
Pseudo
linguage
m
se...
ento...
seno...
24
Linguage
m
de
progra
mao
Java,C,
Pascal,etc
Linguage
m
de
mquina
Zerose
uns...
Expresso de Algoritmos
Vantagens:
Linguagem
independente
de
maquina;
o
programador pensa somente no problema a ser
resolvido, sem se preocupar com possveis restries
do compilador ou do hardware (computador);
Programador deve conhecer a sintaxe, a semntica e
a estrutura da pseudolinguagem, mas tem total
liberdade para criar novos comandos ou usar
instrues em alto nvel (ou em forma de frases);
Estando pronto o algoritmo na pseudolinguagem,
a sua implementao no computador (etapas 4 e 5
da programao) fica muito facilitada.
25
Atividade proposta
Tente deduzir qual o padro de
26