Cadeias de Caracteres

Documentos relacionados
Vetores. Introdução à Programação para Biologia Molecular

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

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

Aula 3/4: Vetores/Matrizes e Ponteiros

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

Matrizes. Introdução à Ciência da Computação

Estruturas de Controle em Python

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

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

Tipos Abstratos de Dados (TAD)

Python: Tipos Básicos. Claudio Esperança

Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt

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

Linguagem de Programação C. Fluxo de Saída Padrão. Linguagem de Programação C. printf. Fluxo de Saída Padrão. Algoritmos e Lógica de Programação

TUTORIAL MATLAB Victor Breder 2016

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS

Teste de Funções por Cobertura do Grafo de Fluxo de Controle

Sistemas Numéricos. Tiago Alves de Oliveira

Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Exercícios: Recursão

Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO

Módulo IV Programação Visual Basic. Programação

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira

MC Teste de Mesa e Comandos Repetitivos

PROGRAMAÇÃO DE COMPUTADORES I

Exercícios: Vetores e Matrizes

PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C

Algoritmos e Estrutura de Dados Aula 04 Strings em Python parte 1

Representações de caracteres

Vetores, Matrizes e String

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

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores 12/03/2011 VARIÁVEIS E TIPOS DE DADOS

1. Estrutura de Dados

9. Tipos Abstratos de Dados

Conceitos básicos de programação

Estruturas de Dados Aula 9: Listas (parte 1) 05/04/2011

Universidade Federal da Paraíba Centro de Informática Departamento de Informática

Introdução à Programação. Funções e Procedimentos. Prof. José Honorato F. Nunes honoratonunes@gmail.com

2ª Lista de Exercícios

Lista de Exercícios - Programação I (Pascal/ Python)

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.

2 Casamento Inexato, Alinhamento de Sequências e Programação DRAFT

LINGUAGEM JAVA - RESUMO

Introdução à Programação com Python

SCC0503 (Algoritmos e Estruturas de Dados II) Prof. Moacir P. Ponti Junior. Trabalho 3

Análise Léxica. Sumário

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão

PHP Estruturas de repetição

03. [Sebesta, 2000] Descreva a operação de um gerador de linguagem geral.

Exercícios: comandos de repetição

Introdução à Programação Aula 6 Números pseudo-aleatórios

Introdução a Funções

EXERCÍCIOS PREPARATÓRIOS PARA AS DISCIPLINAS INTRODUTÓRIAS DA MATEMÁTICA

Introdução. Software Básico Aula 3. Prof. Dr. Rogério Vargas.

INTRODUÇÃO À PROGRAMAÇÃO EM FORTRAN

Vetores Unimensionais

Júlio César Scheiffer Saleh

Introdução à Programação com Python

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

Compiladores II. Fabio Mascarenhas

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

Lista 4 Introdução à Programação Entregar até 07/05/2012

Estrutura de repetição para número indefinido de repetições com teste no inicio (Enquanto - while)

Processamento da Informação Teoria. Exercícios sobre strings

Fundamentos de Programação em Python

Cálculo I -A- Humberto José Bortolossi. Aula 1 18 de agosto de Departamento de Matemática Aplicada Universidade Federal Fluminense

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos

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

CAPÍTULO II. Variáveis e Expressões CAPÍTULO II COMENTÁRIOS SINTAXE / SEMÂNTICA ESTRUTURA DE UM ALGORITMO EM PSEUDOCÓDIGO

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa

Manipulação de Strings. Vanessa Braganholo

1 Cálculo do valor à vista

Estruturas de Repetição

Objectos Gráficos 1. APROG (Civil) Aula 4. Friday, November 2, 12

Algoritmos e Estrutura de Dados Aula 08 Pilhas

Ficheiros binários 1. Ficheiros binários

Arte e Matemática. Série Matemática na Escola

SISTEMA DE NF-e. Manual de Exportação de NF-e Instruções e Layout

Programação II. Strings (Cadeias de Caracteres) Bruno Feijó Dept. de Informática, PUC-Rio

Algoritmos Estruturas de Controle

5. ESTRUTURA DE CONTROLE TOMADA DE DECISÕES

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Câmpus Ponta Grossa. Coordenação do Curso Superior de Tecnologia em. Automação Industrial

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

Algoritmos APRENDENDO A PROGRAMAR COM C#

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução

INF1007: Programação 2 9 Tipos Abstratos de Dados. (c) Dept. Informática - PUC-Rio 1

Transcrição:

Cadeias de Caracteres Introdução à Programação para Biologia Molecular Rosane Minghim Apoio na confecção: Danilo Medeiros Eler Rogério Eduardo Garcia Renato Rodrigues Carlos E. A. Zampieri Cadeia de Caracteres Para armazenar dados alfanuméricos; Definição: variável nome: cadeia[30] Número máximo de caracteres para a variável nome nome... 1 2 3 4 29 30 Baseado na Apostila: Curso Introdutório de Computação por R. Minghim e G. P. Telles Cadeias de Caracteres Atribuição e Armazenamento: nome Jose nome J o s e... 1 2 3 4 29 30 tamanho: retorna o tamanho de uma tamanho(str): inteiro e:str:cadeia posição: busca uma cadeia (str1) em outra (str2) posição(str1,str2):inteiro e:str1,str2:cadeia insere: insere uma em outra a partir de uma posição dada insere(fonte, origem, índice) e/s:fonte: cadeia e:origem: cadeia e: índice: inteiro apaga: elimina uma quantidade de caracteres a partir de uma posição dada apaga(str, pos_inicial,tam) e/s:str: cadeia e:pos_inicial:inteiro e: tam: inteiro copia: retorna uma parte de uma cadeia de caracteres copia(str, pos_inicial, tam): cadeia e:str: cadeia e:pos_inicial:inteiro e: tam: inteiro concatena: junta duas ou mais cadeias de caracteres concatena(s1, s2, [s3,..., sn]):cadeia e:s1..sn:cadeia 1

valor: converte uma para um valor numérico valor(str, num) e:str:cadeia s:num:real str: converte um valor numérico para uma str(num, str) s:str:cadeia e:num:real código: retorna o código ASCII de um caracter: código(c):inteiro e:c:caracter r:o código do caracter caracter: retorna o caracter associado a um determinado código ASCII caracter(v):caracter e: v:inteiro r: o caracter associado ao código compara: compara duas cadeias e retorna: <0 if str1 < str2 =0 if str1 = str2 >0 if str1 > str2, considerando a ordem alfa-numérica. compara(str1,str2,res) e:str1,str2:cadeia s:res:inteiro Cadeias de Caracteres - Subprogramas O pseudo-código admite que cadeias sejam passadas como parâmetros, e admite cadeias de caracteres como retorno de funções. Por exemplo, o cabeçalho de um subprograma para eliminar todas as ocorrências de uma certa cadeia dentro da outra, resultando numa cadeia distinta poderia ser dado por: tipo cadeia_nova = cadeia [255] Subprobrama elimina_ocorrências(s1,s2):cadeia_nova e:s1:cadeia_nova { origem} e:s2:cadeia_nova {trecho a ser procurado na cadeia} s:r:cadeia_nova {cópia de s1 exceto todas as ocorências de s2} Exercícios Desenvolver um algoritmo para, dada uma cadeia de caracteres, alterá-la para que sejam eliminadas todas as ocorrências da sequência AB na cadeia. Generalizá-lo para manipular duas cadeias quaisquer. Desenvolver o algoritmo de duas formas: 1. Sem utilizar as funções de manipulação de cadeias de caracteres, exceto a função tamanho. 2. Utilizando as funções de manipulação de cadeia de caracteres vistas anteriormente. Exercícios Desenvolver um algoritmo para um subprograma que leia o nome completo de alguém, por exemplo. João José da Silva Maria B. Albuquerque e retorne uma outra cadeia com o nome na forma: Silva, J. J. Albuquerque, M. B. Desenvolver um algoritmo para ler uma cadeia de caracteres, detectar se é um número, e converter se for. 2

Definição de Cadeia de Caracteres em PYTHON Em python existe o tipo str(string) que define um com dimensão única ou n dimensões Existem várias funções para manipulação de cadeias de caracteres, sendo que strings em python aceitam alguns operadores matemáticos Exemplo: s = A + B # AB Tamanho len(str) s = raw_input() print '"',s,' print 'tamanho = ',len(s) Posição str1.find(str2) find() busca str2 em str1 e retorna um valor inteiro que representa o índice do primeiro caracter de str2 dentro de str1. Se não encontrar, retorna -1 s = ' 123.5' #converte espaços em branco para zeros while s.find(' ') >= 0: s = s[0:s.find( ')]+ 0'+s[s.find( ')+1:len(s)] Ou Insere Inserir uma nova em s a partir da posição pos. s = 'conecta com outra de caracteres' pos = 17 nova = ' cadeia' s = s[0:pos] + nova + s[pos:len(s)] s = s.replace(' ','0') #Substitui todas as ocorrências Apaga Eliminar um intervalo de caracteres a partir de uma dada posição inicial e final s = 'conecta com outra ' ini = 17 #posição inicial fim = 23 #posição final s = s[0:ini]+s[fim+1:len(s)] print s #'conecta com outra de caracteres' Cópia Retorna uma copia de parte de uma dada uma posição inicial e final s = 'ABACATE' ini = 1 #posição inicial fim = 5 #posição final s = s[ini:fim] #'BACA' 3

Concatena Junta duas ou mais cadeias de caracteres. Em python, o operador + produz a junção das cadeias de caracteres. s = 'ABC' + 'DEF print s #'ABCDEF' Valor int(s):converte uma para um valor numérico inteiro float(s): converte uma cadeia de caracteres para um valor numérico real Onde s é uma cadeia contendo uma sequência de caracteres que formam um número A função isdigit() verifica se a cadeia de caracteres possui apenas números e retorna True para verdadeiro e False caso contrário s.isdigit() Valor s = raw_input() if s.isdigit()==true: i = int(s) print 'valor = ',i a = s.split('.') if len(a)==2: i = float(s) print 'valor = ',i print 'erro na conversão' Conversão para cadeia str(): converte um valor numérico para s = str(3294) print s Comparação Em PYTHON, os operadores <, > e == podem ser usados para comparar cadeias de caracteres. Exemplos: if str1 < str2: if str1 == str2: if str1 > str2: Comparação s1 = raw_input() s2 = raw_input() if s1 < s2: result = ' é menor que ' if s1 > s2: result = ' é maior que ' result = ' é igual a ' print s1,result,s2 4

Códigos ASCII ord(): retorna o código ASCII de um caracter: codigo = ord(caracter) chr(): retorna o caracter associado a um determinado código ASCII caracter = chr(codigo) Subprogramas Em PYTHON, é possível retornar uma cadeia de caracteres em um subprograma retornando a modificada O subprograma, no caso seria do tipo: def elimina_ocorrencias(cadeia,frase): while cadeia.find(frase)>=0: pos = s.find(frase) s = s[0:pos]+s[pos+1:len(s)] return s cadeia1 = elimina_ocorrencias(cadeia,'ab') Cadeia de Caracteres Introdução à Programação para Biologia Molecular Rosane Minghim Apoio na confecção: Danilo Medeiros Eler Rogério Eduardo Garcia Renato Rodrigues Carlos E. A. Zampieri Baseado na Apostila: Curso Introdutório de Computação por R. Minghim e G. P. Telles 5