Algoritmos e Programação

16
Curso Extracurricular Algoritmos e Programação Prof. Edson - 2009 1 Outono-2009 Prof. Edson

description

curso extracurricular de programação de programação

Transcript of Algoritmos e Programação

Page 1: Algoritmos e Programação

Curso Extracurricular

Algoritmos e Programação

Prof. Edson - 2009 1

Algoritmos e Programação

Outono-2009

Prof. Edson

Page 2: Algoritmos e Programação

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.

Page 3: Algoritmos e Programação

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

Page 4: Algoritmos e Programação

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.

Page 5: Algoritmos e Programação

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

Page 6: Algoritmos e Programação

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!

Page 7: Algoritmos e Programação

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

Page 8: Algoritmos e Programação

#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

}

Page 9: Algoritmos e Programação

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.

Page 10: Algoritmos e Programação

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.

Page 11: Algoritmos e Programação

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.

Page 12: Algoritmos e Programação

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

Page 13: Algoritmos e Programação

Vamos testar um exemplo, vamos programar o PIC para piscar todos os leds a cada 500ms.

ECK-2009 13

Page 14: Algoritmos e Programação

Programa

ECK-2009 14

Page 15: Algoritmos e Programação

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

ECK-2009 15

Page 16: Algoritmos e Programação

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