strcmp("teste 1", " test") ans = 0 strcmp(s1,s2) : compara as strings s1 com s2, se forem iguais retorna 1, se diferentes retorna 0 octave:8> toupper("Atencao - aviso") ans = ATENCAO - AVISO tolower(s) / toupper(s) : converte uma string para minúsculas/maiúsculas octave:7> str2num("555") + 5 ans = 560 str2num(s) : converte um número representado numa string para um número octave:6> strrep("abcabcabdad","ab","AB") ans = ABcABcABdad strrep(s, x, y) : substitui todas as ocorrências de x por y na string s octave:6> split("abcabcabdad","ab") ans = c c dad split(s,t) : Divide uma string num vector (coluna) de strings separados por t octave:5> findstr("abcabcabdad","ab") ans = findstr(s,t) : Encontra todas as posições da string mais curta na string mais longa ExemploDescrição"> strcmp("teste 1", " test") ans = 0 strcmp(s1,s2) : compara as strings s1 com s2, se forem iguais retorna 1, se diferentes retorna 0 octave:8> toupper("Atencao - aviso") ans = ATENCAO - AVISO tolower(s) / toupper(s) : converte uma string para minúsculas/maiúsculas octave:7> str2num("555") + 5 ans = 560 str2num(s) : converte um número representado numa string para um número octave:6> strrep("abcabcabdad","ab","AB") ans = ABcABcABdad strrep(s, x, y) : substitui todas as ocorrências de x por y na string s octave:6> split("abcabcabdad","ab") ans = c c dad split(s,t) : Divide uma string num vector (coluna) de strings separados por t octave:5> findstr("abcabcabdad","ab") ans = findstr(s,t) : Encontra todas as posições da string mais curta na string mais longa ExemploDescrição">

A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.1 Octave Cadeias e ficheiros.

Apresentações semelhantes


Apresentação em tema: "Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.1 Octave Cadeias e ficheiros."— Transcrição da apresentação:

1 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.1 Octave Cadeias e ficheiros

2 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.2 Strings (Revisão) É uma sequência de caracteres entre ou. Mais funções do que as que vamos ver a seguir podem ser encontradas no manual do octave. octave:1> a= "uma cadeia de caracteres a = uma cadeia de caracteres octave:2> ["Uma string e ",a] ans = Uma string e uma cadeia de caracteres octave:4> a(1:7) ans = uma cad

3 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.3 Strings (Revisão) octave:9> strcmp("teste 1", "teste 1") ans = 1 octave:10> strcmp("teste 1", " test") ans = 0 strcmp(s1,s2) : compara as strings s1 com s2, se forem iguais retorna 1, se diferentes retorna 0 octave:8> toupper("Atencao - aviso") ans = ATENCAO - AVISO tolower(s) / toupper(s) : converte uma string para minúsculas/maiúsculas octave:7> str2num("555") + 5 ans = 560 str2num(s) : converte um número representado numa string para um número octave:6> strrep("abcabcabdad","ab","AB") ans = ABcABcABdad strrep(s, x, y) : substitui todas as ocorrências de x por y na string s octave:6> split("abcabcabdad","ab") ans = c c dad split(s,t) : Divide uma string num vector (coluna) de strings separados por t octave:5> findstr("abcabcabdad","ab") ans = 1 4 7 findstr(s,t) : Encontra todas as posições da string mais curta na string mais longa ExemploDescrição

4 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.4 Exercícios Propostos (Revisão) octave:1> email = amp@di.fct.unl.pt email = amp@di.fct.unl.pt octave:2> username =..... username = amp octave:3> domain =..... domain = di.fct.unl.pt

5 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.5 Caracteres Um caracter pode ser uma letra (A,b,etc.), um dígito (1,5,etc) ou um simbolo (:,-,,etc.) No caso de ser uma letra diz-se alfabético No caso de ser um dígito diz-se numérico Ao conjunto de caracteres alfabéticos e caracteres numéricos chama-se alfanuméricos. O sinal < pode ser utilizado entre dois caracteres, indicando se o caracter da esquerda é lexicograficamente menor que o da direita.

6 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.6 Strings Uma string é uma cadeia de caracteres Podemos aceder ao n-ésimo caracter de uma string através da mesma notação que usamos para as matrizes: >> cadeia = isto é uma string >> cadeia(3) ans=t

7 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.7 Exercício 1 Fazer uma função conta_vogais que conta o número de vogais numa string. function n=conta_vogais(cadeia)... endfunction c_maiusculo = toupper(c) if index("AEIOU",c_maiusculo) > 0... etc... endif Dica: Para testarmos se um caracter c é uma vogal podemos fazer:

8 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.8 Strings normalizadas Uma string normalizada é uma string em que: Todos os caracteres alfabéticos estão em maiúsculas A string começa e acaba com caracteres alfanuméricos As palavras são separadas por um só espaço UMA STRING 2 STRINGS Exemplos de strings normalizadas Uma String 2 STRINGS Exemplos de strings NÃO normalizadas

9 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.9 Exercício 2 Fazer uma função cmp_str que compara duas strings e retorna: 0 se elas são exactamente iguais. -1 se o primeiro caracter diferente entre as duas strings, na primeira string é lexicograficamente inferior ao da segunda. 1 se o primeiro caracter diferente entre as duas strings, na primeira string é lexicograficamente superior ao da segunda.

10 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.10 Ficheiros (1) Na vossa pasta criar um ficheiro de texto chamado abracadabra (não é preciso ser um ficheiro do octave) Abrir o ficheiro e escrever lá qualquer coisa na primeira linha, por exemplo: bla, ble, etc

11 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.11 Ficheiros (2) Para se fazerem coisas com o conteúdo de um ficheiro é preciso primeiro 'abrir' o ficheiro: [fid,msg]=fopen(nome-do-ficheiro, modo) nome-do-ficheiro: string com o nome do ficheiro para abrir, por exemplo abracadabra.txt modo: uma das seguintes strings: r - se o ficheiro é para ser lido w - se o ficheiro é para ser escrito (substituindo o que lá estiver) a - se o ficheiro é para ser escrito (acrescentando ao que lá estiver)

12 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.12 Ficheiros (3) Ler um caracter do ficheiro: [c1,count] = fscanf(fid,%c,C) Ler dois caracteres do ficheiro: [c1,c2,count] = fscanf(fid,%c %c,C) ou então: v=[ ] for i=1:2 [v(i),count] = fscanf(fid,%c,C)

13 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.13 Ficheiros (4) Para testar se já chegamos ao fim do ficheiro: feof(fid) Devolve 1 ou 0, caso respectivamente já estejamos ou não no fim do ficheiro.

14 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.14 Ficheiros (5) Quando se deixa de usar um ficheiro é necessário fechá-lo: fclose(fid)

15 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.15 Exercício 1 Fazer uma função le_caracteres que retorna uma cadeia com todos os caracteres de um ficheiro juntamente com o comprimento dessa cadeia. function [cadeia,comprimento]=le_caracteres(nome_do_ficheiro)... endfunction

16 Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.16 Exercício 2 Fazer uma função conta_vogais que conta o número de vogais num ficheiro. function n=conta_vogais(nome_do_ficheiro)... endfunction c_maiusculo = toupper(c) if index("AEIOU",c_maiusculo) > 0... etc... endif Dica: Para testarmos se um caracter c é uma vogal podemos fazer:


Carregar ppt "Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.1 Octave Cadeias e ficheiros."

Apresentações semelhantes


Anúncios Google