Microcontroladores. Programação: fluxogramas, pseudocódigos e lógica. Prof. Daniel

Documentos relacionados
01/08/2011 PROGRAMAÇÃO EM LINGUAGEM C. Histórico

Fluxogramas e variáveis

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Técnicas de Programação

Programação de Redes de Computadores

Revisão C++ - Parte 1

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

TÉCNICO DE INFORMÁTICA - SISTEMAS

Algoritmos II prof. Daniel Oliveira

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Introdução a Computação

Programação Básica em Arduino Aula 2

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

4. Constantes. Constantes pré-definidas

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

Programação Orientada a Objetos

- Aula 01, 02, 03 e 04 Apresentação da disciplina.

CURSO de NIVELAMENTO INTRODUÇÃO À PROGRAMAÇÃO

Capítulo 1 - Lógica e Algoritmos

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

Programação de Computadores III

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES

Programação de Computadores III

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

Linguagem C Operadores

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

1ª LISTA DE EXERCÍCIOS DE MIC - RESOLUÇÃO

Introdução à Programação em C. Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI

Noções de algoritmos - Aula 1

PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia

Variáveis primitivas e Controle de fluxo

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Programação Estruturada e Orientada a Objetos

Linguagem C Operadora

Programação de Computadores:

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Funcionamento do computador. Conceito e definição de algoritmos. Prof. Alex Camargo

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

ALGORITMOS AULA 1. Profª Amanda Gondim

LINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL

Algoritmos Estrutura Condicional

PHP Instalação. Linguagens Server-side Professor Fábio Luís da Silva Santos XAMPP.

Conceitos Básicos Linguagem C

Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição Condicionais

1) Projeto um sistema digital para executar as seguintes funções representadas na notação simplificada:

Fluxograma. Conjunto de símbolos utilizados em fluxogramas

Noções de algoritmos - Aula 1

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

UNIDADE 2 ALGORITMOS E PSEUDOCÓDIGO

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Exercícios Repetição

CONCEITOS DE ALGORITMOS

Operadores. Tipo de operadores. Aritméticos. Relacionais. Lógicos. Bit a bit. Cálculos aritméticos: soma, subtracção, multiplicação, divisão, etc.

INFORMÁTICA APLICADA AULA 03 LINGUAGEM DE PROGRAMAÇÃO C++

Prof. Jorge Cavalcanti

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Algoritmos. Prof. Jonatas Bastos Site:

Fluxogramas. Leandro Tonietto ago-09

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

Linguagem de Descrição de algoritmos

Estrutura do programa

Elementos Básicos. C# - Elementos básicos. Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas

Introdução à Linguagem C++

I - CONCEITOS INICIAIS

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Fundamentos de Programação

Aula 4 Estruturas Condicionais

Introdução a Lógica de Programação

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Estruturas de Repetição

Transcrição:

Microcontroladores Programação: fluxogramas, pseudocódigos e lógica Prof. Daniel 1

Introdução Algoritmos Fluxograma Constantes e variáveis Operadores Declarações de Controle Exercícios 2

Introdução Lógica de programação: Técnica para gerar uma determinada sequência de atividades para atingir um determinado objetivo; Sequência Lógica: São os diferentes passos ou instruções para solucionar um problema; Instruções: São um conjunto de regras ou normas definidas para realização de uma atividade. É uma ação elementar executada pelo computador; 3

Algoritmos Algoritmos é uma maneira de formalizar uma sequência de passos para execução de uma atividade. A formalização é necessária para que diferentes pessoas possam entender e repetir os passos para chegar a solução do problema; Ex.: Executar a operação de soma em uma calculadora; Fazer uma transferência bancária; Ajustar o horário no celular; Programar um DVD para gravar um programa; 4

Algoritmos EXERCÍCIO 1: Descreva passo a passo como você faria para obter a média de três números a seguir em sua calculadora; MEDIA = 12 + 6 + 9 3 5

Fluxograma Para representar graficamente um algoritmo utilizaremos o fluxograma; Um fluxograma é a representação das diferentes etapas de um processo através de elementos gráficos ligados conforme a lógica de programação; Simbologia Símbolo Função Início ou Fim de um algoritmo Processamento geral Decisão 6

Fluxograma EXERCÍCIO 2: Implemente em um fluxograma o algoritmo do cálculo da média de três números a seguir em sua calculadora do exercício anterior; 7

Constantes e variáveis Identificadores: São nomes arbitrários dados as funções, variáveis, constantes. Os identificadores podem ser 1 letras de A à Z, números de 0 à 9 e _ (underline). Não pode começar com número. Exemplos: Temperatura_media Temp _T1 1 Depende de cada compilador 8

Constantes e variáveis Constantes: são elementos que tem um valor fixo, não podendo ser mudados durante a execução do programa; Exemplo: π = 3,1415927... Em vez de escrever toda vez o número podemos nomear uma constante PI = 3,1415927 e durante programa utilizar PI; Variáveis: são elementos que permitem a alteração do seu valor durante a execução do programa. É recomendável que no início do programa seja atribuído um valor inicial a elas, que elas sejam inicializadas; Exemplo: Calcule consumo médio de combustível de um automóvel. CONSUMO= KM/L 9

Constantes e variáveis EXERCÍCIO 3: Para preparar uma salada de frutas, um cozinheiro foi comprar 4 frutas, onde cada fruta tem seu preço e a quantidade que o cozinheiro precisa descrito na tabela a seguir. Monte um algoritmo que calcule quanto ele terá que pagar por cada fruta e o valor total da despesa; Preço por kg(r$) FR1 FR2 FR3 FR4 1,30 1,90 4,50 0,98 Peso (kg) 2,5 1,3 0,6 3,8 Observar a utilização de constantes e variáveis 10

EXERCÍCIO 3: Constantes e variáveis 11

Operadores Operador é um símbolo que faz com que compilador execute alguma operação matemática ou lógica; Os principais operadores são aritméticos, de relação, lógicos e bit a bit; A seguir serão apresentados os principais elementos de cada operador. Este tópico será visto em maiores detalhes na linguagem de programação aplicado diretamente ao compilador utilizado; 12

Operador Aritmético Operadores Operador Operação realizada + Soma - Subtração * Multiplicação / Divisão % Resto da divisão + + Incremento - - Decremento 13

Operadores Operador de Relação: eles testam as relações nas expressões. Seu resultado é 1 se for verdadeiro ou 0 se for falso; Operador Operação realizada = = Igual a! = Não igual a > Maior que < Menor que > = Maior ou igual a < = Menor ou igual a 14

Operadores Exemplos de Operador de Relação: 4 = = 3; retorna 0 - FALSO 3 = = 3; retorna 1 - VERDADEIRO 7 > = 3; retorna 1 VERDADEIRO 4 < = 3; retorna 0 - FALSO 4! = 3; retorna 1 VERDADEIRO 4 > 3; retorna 1 VERDADEIRO 15

Operadores Operadores lógicos: realizam operações lógicas nas expressões. Os operandos são considerados verdadeiros(1) ou falsos(0). Seu resultado é 1 se for verdadeiro ou 0 se for falso; Operador & & Operação realizada AND OR! NOT (Negado) 16

Operadores Exemplos de Operador Lógico: a) (3 > 1) & & (2= = 2); 1 & & 1; resulta em 1 - verdadeiro b) (3 > 7) (2= = 2); 0 1 ; resulta em 1 - verdadeiro c)!{(3 > 1) & & (2= = 2)} ;!{ 1 & & 1};!{ 1} ; - resulta em 0 - falso 17

Operadores Operadores Bit a Bit: eles testam as relações dos operadores nas expressões bit a bit; Operador & Operação realizada AND OR ^ XOR ~ NOT > > SHIFT RIGHT,desloca bits a direita < < SHIFT LEFT, desloca bits a esquerda 18

Operadores Exemplos de Operador Bit a Bit: a) v1= 101101, v2=110011, v3 = v1 & v2; AND v1 = 1 0 1 1 0 1 v2 = 1 1 0 0 1 1 v3 = 1 0 0 0 0 1 b) v1= 110001, v2=010111, v3 = v1 v2; OR v1 = 1 1 0 0 0 1 v2 = 0 1 0 1 1 1 v3 = 1 1 0 1 1 1 19

Operadores Exemplos de Operador Bit a Bit: c) v1= 101101, v2=110011, v3 = v1 ^ v2; XOR v1 = 1 0 1 1 0 1 v2 = 1 1 0 0 1 1 v3 = 0 1 1 1 1 0 d) v1= 110001, v2 = ~ v1 ; NOT v1 = 1 1 0 0 0 1 v2 = 0 0 1 1 1 0 20

Operadores Exemplos de Operador Bit a Bit: e) v1= 000101, v2=v1 << 2; SHIFT LEFT (x 2) = 001010; <<1 v2 = 010100; <<2 f) v1= 010100, v2=v1 >> 2; SHIFT RIGHT ( 2) = 001010; >> 1 v2 = 000101; >> 2 21

Declarações de Controle As declarações controlam o fluxo de execução de um algoritmo, sendo assim de fundamental importância o domínio da sua correta utilização; Em uma linguagem de programação existem diferentes declarações, mas aqui, para um primeiro contato, utilizaremos a declaração de controle condicional; 22

Declarações de Controle Declaração de controle condicional IF...THEN...ELSE SE...ENTÃO...SENÃO Ele é utilizado para executar um determinado comando se uma determinada condição for verdadeira. A opção ELSE não é obrigatória. IF (true) THEN CommandsTrue ELSE CommandsFalse IF (verdadeiro) THEN ComandosVerdadeiro ELSE ComandosFalso 23

Declarações de Controle Para implementação do caso geral no algoritmo utilizamos o losango; As saídas V e F podem ser trocadas Pergunta pergunta? V Comandos Verdadeiro F Comandos Falso 24

Declarações de Controle OPÇÃO 1: Somente verdadeiro; Pergunta pergunta? V Comandos Verdadeiro 25

Declarações de Controle CASO 2: Com verdadeiro e falso o algoritmo fica da forma como já visto anteriormente; Pergunta pergunta? V Comandos Verdadeiro F Comandos Falso 26

Declarações de Controle Exercício 4: Considere um forno onde a temperatura limite seja de 700º C. Se a temperatura atual do forno atingir este valor o alarme deve ser ligado. Elabore um algoritmo que implemente essa situação; 27

Resolução Declarações de Controle A inclusão da etapa de leitura do sensor do forno, considerando ser um sinal analógico, foi colocada aqui porque geralmente requer um tratamento adicional no programa. 28

Declarações de Controle Exercício 5: Na esteira abaixo quando o sensor S1 for acionado o motor M1 deve ser ligado. Implemente um algoritmo que atenda o solicitado. S1 M1 29

Declarações de Controle Resolução A inclusão da etapa de leitura do sensor S1 em muitas situações pode ser considerada redundante, sendo colocada aqui para chamar a atenção ao fato, podendo ser omitida no futuro. 30

Declarações de Controle Exercício 6: Na esteira abaixo quando o sensor S1 for acionado por uma peça o motor M1 deve ser ligado e quando a peça acionar o sensor S2 o motor deve ser desligado. Implemente um algoritmo que atenda o solicitado. S1 S2 M1 31

Resolução Declarações de Controle 32

Declarações de Controle Exercício 7: Na esteira abaixo a peça é colocada na posição dada pelo sensor S1, e com isso o motor M1 é ligado, levando a peça até o sistema de aquecimento. Neste instante o motor M1 é desligado e a peça espera 10 segundos, sendo o motor M1 ligado novamente para levar a peça para o resfriamento, quando então o motor M1 é desligado novamente, aguardando agora 20 segundos neste estágio. Após decorrido o tempo o motor M1 é ligado novamente para levar a peça até a posição dada pelo sensor S4, quando o motor é desligado novamente. Implemente um algoritmo que atenda o solicitado. 33

Resolução Declarações de Controle 34

Declarações de Controle Exercício 8: No sistema abaixo quando uma peça é colocada na posição dada pelo sensor S1 o motor M1 é ligado, levando a peça até o sensor S2 e caindo na caixa de saída. Sabe-se que a caixa suporta até 20 peças. Implemente um contador(cont) para que somente quando somente 20 peças caírem na caixa o motor M1 é desligado e a lâmpada L1 é ligada, alertando ao operador da necessidade de trocar a caixa. Implemente um algoritmo que atenda o solicitado. 35

Resolução Declarações de Controle 36

Declarações de Controle Exercício 9: No exercício anterior foi acrescentado o botão B1 no painel para que quando o operador trocar a caixa ele irá apertar o botão a lâmpada L1 irá apagar, o motor M1 é ligado novamente, o contador é zerado e o ciclo se inicia novamente. 37

Resolução Declarações de Controle 38

Declarações de Controle CASO 3: IF ANINHADO. Quando vários laços são utilizados, um dentro de outro; Pergunta1? N Pergunta2? N Pergunta3? V V V Comandos1 Comandos2 Comandos3 N Comandos4 39

Declarações de Controle Exercício 10: No reservatório da figura abaixo um sensor mede o nível (NIVEL) de líquido existente. Elabore um algoritmo que controle o acionamento das bombas de acordo com a tabela abaixo; NIVEL B1 B2 B3 NIVEL>9 0 0 0 6<NIVEL 9 1 0 0 2<NIVEL 6 1 1 0 NIVEL 2 1 1 1 40

Resolução Declarações de Controle 41

Declarações de Controle Exercício 11: No sistema de seleção da página seguinte quando uma caixa é colocada na posição dada pelo sensor S1 o motor M1 é ligado levando a caixa até o sensor S5, quando então é desligado. Implemente um algoritmo para que de acordo com o tipo de caixa, dada pela figura e identificada no sistema através do acionamento dos sensores S2,S3 e S4, somente a lâmpada correspondente fique ligada. Esta lâmpada somente poderá ficar ligada até a caixa correspondente chegar ao sensor S5. O sistema é contínuo. Implemente também um contador para cada tipo de caixa. 42

Declarações de Controle 43

Resolução Declarações de Controle 44

REFERÊNCIAS Robert Schildt. C completo e total. User s Manual MikroC Fábio Pereira. Programação em C Curso básico de lógica de programação. Unicamp 45