Algoritmia e Programação

Documentos relacionados
Manipulação de Texto. APROG (Civil) Aula 16

Instituto Superior de Engenharia do Porto Programação (SEE)

Exercícios Data Modeling

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema

Um algoritmo deve conter passos não ambíguos, executáveis e que sejam terminados quando seguidos.

Variáveis Tipos de Dados. APROG (Civil) Aula 2

Principais Funções do VBscript

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

Para instalar o Visual Basic 2010 Express.

Visual Basic for Applications: # 1

Introdução à Computação. Programas Básicos. ISEP DEI, Angelo Martins 2006 Programas Básicos - 1

DESENVOLVIMENTO DE SOFTWARE

Linguagem de Programação II. Introdução à programação em VB Professor: Armando Hage

INFORMÁTICA DE GESTÃO

Exercícios de VBA. Paulo Melo Joana Dias Óscar Lourenço 17 de Maio de 2006

CÓDIGO FONTE CALCULADOR DE 04 OPERAÇÕES

Tipos de Referência. Referência Relativa $A$1. Referência Absoluta. Referência Mista. $A1 ou A$1

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO 11ºANO

Instituto Superior de Línguas e Administração GAIA Concurso: Oscares da Academia

DESENVOLVIMENTO DE SOFTWARE

Manipulando Strings no VBA (Replace, Mid e InStr)

Escrever scripts de PHP com HTML

MICROSOFT EXCEL & VISUAL BASIC FOR APPLICATIONS MÓDULO SPECIALIST

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

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?

Manipulando Strings no VBA (Replace, Mid e InStr)

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

Sintaxe da linguagem Java

Funções do Project para campos personalizados

Estrutura de Dados Polinómio

Módulo 1a: Introdução ao Visual Basic for Applications (VBA)

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

Introdução ao fortran 90 - Aula 1

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Continuação de Estruturas de controle. Foreach

Linguagem de programação: Pascal

TÉCNICO DE INFORMÁTICA - SISTEMAS

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

Introdução à Programação em C (II)

Introdução à Computação. Estruturas de Decisão. ISEP DEI, Angelo Martins 2006 Estruturas de Decisão - 1

Nesta aula vamos trabalhar operações entre números e letras:

Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA

5. NOÇÕES DE PROGRAMAÇÃO

SQL (com MySQL) Apresentação OBJETIVOS. Programação

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

5. Modificar a Caixa de todos os Caracteres em uma String

CFAC: Visual Basic: IV - Decisões

Métodos de Programação I (2005/2006) 1. Ficheiro (file)

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

Controle de consistência utilizando Cálculo em BASIC

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

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução

Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos.

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;

Apontamentos de. Programação e Algoritmia

De novo, vamos começar pelas funções mais básicas, testá-las e depois usá-las em funções mais complexas.

Métodos Computacionais. Strings (Vetor de Caracteres)

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

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas

Recursão. Prof. Cristiano André da Costa. [Versão de Março de 2000] Definição

Algoritmo e Programação Matemática

Possível resolução (Arquitectura VBA Exercícios por resolver)

ENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO

Páginas seleccionadas

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

Linguagem de programação Strings

Visual Basic for Applications

Para iniciarmos o trabalho se faz necessária a implantação da GUIA DESENVOLVEDOR. Botão Direito do Mouse; Personalizar Faixa de Opções

JSP Prof. Daniela Pires. VARIAVEIS... 2 Tipos de Dados... 2 String Float Integer Boolean... 3

tipoveiculo = (bicicleta, motociclo, motorizada, automovel, autocomreb, camioneta, autocarro, camiao, reboque); veiculo : tipoveiculo;

Unidade VI. Técnicas de Teste de Software Teste Estrutural. Profa. Dra. Sandra Fabbri

Laboratório de Programação I

Refinamentos sucessivos

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

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

Programação de Computadores:

Plano de Aula - Excel 2016 Avançado - cód Horas/Aula

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Sexta aula

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian

Cadeia de caracteres (strings)

Vamos Programar? - Introdução à Programação #3

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

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

Apostila de Fortran. É uma pseudo-linguagem a qual oferece recursos para que o programador possa codificar e testar os seus algoritmos.

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

Visual Basic. V - Repetição. CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares

Aula de PG Novembro de 2013, LT14D e LT11D - Sobre o Tipo String do Java

Bertolo Por que Laços no VBA?

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

Informática Básica. Aula 13 Macros e introdução a programação

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

Microsoft Excel & Visual Basic for Applications. Módulo I. Beginner. 2016/ horas

V - Repetição. CFAC Concepção e Fabrico Assistidos por Computador. 2) Elementos de uma estrutura de repetição;

Comandos em C (cont.)

Plano de Aula - Excel 2013 Avançado - cód Horas/Aula

Engenharia Civil e Engenharia Básica Programação de Computadores Wedson Quintanilha da Silva

Transcrição:

Algoritmia e Programação Manipulação de Texto (Strings)

Conteúdo Conceito e aplicação O que são e para que servem as strings. Rotinas de manipulação de strings incluídas na biblioteca do Visual Basic. Rotinas com strings Utilização de strings como parâmetros de funções e subrotinas. Exemplos de aplicação Manipulação de caracteres e palavras.

Strings - Conceito O que são strings? Uma grande parte das linguagens de programação permitem manipular caracteres e/ou conjuntos de caracteres. Uma string, em português cadeia de caracteres, é uma entidade que representa uma sequência de caracteres (letras, algarismos e caracteres especiais). Em Visual Basic, uma string é representada internamente como um vector de números inteiros, em que cada valor numérico representa um caracter.

Declaração de Strings Sintaxe String Dim <nome> as String Vector de Strings Dim <nome>(<nº de elementos>) As String Exemplo Dim st1 As String, st As String st1 = txtmystring.text st = "Olá" + " " & st1

Funções do VB - Trim Trim, LTrim e RTrim Retornam uma string idêntica à original, mas com espaços eliminados no início e/ou fim da string. Dim st1 As String, st2 As String st1 = Olá Mundo! st2 = Trim(st1) st2 = "Olá Mundo!" Foram eliminados os espaços no início e no fim da string. st2 = LTrim(st1) st2 = RTrim(st1) st2 = "Olá Mundo! " Foram eliminados os espaços no início da string (left). st2 = " Olá Mundo!" Foram eliminados os espaços no fim da string (right). Os espaços que ocorram entre outros caracteres da string não são afectados por estas funções.

Funções do VB - Len Len Retorna o número de caracteres da string. Dim st1 As String, k As Integer st1 = " Olá Mundo! " k = Len(st1) k = 16 a string tem 16 caracteres, incluindo espaços. k = Len(Trim(st1)) k = 12 Foram eliminados os espaços no início e no fim da string passada à função Len(). Exemplo de aplicação: Verificar se uma string está vazia If Len(st1) = 0 then Endif

Funções do VB Right, Left Left, Right Left(<original> as String, <nº_caracteres> as Integer) as String Copiam o número de caracteres indicado da string original a partir da esquerda (Left) ou da direita(right). Dim st1 As String, st2 As String, k As Integer st1 = "Olá Mundo!" k = 2 st2 = Left(st1, k) st2 = Right(st1, k) Exemplo de aplicação: eliminar o primeiro caracter de uma string. st1 = Right(st1, Len(st1)-1) st2 = "Ol" os dois primeiros caracteres da string, a partir da esquerda. st2 = "o!" os dois últimos caracteres da string, a partir da direita. Copia todos os elementos da string, a partir da direita, com a excepção do primeiro..

Funções do VB Mid Mid Mid(<original> as String, <pos_init> as Integer [, _ <nº_caracteres> as Integer]) as String Copia o número de caracteres indicado a partir da posição inicial passada como parâmetro. O número de caracteres é opcional. Se não for indicado, copia tudo até ao fim da string. Dim st1 As String, st2 as String st1 = "Olá Mundo!" st2 = Mid(st1, 2, 3) st2 = Mid(st1, 6, 8) st2 = "lá " copia 3 caracteres a partir da segunda posição inclusive. st2 = "undo!" copia os caracteres a partir da sexta posição. Como o número de caracteres ultrapassa o limite da string, apenas são copiados os caracteres existentes.

Funções do VB Instr Instr Instr([<pos_init> as Integer,] <original> as String, _ <padrão> as String) as Integer Procura uma string (<padrão>) dentro de outra (<original>). A posição inicial é opcional. Se não for definida a busca far-se-á do princípio. Dim st1 As String, k As Integer st1 = "Olá Mundo!" k = Instr(st1, " ") k = Instr(5, st1, " ") k = 4 posição do primeiro espaço. k <= 0 não há nenhum espaço a partir da posição 5.

Funções do VB UCase, LCase UCase, LCase UCase(<original> as String) as String LCase(<original> as String) as String Retorna uma string idêntica à original, mas com os caracteres convertidos para maiúsculas (UCase) ou minúsculas (LCase). Os números e os caracteres de pontuação não são obviamente afectados. Dim st1 As String, st2 as String st1 = "Ola 1,2,3!" st2 = UCase(st1) st2 = "OLA 1,2,3!" st2 = LCase(st1) st2 = "ola 1,2,3!"

Algoritmos Caracteres Separação de uma string em caracteres Pretende-se manipular cada um dos caracteres de uma string. O VB não tem um tipo de dados caracter, pelo que cada caracter será guardado numa string. Vamos utilizar dois métodos: Método 1 Utilizam-se as funções Left() e Right() Ciclo Do Loop Método 2 Utilizando a função Mid() Ciclo For Next ou Do Loop

Separação de caracteres Método 1 destrói a string original Dim st As String, c As String Do While st <> "" c = Left(st, 1) Enquanto a string tiver caracteres. Obtém o primeiro caracter da string. ' Aqui pode-se fazer algo com os caracteres Loop st = Right(st, Len(st) - 1) Elimina o primeiro caracter da string, copiando todos os caracteres menos o primeiro. Método 2 preserva a string original Dim st As String, c As String, v As Integer For v = 1 To Len(st) Para cada caracter da string. c = Mid(st, v, 1) Obtém o caracter na posição v string. ' Aqui pode-se fazer algo com os caracteres Next

Exemplo Enunciado Elabore uma função que retorne a simétrica de uma string passada como parâmetro. Utilizando a função, elabore um programa que verifique se uma dada string é simétrica de si própria. txtst lblsim cmdver lblres

Exemplo - Código Private Sub cmdver_click() Dim sto As String, sti As String lblres.visible = False sto = txtst.text Não se pode utilizar a função Val() ao ler strings! Lêse directamente de uma TextBox ou InputBox. sti = invstring(sto) lblsim.caption = sti If sti = sto Then lblres.caption = "String Simétrica!" Else lblres.caption = "String Assimétrica!" End If lblres.visible = True End Sub Function invstring(byval st As String) As String Dim c As String, iv As String Do While st <> "" Enquanto a string tiver caracteres... c = Left(st, 1) st = Right(st, Len(st) - 1) iv = c & iv Reconstrói a string colocando os caracteres Loop pela ordem inversa, isto é, o último é invstring = iv colocado no início. End Function

Algoritmos Palavras Separação de uma string em palavras Entende-se como uma palavra: Conjunto de caracteres entre espaços, entre o início da string e um espaço, entre um espaço e o fim da string, ou todos os caracteres de uma string, se esta não tiver espaços. Vamos utilizar um método destrutivo, em que se procura o primeiro espaço e se assume que entre o início da string e o espaço se encontra uma só palavra. Utilizam-se as funções Left(), Right(), Instr() e Trim() Ciclo Do Loop

Separação de palavras st = Trim(st) Elimina espaços no início e fim da string, de forma a que o primeiro espaço delimite uma palavra. Enquanto a string tiver caracteres.. Do While st <> "" Se existir Palavra única p = InStr(st, " ") If p > 0 Then Else pal = Left(st, p - 1) st = LTrim(Right(st, Len(st) - p)) pal = st st = "" Procura o primeiro espaço da string, retornando a sua posição ou um valor negativo ou nulo, se não existir. Copia a palavra e limpa a string. Copia a palavra (p-1 caracteres para não copiar o espaço) End If ' Pode-se fazer aqui alguma coisa com a palavra contida na variável pal Loop Elimina a palavra copiada. Utiliza-se o LTrim() para eliminar eventuais espaços repetidos entre palavras.

Execução passo a passo Teste com a string: Olá mundo! Iteração st st <> "" p p>0 pal " Olá mundo! " "" "Olá mundo!" 1 True 4 True "Olá" "mundo!" 2 True 0 False "mundo!" "" 3 False

Exemplo Elabore uma função que recebe uma string como parâmetro e retorna o número de palavras que a string contém. Public Function npal(byval st As String) As Integer Dim n As Integer, p As Integer st = Trim(st) If st<> Then Do p = InStr(1, st, " ") If p > 0 Then st = LTrim(Right(st, Len(st) - p)) End If n = n + 1 Loop While p > 0 End If npal = n End Function Se p>0, é porque encontrou um espaço e, portanto, uma palavra. Conta o número de palavras encontradas

Outro Exemplo Elabore uma função que recebe uma string e um número n como parâmetros e retorna outra string com as palavras da primeira com menos de n caracteres. Function truncapal(byval st As String, ByVal n As Integer) As String Dim p As Integer, pal As String, stout As String st = Trim(st) Do While st <> "" p = InStr(st, " ") If p > 0 Then pal = Left(st, p - 1) st = LTrim(Right(st, Len(st) - p)) Else pal = st st = "" End If If Len(pal) < n Then stout = stout + " " + pal End If Loop truncapal = Trim(stout) End Function Extrai uma palavra e prepara st para a próxima extração. Se a palavra contém menos de n caracteres, então é acrescentada a stout.