Algoritmos e Programação
-
Upload
ronaldo-gama -
Category
Documents
-
view
212 -
download
0
description
Transcript of Algoritmos e Programação
Curso Extracurricular
Algoritmos e Programação
Prof. Edson - 2009 1
Algoritmos e Programação
Outono-2009
Prof. Edson
Algoritmos
São métodos ordenados e otimizados para solução de um problema.
Estrutura de dados
São métodos ordenados e otimizados para armazenar e consultar
Prof. Edson - 2009 2
informações
Programa
É a união de dois métodos (Algoritmos e Estrutura de dados) escrita na forma de uma linguagem que um processador pode entender. Geralmente, os programas processam informações que entram e devolvem a informação processada em uma saída.
Para ter competência em programação são necessários:
Conhecimento da linguagem
Conhecimento de estrutura de dados
Conhecimento sobre heurísticas e algoritmos
Planejar, planejar, planejar e depois codificar
3
Planejar, planejar, planejar e depois codificar
Muita prática
E aprender com programas que existem, ou seja, simular manualmente.
E se possível, seguir algumas normas, tais como a da AUTOSAR
(Automotive Open System Architecture)Prof. Edson - 2009
AUTOSARModularity
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
4
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 vehicle’s electronic architecture.
AUTOSARRe-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
5
the interfaces between the different SW-Layers is seen as a basis for achieving the technical goals ofAutosar
Para atender aquelas exigências
Planejar o software:
Esteja certo que você compreende a conexão (importância) do hardware e software. Em sistemas embarcados as duas áreas são muito conectadas.
ECK-2009 6
conectadas.Descreva em linguagem natural o que você deseja que o
software execute.Saiba quais são os requisitos do software e hardware.Tente descrever quais seriam as variáveis de entrada e saída.Pense como um micro!
O que deve conter um programa em C ??
Um programa C contém 4 grande divisões
. Comentários
. Diretivas de compilação
. Definições de dados
ECK-2009 7
. Definições de dados
. Blocos com instruções e funções
#include <....> Diretivas de compilação
#fuses ......// comentário ocupando uma linha Comentários
char i , j ; Variáveis
float Tempo;void delay()
ECK-2009 8
void delay(){
instruções da função (rotina) delay
}void main(){
instruções do programa principal
}
Diretivas de Compilador
São instruções para o compilador. As diretivas informam, por exemplo, o processador para o qual o código deverá ser gerado, o valor do clock que será usado pela cpu e etc).
As diretivas sempre começam com ‘ # ’.
ECK-2009 9
As diretivas sempre começam com ‘ # ’.
#include <16F877A.H>A terminação .H indica um Header File da linguagem C, ou seja, um cabeçalho.
Variáveis
Estão sempre associados às estruturas de dados. Você deve saber antecipadamente quais são e como serão acessadas as variáveis de maneira a alocar espaço na memória.
Deve ainda estar atento o tipo de variáveis, tais como int, boolen, long
ECK-2009 10
Deve ainda estar atento o tipo de variáveis, tais como int, boolen, long int, float, char, etc.
Funções
Depois que você descreveu em linguagem natural o funcionamento do seu programa faça uma descrição mais formal e macroscópica do seu programa na forma de fluxograma.
ECK-2009 11
Lembre-se da regra “Dividir para conquistar”. Isto significa que o funcionamento macroscópico não detalha uma função, mas indica quais funções o programa deve conter.
Programa Principal
Este é o último bloco a ser escrito, visto que ele faz a conexão de todas as funções 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 sequências diversas. Crie sequências que visualmente tragam padrões de movimento.
ECK-2009 16