Manipulação de strings e conversão entre tipos de dados

Documentos relacionados
Computação e Programação

Estruturas de dados complexas: cell arrays e structures

Estruturas de dados complexas: cell arrays e structures

Tópicos avançados sobre funções

Cell arrays e estruturas: exemplos

Computação e Programação

Manipulação de strings e conversão entre tipos de dados

Computação e Programação

Programação em MATLAB

Computação e Programação

Tópicos avançados sobre funções (cont.)

Computação e Programação

Computação e Programação

Manipulação avançada de ficheiros

Programação em MATLAB

Computação e Programação

Algoritmos de ordenação. e de procura

Computação e Programação

Computação e Programação

Computação e Programação

Computação e Programação

Computação e Programação

Computação e Programação 2009 / 2010

COMPUTAÇÃO E PROGRAMAÇÃO

Programação. Folha Prática 7. Lab. 7. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

Computação e Programação

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 4 Strings. Prof. Sandra Pais Soares

Introdução à Programação C

Manipulação avançada de ficheiros

Linguagens de Programação. Parte IV. Relembrando da Última Aula... Ponteiros. Declaração e Inicialização de Variáveis Ponteiros

Linguagens de Programação

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

Computação e Programação

Sistemas e Sinais. Laboratório 0 (parte c) Miguel Pedro Silva e João Reis

Projecto e Desenvolvimento de Programas

Algoritmos e Programação

Computação e Programação. MEMec - LEAN 1º Semestre

Manipulação de Strings

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Linguagem de programação Strings

Introdução ao Matlab. Células e Estruturas

Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Objectivos e tarefas

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Programação e Sistemas de Informação

Computação e Programação 2009 / 2010

COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN

Strings. Introdução. Definição de strings. Criação/Declaração de strings. Inicialização de strings. Manipulação de strings. Exemplos.

Computação e Programação

PYTHON - Strings. Introdução à Programação SI1

Nome: Número: Computação e Programação. Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Computação e Programação

String. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Pág. 1 de 6

COMPUTAÇÃO E PROGRAMAÇÃO

Programação em MATLAB

Char e Strings de Caracteres

Mestrado em Engenharia Física Tecnológica

Introdução aos caracteres e processamento de cadeias.! caracteres são blocos fundamentais de programas em

Computação e Programação 201*/201* - 1º Semestre

Char e Strings de Caracteres

1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível?

3. Linguagem de Programação C

Laboratório de Sistemas e Sinais Máquinas de Estados

Linguagem C: Tipos básicos de dados escalares e cadeia de caracteres. Prof. Leonardo Barreto Campos 1

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Linguagem de programação Strings

Apostila de Ferramenta de desenvolvimento Rápido Delphi 2º Bimestre

Prof. MsC Vicente Paulo de Camargo PUCGO. Conteúdo baseado no livro Lógica de programação e estrutura de dados - Java - Sandra Puga

Folha Prática Tipos de dados estruturados (vetores e marizes) 1. Tipos de dados estruturados (vetores e matrizes)

É usual respeitarem-se as seguintes convenções: Nome de uma classe começa por maiúscula (e.g. Solido)

Introdução à Programação. Strings

FURB Universidade Regional de Blumenau Depto de Sistemas e Computação Disc. Linguagens para Programação de Sistemas Prof. Mauro Marcelo Mattos

Computação e Programação Exame Época de recurso

Objectivos. Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA)

Informática para Ciências e Engenharias 2012/13. Teórica 9

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Manipulação de strings. Prof. Alex Camargo

Python Listas e Strings. Listas 23/11/2016. Por que usar listas? Listas. Listas - Solução. Listas - Problema

Arrays. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

INF 1620 P4-13/12/01 Questão 1 Nome:

Comandos Auxiliares. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Monitor: Marcus Vinícius Custódio

AULA 06. HABILIDADES TRABALHADAS: Fundamentos da linguagem Java e manipulação de Strings.

Funções de Entrada e Saída

COMPUTAÇÃO E PROGRAMAÇÃO

Programação Dicas e Outras Coisas

cadeia de caracteres (string) INF Programação I Prof. Roberto Azevedo

Informática para Ciências e Engenharias 2014/15. Teórica 9

Exemplo: ; ver exemplo de aplicação abaixo com mapcar. ; retorna uma lista formada pelos elementos indicados. ; retorna o número de elementos na lista

Exemplo: função cálculo distancia

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I

Paradigmas de Linguagens

Linguagem de Programação

CMP Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira

Programação em FORTRAN III. João Manuel R. S. Tavares

Seqüências de Caracteres

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:

Objectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes

Computação e Programação Exame Época de recurso

Input/Output em Matlab

Transcrição:

e conversão entre tipos de dados Criação de variáveis do tipo string: As strings como arrays uni-dimensionais Operações sobre strings Concatenação Formatação Comparação Procura, Substituição e Separação Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII

Os diferentes tipos de dados em MATLAB: MATLAB Data Types double single int8, unit8 int16, uint16 logical char int16, uint16 int32, unit32 uint32 int64, unint64 logical data character strings double precision (real and complex) single precision (real and complex) int8, uint8 int64, uint64 integer and unsigned integer data types cell structure user classes function handles cell arrays structures objects function handles 2

Definição de string: Uma string em MATLAB consiste num array (tabela) uni-dimensional (um vector) de elementos do tipo char. O tipo char (caracter) é guardado como um inteiro de 16 bits sem sinal. O construtor de uma string são as plicas: exemplo 3

Como construir uma string (exemplo): >> s='computação e Programação' s = Computação e Programação >> whos s Name Size Bytes Class Attributes s 1x24 48 char 4

As strings como vectores de caracteres: Logo, muitas operações em arrays uni-dimensionais podem ser aplicadas a strings: >> length('gato') 4 >> length(' ') 1 >> length('') 0 5

As strings como vectores de caracteres (exemplos): >> aminhastring='olá'; >> aminhastring(3) á >> aminhastring' O l á >> aminhastring(2:end) lá 6

Matrizes, em que cada linha é uma string (exemplos): >> aminhamatriz=['bom';'dia';'zé!'] aminhamatriz = Bom dia Zé! >> [lin,col]=size(aminhamatriz) lin = 3 col = 3 7

Matrizes, em que cada linha é uma string (exemplos): >> aminhamatriz_2=['bom';'dia';'josé!']??? Error using ==> vertcat CAT arguments dimensions are not consistent. As linhas de uma matriz de caracteres têm que possui o mesmo número de colunas >> aminhamatriz_3=['bom ';'dia ';'José!'] aminhamatriz_3 = Bom dia José! >> size(aminhamatriz_3) 3 5 8

Operações em strings : O MATLAB possui muitas funções pré-definidas que operam em strings (ver help associado): Função strcat strvcat char blanks sprintf deblank Contenação horizontal Contatenação vertical Descrição Converte código ASCII num caracter, ou cria uma matriz de caracteres Cria uma string com n carateres em branco Cria uma string formatada (mas não a escreve!) Remove os espaços em branco do fim de uma string 9

Operações em strings (continuação): O MATLAB possui muitas funções pré-definidas que operam em strings (ver help associado): Função upper lower strcmp strncmp strcmpi Descrição Converte todos os carateres para maiúsculas Converte todos os carateres para minúsculas Compara strings. Devolve um valor lógico. Compara apenas os primeiros n caracteres de strings. Devolve um valor lógico. Compara strings, ignorando se os caracteres são maiúsculos ou minúsculos. Devolve um valor lógico. 10

Operações em strings (continuação): findstr strfind strtrim strrep strtok O MATLAB possui muitas funções pré-definidas que operam em strings (ver help associado): Função Descrição Procura as ocorrências da string menor, numa string maior. Retorna um índice ou array de indíces. Similar a função anterior, mas a ordem dos argumentos é: (string,substring). Elimina os espaços (caracteres) em brancos iniciais e finais de uma string. Procura todas as ocorrências de um sub-string, numa string, e substitui essas por outra sub-string. Separa uma string em duas sub-strings, mediante um delimitador. 11

Concatenação (exemplos): >> s1='bom'; >> s2='dia'; >> s3='josé'; >> s4=[s1,' ',s2,' ',s3,'!'] s4 = Bom dia José! 12

Concatenação (exemplos): >> strcat(s1,s2,s3) % CONATENAÇÃO HORIZONTAL BomdiaJosé >> s1='bom'; >> s2=' dia '; >> s3='josé'; >> strcat(s1,s2,s3) % REMOVE OS ESPAÇOS EM BRANCOS FINAIS DE CADA STRING Bom diajosé 13

Concatenação (exemplos): >> s4=strvcat(s1,s2,s3) % CONCATENAÇÃO VERTICAL s4 = Bom dia José >> size(s4) % NOTAR QUE strvcat ADICIONA CARACTERES EM BRANCO % NO FIM DAS MENORES STRINGS 3 9 14

Concatenação (exemplos): >> s1='bom'; >> s2=' dia '; >> char(98) b >> s3='josé'; >> s4 = char(s1,s2,s3) % CRIA UMA MATRIZ, EM QUE CADA LINHA É UMA STRING s4 = Bom dia José >> size(s4) 3 9 15

Formatação (exemplos): >> s1='bom'; >> s2='dia'; >> s3='josé'; >> s4=[s1,blanks(1),s2,blanks(1),s3] % COLOCA n ESPAÇOS EM BRANCO s4 = Bom dia José 16

Formatação (exemplos): >> s1='bom'; >> s2='dia'; >> s3='josé'; >> s4=sprintf('%s %s %s',s1,s2,s3) % FUNCIONA COMO O FPRINTF, MAS O % OBJECTIVO É CRIAR VARIÁVEIS DO % DO TIPO STRING s4 = Bom dia José 17

Formatação (exemplos): >> string_dado = sprintf('dado lançado: %d',randint(1,1,[1,6])) string_dado = Dado lançado: 1 >> string_dado = sprintf('dado lançado: %d',randint(1,1,[1,6])) string_dado = Dado lançado: 6 >> string_dado = sprintf('dado lançado: %d',randint(1,1,[1,6])) string_dado = Dado lançado: 4 18

Formatação (exemplos): >> s3=char('olá','maria') s3 = Olá Maria >> s4=sprintf('%s %s!',deblank(s3(1,:)),deblank(s3(2,:))) s4 = Olá Maria! % OS CARACTERES EM BRANCO FINAIS, DE CADA STRING % SÃO ELIMINADOS >> s5=upper(s4) s5 = OLÁ MARIA! >> s6=lower(s4) s6 = olá maria! 19

Formatação (exemplos): >> s1=' Esta frase é de teste! '; >> size(s1) 1 29 >> s2=strtrim(s1) % ELIMINA OS CARACTERES EM BRANCO INICIAIS E FINAIS s2 = Esta frase é de teste! >> size(s2) 1 22 20

Comparação de strings (exemplos): >> s1='mariana'; >> s2='maria'; >> strcmp(s1,s2) 0 >> strncmp(s1,s2,5) 1 >> strcmpi(upper(s1),lower(s2)) 0 21

Comparação de strings (exemplos): >> s1='mariana'; >> s2='maria'; >> strcmp(s1,s2) 0 >> strncmp(s1,s2,5) 1 >> strcmpi(upper(s1),lower(s2)) 0 >> strcmpi(upper(s1(1:5)),lower(s2)) 1 22

Procurar sub-strings (exemplos): >> s1='aretddjhddide'; >> res=findstr(s1,'dd') % RETORNA O(s) 1º(s) ÍNDICE(s) ONDE A SUBSTRING É % ENCONTRADA NA STRING DE MAIOR COMPRIMENTO res = 5 9 >> res=findstr('dd',s1) % A ORDEM DOS ARGUMENTOS É INDIFERENTE! res = 5 9 23

Procurar sub-strings (exemplos): >> s1='aretddjhddide'; >> res=strfind(s1,'dd') % RETORNA O(s) 1º(s) ÍNDICE(s) ONDE A SUBSTRING % (OU SEJA, O 2º ARGUMENTO) É % ENCONTRADA NA STRING (OU SEJA, O 1º ARGUMENTO) res = 5 9 >> res=strfind('dd',s1) res = [] % A ORDEM DOS ARGUMENTOS É IMPORTANTE!!!! 24

Procura e substituição de sub-strings (exemplos): >> s1='aretddjhddide'; >> s2=strrep(s1,'dd','zzzz') s2 = aretzzzzjhzzzzide 25

Separação de uma string em sub-strings (exemplos): >> s1='esta frase é de teste!'; % POR OMISSÃO O CARACTER DELIMITADOR % É O ESPAÇO EM BRANCO >> [substr substrrestante]=strtok(s1) substr = Esta substrrestante = >> length(s1) 22 >> length(substr) 4 >> length(substrrestante) frase é de teste! 18 26

Separação de uma string em sub-strings (exemplos): >> s1='data: 02-11-2009'; >> [s2 s3]=strtok(s1,':') s2 = Data s3 = : 02-11-2009 >> [s4 s5]=strtok(s3,':') s4 = 02-11-2009 s5 = Empty string: 1-by-0 >> length(s4) 11 27

Referências Capítulo 6 de Stormy Attaway (2009), Matlab: A Practical Introduction to Programming and Problem Solving, Elsevier. Getting started with MATLAB: http://www.mathworks.com/access/helpdesk/help/pdf_doc/ matlab/getstart.pdf 28