Vetores, Matrizes e String

Documentos relacionados
Robótica com Arduino

Arduino e Processing. Professor: Paulo Marcos Trentin Escola CDI Videira

Comunicação Serial 1

Robótica com Arduino

Robótica com Arduino

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs

Entrada de dados com botões

Este tutorial mostra como utilizar as ferramentas Send Mail e Web Commands.

MC Teste de Mesa e Comandos Repetitivos

TUTORIAL MATLAB Victor Breder 2016

Robótica com Arduino. Resistores. Professor: Paulo Trentin

Linguagem C: strings. Prof. Críston Algoritmos e Programação

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS

Aula 3/4: Vetores/Matrizes e Ponteiros

21 Strings O que são strings? 21.2 Leitura de Strings. Ronaldo F. Hashimoto e Carlos H. Morimoto

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

BC-0505 Processamento da Informação

Curso de Arduino. Quais seus principais componentes?

Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO

Por Fernando Koyanagi 1

PROGRAMAÇÃO DE COMPUTADORES I

Conceitos c++ Prof. Demétrios Coutinho INFORMÁTICA BÁSICA

Minicurso de Arduino

Robótica com Arduino Professor: Paulo Marcos Trentin

Algoritmos e Programação

Por Fernando Koyanagi

Exercícios: Vetores e Matrizes

Referências. Programação de Computadores II. Cap. 7 Cadeias de Caracteres. Caracteres. Tópicos

Vetores e Matrizes. Prof. Fabrício Olivetti de França Charles Henrique

Curso C: Ponteiros e Arrays

MANUALDEGUSTAÇÃO ARDUINO KIT INICIANTE V4.0

SENSOR DE LUMINOSIDADE Com indicador de intervalo

Aula 06 Introdução à Programação Matrizes

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Comandos de Desvio 1

Vetores Unimensionais

Estruturas de Repetição

1. Estrutura de Dados

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: variáveis compostas homogêneas: Arrays Strings

Por Fernando Koyanagi 1

Programação Básica. Estrutura de um algoritmo

OFICINA Uso da plataforma Arduino no Ensino de Ciências

Scaling Up Inclusion: Robotics, a STEM focused Project. Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel

Por Fernando Koyanagi

Exercícios de Fixação Aulas 05 e 06

Algoritmos APRENDENDO A PROGRAMAR COM C#

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

Programação: Vetores

Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE. Núcleo de Arte e Tecnologia. julio lucio martin. Aula 01

Programação do Arduino. Parte 1. IDE Wiring

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

ROBÓTICA 1 INTRODUÇÃO A PROGRAMAÇÃO NO ARDUINO

Variáveis Compostas. Vanessa Braganholo

Estruturas de controlo condicional

Projeto No. 12 Display de Led de 7 Segmentos

Interface com Displays de 7 Segmentos. Interface com Displays

KIT INICIANTE V7 PARA ARDUINO

Por Fernando Koyanagi

Internet das Coisas Ferramentas Para Prototipação. João Bosco Teixeira Junior >

Linguagem C Vetores, Matrizes e Strings

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

AULA 3 Alocação dinâmica de memória: Ponteiros

RESULTAR EM "CHOQUE ELÉTRICO", FOGO, ENTRE OUTROS.

Exercícios (if/ if else/ if elseif else)

LINGUAGEM C: ARRAY: VETORES E MATRIZES

Material Suplementar para Descrição temporal de forças de colisão: um modelo didático para laboratório de física assistido por sistema embarcado

Algoritmos II prof. Daniel Oliveira

Prof. Adilson Gonzaga. Interface com Displays

Podem ser substituídos pelo módulo P7-Sensor de Luminosidade da GBK Robotics.

Projeto 01. Adriano Joaquim de Oliveira Cruz Instituto de Matemática UFRJ 2015 Adriano Cruz. 30 de agosto de 2015

Ricardo Ribeiro dos Santos - ricardo@facom.ufms.br Faculdade de Computação - UFMS

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo

Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO

1. Escreva um programa em Pascal que leia três valores inteiros e mostre-os em ordem crescente. Utilize seleção encadeada.

Revisão C++ - Parte 1

Por Fernando Koyanagi

Depois de configurada nossa comunicação serial podemos enviar vários comandos para comunicação entre o computador e o Arduino:

UNIVERSIDADE ESTADUAL PAULISTA Julio de Mesquita Filho" FACULDADE DE ENGENHARIA

Over the Air OTA. Por Fernando Koyanagi

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho

3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C

Ficha 3. Exercícios de preparação da actividade 3

C A P I T U L O 6 E S T R U T U R A S D E C O N T R O L E D E R E P E T I Ç Ã O

BEC- Bafômetro Embutido em Carros

Departamento de Informática - PUC-Rio INF 1005 Programação I P1 22/09/2010 Nota

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias.

Transcrição:

Vetores, Matrizes e String Escola CDI Professor: Paulo Marcos Trentin

O que é um Vetor? Conhecido também como matriz unidimensional, é uma variável que pode conter vários valores do mesmo tipo de dado. Exemplo: int vetor[5] = { 2, 3, 4, 5, 6 }; Os valores de 2 à 6 são do tipo int, e são acessados pela mesma variável (vetor).

Iniciando um Vetor Veja outro exemplo de vetor: char letras[3] = { 'a', 'b', 'c' }; Iniciamos acima um vetor de caracteres com três elementos, sendo eles: a, b e c. Repare que eles devem ser definidos entre aspas simples ' '.

Iniciando um Vetor sem valores Podemos iniciar um vetor sem atribuir valores: char nome[10]; Desta forma, o compilador reservará na memória RAM um espaço para armazenar 10 caracteres. Como cada caractere tem 1 byte, essa variável consumirá 10 bytes na memória RAM!

Iniciando um Vetor sem valores Podemos iniciar um vetor sem definir seu tamanho entre colchetes: char nome[ ] = { 'p', 'a', 'u', 'l', 'o' }; O compilador "sabe" que o vetor nome usará 5 caracteres para armazenar seu valor, ou seja, irá usar 5 Bytes de memória RAM.

Acessando valores de um vetor Para acessar o valor do vetor, precisamos chamar seu nome e entre colchetes, informar qual posição nele queremos: char nome[ ] = { 'p', 'a', 'u', 'l', 'o' }; nome[0] -> retorna a letra p nome[2] -> retorna a letra u nome[5] -> retorna lixo, pois não existe

Acessando valores de um vetor - exercício Implemente o seguinte código fonte: void setup(){ Serial.begin(9600); } char nome[ ] = { 't', 'e', 's', 't', 'e' }; Serial.println(nome[1]); void loop(){ }

Estrutura do vetor na memória Como vimos, o índice 0 corresponde ao primeiro elemento do vetor. Veja abaixo:

Percorrendo um Vetor Tendo em mente o funcionamento do for, implemente o seguinte código: void setup(){ Serial.begin(9600); char palavra[ ] = { 't', 'e', 's', 't', 'e' }; // Varre todo o vetor e imprime caractere por caractere for (int i = 0; i < 5; i++){ Serial.print(palavra[ i ]); Serial.print(' '); // Troque o espaço por _ para testar } }

Exercício Faça um programa que utilize do vetor para armazenar os pinos 2, 5 e 7; Nestes pinos conecte um LED cada; Por fim, seu programa deve ligar e desligar cada pino por 100 milisegundos; Lembre-se: para acessar o vetor, use o repetidor for.

Outra aplicação do vetor - Parte 1 void setup(){ char buffer[50]; int contadorbuffer = 0; Serial.begin(9600); Serial.println("Digite um texto de ate 50 caracteres"); // Aguarda receber algo pela serial while(serial.available() == 0){ } // Necessario para preencher o buffer delay(100);

Outra aplicação do vetor - Parte 2 // Enquanto encontrar algo para ler na Serial... while(serial.available() > 0){ //Insere o que foi lido no buffer e incrementa contador buffer[contadorbuffer++] = Serial.read(); } // Exibe o que foi digitado Serial.print("Voce digitou: "); for (int i = 0; i < 50; i++){ Serial.print(buffer[i]); } } void loop(){ }

Verificando um comando de palavra Modifique o programa anterior para que ao receber a palavra "liga" via serial, então ligue o LED conectado ao Arduino, Ao receber a palavra "desliga" ele deve desligar o led. Dica: O operador && irá gerar um E lógico, log a instrução: if (valor1 == 'a' && valor2 == 'b'){ } Lê-se: Se valor 1 for igual à 'a' e valor2 for igual à 'b' faça

Verificando um comando de palavra - reposta if ( ){ buffer[0] == 'l' && buffer[1] == 'i' && buffer[2] == 'g' && buffer[3] == 'a' } Serial.println("Detectado palavra liga");

Buffer Serial O programa anterior cria um buffer de 50 caracteres para armazenar o valor lido da Serial. O que aconteceria se o usuário digitasse 51 caracteres?

Matriz Uma matriz é um vetor com várias linhas. Logo, ela possui linhas e colunas.

Matriz O elemento matriz[0][0] tem o caractere t O elemento matriz[0][2] tem o caractere s O elemento matriz[1][2] tem o caractere r

Percorrendo uma matriz - parte 1 void setup(){ Serial.begin(9600); char matriz[3][5] = { {'t','e','s','t','e'}, {'a','r','r','o','z'}, {'m','i','l','h','o'} }; // Varre todo o vetor e imprime caractere por caractere for (int linha = 0; linha < 3; linha ++){ Serial.print("Na linha "); Serial.print(linha); Serial.print(": ");

Percorrendo uma matriz - parte 2 // Ainda dentro do primeiro for... } } // Em cada linha, acessa coluna por coluna for (int coluna = 0; coluna < 5; coluna++){ // Exibe o valor da coluna para a linha atual Serial.print(matriz[linha][coluna]); } Serial.println(); void loop(){ }

Strings String é uma cadeia de caracteres. Veja o exemplo: String nome = "arduino"; é visto pelo compilador como: char nome[8] = 'a','r','d','u','i','n','o','\0'; Sempre existe o terminador \0, usado para saber quando a cadeia de caracteres chegou ao fim