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

Documentos relacionados
Processamento da Informação Teoria. Strings

Processamento da Informação Teoria Funções

Processamento da Informação Teoria. Recursividade

Manipulação de Strings. Vanessa Braganholo

Manipulação de Strings. Vanessa Braganholo

Processamento da Informação Teoria. Desvio Condicional

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

imprimir seus quadrados.

Listas. Prof. Alberto Costa Neto Programação em Python

Computação I - Python Aula 1 - Teórica: Manipulação de Strings, Tuplas e Listas

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - Dicionário. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18

1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

Programação de Computadores II

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Processamento da Informação Teoria. Matrizes

MAC2166 Introdução à Computação

Introdução à Programação

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

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015

Computação 1 - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings 1/ 26

Algoritmos e Programação

MCG114 Programação de Computadores I. Strings. Strings. Strings. Strings. Strings 3/26/18. Profa. Janaína Gomide

Python. Resumo e Exercícios P2 Parte 1

Laboratório de Programação A Exercícios sobre vetores e matrizes

Fundamentos de Lógica e Algoritmos. Aula 3.2 IDLE, Variáveis e Tipos. Prof. Dr. Bruno Moreno

Listas e Tuplas. Vanessa Braganholo

Aula 01 Algoritmos e lógica de programação e introdução ao C++

ESTRUTURAS DE CONTROLE

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

BC-0005 Bases Computacionais da Ciência Aula 07 Lógica de Programação: Estruturas de repetição

PYTHON LISTAS. Introdução à Programação SI1

Fundamentos de Programação em Python

MAC2166 Introdução à Computação

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

4ª Série de Exercícios Variáveis Compostas Homogêneas 1. Faça um algoritmo que leia, via teclado, 10 valores do tipo inteiro e os guarde na memória.

1. Para cada pergunta selecione uma opção. Resposta correta +2, incorreta -1. [12 pontos]

Computação 1 - Python Aula 4 - Teórica Variáveis e Atribuição, Strings. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 30

INTRODUÇÃO À COMPUTAÇÃO - RESUMO E EXERCÍCIOS* P2

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

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1

Computação I - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Alfabeto, Cadeias, Operações e Linguagens

FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias

Programação I Aula 9 Listas e tuplos

Processamento da Informação Teoria. Matrizes

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

Computação 1 - Python Aula 12 - Teórica: Interação com o usuário e programa principal. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 25

Aula 5 - Mais C e repetição

Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

SCC0124 Introdução à Programação para Engenharias

LABORG. Parte 4 Programação em Linguagem de Montagem do MIPS. Fernando Gehm Moraes Matheus Trevisan Moreira

Conceitos de Linguagens de Programação

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Estruturas de Repetição. for() while() do-while() break; continue;

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Transcrição:

Processamento da Informação Teoria Exercícios sobre strings Semana 04 Prof. Jesús P. Mena-Chalco 18/05/2013

Uma string é uma sequência Uma string (cadeia) é uma sequência de caracteres. Podemos acessar aos caracteres com o operador colchete >>> fruta = "banana" >>> letra = fruta[1]

Uma string é uma sequência A primeira letra ( b ) tem a posição 0. A segunda letra ( a ) tem a posição 1,... >>> fruta = "banana" >>> print fruta[0] b >>> print fruta[1] a >>> print fruta[2] n Índices

Strings são imutáveis É tentador usar o operador [ ] no lado esquerdo de uma atribuição, com a intenção de mudar um caractere em uma string. Por exemplo: >>> greeting = 'Hello, world!' >>> greeting[0] = 'J' TypeError: object does not support item assignment

Strings são imutáveis Parte do conteúdo de uma string não pode ser modificado de forma direta. Uma alternativa é a criação de uma nova string que contenha a modificação: >>> greeting = 'Hello, world!' >>> new_greeting = 'J' + greeting[1:len(greeting)-1] >>> print new_greeting Jello, world!

Atividade na aula anterior... Crie uma função que receba duas palavras e retorne True se uma das palavras é o reverso da outra: def reverso(palavra1, palavra2): Exemplo: 'pots' é reverso de 'stop' 'livres' é reverso de 'servil'

Atividade na aula anterior...

Atividade na aula anterior... def inverter_palavra(palavra): temporal = "" i = len(palavra)-1 while i>=0: temporal = temporal + palavra[i] i=i-1 return temporal

Atividade na aula anterior... def reverso2(palavra1, palavra2): if palavra1 == inverter_palavra(palavra2): return True else: return False

Atividade na aula anterior... def reverso3(palavra1, palavra2): if len(palavra1)!= len(palavra2): return False n = len(palavra1) i = 0 while i<n: if palavra1[i]!= palavra2[n-1-i]: return False i = i+1 return True

Atividade na aula anterior... Crie uma função que receba duas palavras e retorne True caso a primeira palavra seja um prefixo da segunda: Cabeçalho: def prefixo (palavra1, palavra2): Exemplo: 'uf' é prefixo de 'ufabc'

Atividade na aula anterior... Solução com erro...

Atividade na aula anterior...

Atividade na aula anterior... Palavra1 Palavra2

Atividade na aula anterior... Palavra1 i=0 Palavra2

Atividade na aula anterior... Palavra1 i=0 i=1 i=2 Palavra2

Atividade na aula anterior... Crie uma função que receba duas palavras e retorne True caso a primeira palavra seja um sufixo da segunda: Cabeçalho: def sufixo (palavra1, palavra2): Exemplo: 'abc' é sufixo de 'ufabc'

Atividade na aula anterior... def sufixo(palavra1, palavra2): n1 = len(palavra1) n2 = len(palavra2) if n1 > n2: return False j = 0 while j<n1: if palavra1[n1-1-j]!= palavra2[n2-1-j]: return False j = j+1 return True

Atividade na aula anterior... Palavra1 Palavra2

Atividade na aula anterior... n1-1-0 Palavra1 j=0 Palavra2 n2-1-0

Atividade na aula anterior... n1-1-1 Palavra1 j=1 Palavra2 n2-1-1

Atividade na aula anterior... n1-1-2 Palavra1 j=2 Palavra2 n2-1-2

def funcao1(frase): str1 = "" str2 = "" k = len(frase)-1 while k>=0: str1 = str1 + frase[k] str2 = frase[k] + str2 k = k-1 print str1 print str2 Atividade em Aula Questão 1: Indique a mensagem que apresentará a execução da seguintes função. Considere como parâmetro de entrada a string abracadabra

def funcao2(palavra): str = '' k = 0 while k<len(palavra): str = str + palavra[k] k = k+1 while k>0: k = k-1 str = str + palavra[k] print str Atividade em Aula Questão 2: Indique a mensagem que apresentará a execução da seguintes função. Considere como parâmetro de entrada a string UFABC e 123

Atividade em Aula Questão 3: Indique a mensagem que apresentará a execução da seguintes função. Considere como parâmetro de entrada a string um dois tres. def funcao3(frase): contador = 0 k = 0 while k<len(frase)/2: if frase[k]==" ": contador = contador+1 print contador

Atividade em Aula Questão 1: Indique a mensagem que apresentará a execução da seguintes função. Considere como parâmetro de entrada a string abracadabra def funcao1(frase): str1 = "" str2 = "" k = len(frase)-1 while k>=0: str1 = str1 + frase[k] str2 = frase[k] + str2 k = k-1 print str1 print str2 Resposta: >>> funcao1("abracadabra") arbadacarba abracadabra

Atividade em Aula Questão 2: Indique a mensagem que apresentará a execução da seguintes função. Considere como parâmetro de entrada a string UFABC e 123 def funcao2(palavra): str = '' k = 0 while k<len(palavra): str = str + palavra[k] k = k+1 while k>0: k = k-1 str = str + palavra[k] print str Resposta: >>> funcao2("ufabc") UFABCCBAFU >>> funcao2("123") 123321

Atividade em Aula Questão 3: Indique a mensagem que apresentará a execução da seguintes função. Considere como parâmetro de entrada a string um dois tres. def funcao3(frase): contador = 0 k = 0 while k<len(frase)/2: if frase[k]==" ": contador = contador+1 print contador Resposta: Loop infinito, sem resposta.

Atividade em Aula Questão 3: Indique a mensagem que apresentará a execução da seguintes função. Considere como parâmetro de entrada a string um dois tres. def funcao3(frase): contador = 0 k = 0 while k<len(frase)/2: if frase[k]==" ": contador = contador+1 k = k+1 print contador Resposta: >>> funcao3("um dois tres") 1

String palíndroma Fazer uma função que receba como parâmetro uma string e verifique se ela é palíndroma, isto é, se ela é igual lida da esquerda para a direita e vice-versa. Exemplos: - "RADAR" é palíndroma - "B123321B" é palíndroma - "oaio" não é palíndroma Cabeçalho: def palindroma(palavra):

def palindroma1(str): if str == inverter_palavra(str): return True else: return False String palíndroma: solução 01 def inverter_palavra(palavra): temporal = "" i = len(palavra)-1 while i>=0: temporal = temporal + palavra[i] i=i-1 return temporal

String palíndroma: solução 02 palavra

String palíndroma: solução 02 palavra 0 n-1-0 k=0

String palíndroma: solução 02 palavra 1 n-1-1 k=1

String palíndroma: solução 02 palavra 2 n-1-2 k=2

String palíndroma: solução 02 palavra 3 n-1-3 k=3

String palíndroma: solução 02 def palindroma2(str): n = len(str) k = 0 while k<n/2: if str[k]!= str[n-k-1]: return False k = k+1 return True

String palíndroma: solução 02 def palindroma2(str): n = len(str) k = 0 while k<n/2: if str[k]!= str[n-k-1]: return False k = k+1 return True

Última palavra Crie uma função que receba, como parâmetro, uma string e imprima somente a última palavra da mesma. Exemplo: Se a string for "José da Silva", deverá ser impresso na tela a substring "Silva". Cabeçalho: def ultima_palavra(frase):

Última palavra def ultima_palavra(frase): palavra = "" k = len(frase)-1 while k>=0: if frase[k]!=" ": palavra = frase[k]+palavra else: break k = k-1 print palavra

Última palavra: Solução

Cabeçalho: def conta_palavras(frase): Lista 04: Número de palavras Questão única: Crie uma função para ler uma frase (string) e contar o número de palavras dessa frase. Considere que as palavras estão separadas por espaços brancos ou vírgulas. Exemplos: Processamento contém 1 palavra. Processamento da informação contém 3 palavras. computador, caderno e caneta contém 4 palavras. linux contém 1 palavra. não contém palavras.,,, não contém palavras.

Lista 04: Número de palavras A entrega da Lista 04 deverá ser enviada através do Tidia-ae. Seção Atividades/lista-04. Até 24/05 (23h50) Sexta-feira. Deve ser enviado um arquivo PDF contendo a solução da questão. Também deverão ser apresentadas (no mesmo documento) as respostas para cada um dos exemplos descritos no enunciado. O documento deve ter o seguinte nome: RA-SeuNomeCompleto-Lista-04.pdf