Você está na página 1de 16

Curso Extracurricular

Algoritmos e Programao
Outono-2009
Prof. Edson

Prof. Edson - 2009

Algoritmos
So mtodos ordenados e otimizados para soluo de um problema.

Estrutura de dados
So mtodos ordenados e otimizados para armazenar e consultar
informaes

Programa
a unio de dois mtodos (Algoritmos e Estrutura de dados) escrita
na forma de uma linguagem que um processador pode entender.
Geralmente, os programas processam informaes que entram e
devolvem a informao processada em uma sada.
Prof. Edson - 2009

Para ter competncia em programao so necessrios:


Conhecimento da linguagem
Conhecimento de estrutura de dados
Conhecimento sobre heursticas e algoritmos
Planejar, planejar, planejar e depois codificar
Muita prtica
E aprender com programas que existem, ou seja, simular
manualmente.
E se possvel, seguir algumas normas, tais como a da AUTOSAR
(Automotive Open System Architecture)
Prof. Edson - 2009

AUTOSAR
Modularity
Modularity of automotive software elements will
enable tailoring of software according to the
individual requirements of electronic control units
and their tasks.
Scalability
Scalability of functions will ensure the adaptability
of common software modules to different vehicle
platforms to prohibit proliferation of software with
similar functionality.
Transferability
Transferability of functions will optimize the use of
resources available throughout a vehicles electronic
architecture.

AUTOSAR
Re-usability
Re-usability of functions will help to improve
product quality and reliability and to reinforce
corporate brand image across product lines.
Standardized interfaces
Standardization of functional interfaces across
manufacturers and suppliers and standardization of
the interfaces between the different SW-Layers is
seen as a basis for achieving the technical goals of
Autosar

Para atender aquelas exigncias


Planejar o software:
Esteja certo que voc compreende a conexo (importncia) do
hardware e software. Em sistemas embarcados as duas reas so muito
conectadas.
Descreva em linguagem natural o que voc deseja que o
software execute.
Saiba quais so os requisitos do software e hardware.
Tente descrever quais seriam as variveis de entrada e sada.
Pense como um micro!

ECK-2009

O que deve conter um programa em C ??


Um programa C contm 4 grande divises

. Comentrios
. Diretivas de compilao
. Definies de dados
. Blocos com instrues e funes

ECK-2009

#include <....> Diretivas de compilao


#fuses ......
// comentrio ocupando uma linha Comentrios
char i , j ; Variveis
float Tempo;
void delay()
{
instrues da funo (rotina) delay
}
void main()
{
instrues do programa principal
}
ECK-2009

Diretivas de Compilador
So instrues para o compilador. As diretivas informam, por
exemplo, o processador para o qual o cdigo dever ser gerado, o
valor do clock que ser usado pela cpu e etc).
As diretivas sempre comeam com # .
#include <16F877A.H>
A terminao .H indica um Header File da linguagem C, ou seja,
um cabealho.

ECK-2009

Variveis
Esto sempre associados s estruturas de dados. Voc deve saber
antecipadamente quais so e como sero acessadas as variveis de
maneira a alocar espao na memria.
Deve ainda estar atento o tipo de variveis, tais como int, boolen, long
int, float, char, etc.

ECK-2009

10

Funes
Depois que voc descreveu em linguagem natural o funcionamento do
seu programa faa uma descrio mais formal e macroscpica do seu
programa na forma de fluxograma.

Lembre-se da regra Dividir para conquistar. Isto significa que o


funcionamento macroscpico no detalha uma funo, mas indica quais
funes o programa deve conter.

ECK-2009

11

Programa Principal
Este o ltimo bloco a ser escrito, visto que ele faz a conexo de
todas as funes existentes no seu programa.

ECK-2009

12

Vamos testar um exemplo, vamos programar o PIC para piscar todos


os leds a cada 500ms.

ECK-2009

13

Programa

ECK-2009

14

Agora vamos complicar um pouco mais. O que faz o programa abaixo?

ECK-2009

15

Tente fazer em casa


Usando o esquema anterior, monte um programa que acenda os leds
em sequncias diversas. Crie sequncias que visualmente tragam
padres de movimento.

ECK-2009

16