Resolucao trabalho comparar_strings

10

Click here to load reader

Transcript of Resolucao trabalho comparar_strings

Page 1: Resolucao trabalho comparar_strings

9/12/2014

Comparar 2 Strings Programação I

Ana Isabel Rodrigues LICENCIATURA INFORMATICA – 1º ANO - Nº 558

Page 2: Resolucao trabalho comparar_strings

Conteúdo ....................................................................................................................................................... 0

Algoritmo: Comparar duas strings ................................................................................................ 2

Fluxograma: Comparar duas strings.............................................................................................. 3

// 1ª Opção ............................................................................................................................... 3

// 2ª Opção ............................................................................................................................... 4

Em C............................................................................................................................................... 5

// 1ª Opção ............................................................................................................................... 5

// 2ª Opção ............................................................................................................................... 7

Material Apoio: ............................................................................................................................. 9

1 9 de dezembro de 2014

Page 3: Resolucao trabalho comparar_strings

Algoritmo: Comparar duas strings

[Inicialização de Variáveis]

strcomp <-0

maxstr <- 80

char str1

char str2

[Leitura de Variáveis]

str1 <- (“Digite a 1ª String”)

str2 <- (“Digite a 2ª String”)

[Calculo do Valor]

strcomp=strcmp(str1,str2,maxstr)

[Resultado]

// 1ª Opção

Se strcomp>0 então

Escreve (“A 1ª String é maior”)

Senão se strcomp<0 então

Escreve(“A 2ª String é maior”)

Senão

Escreve (“As duas strings são iguais”)

// 2ª Opção

Se (strcomp(str1,str2)==0) então

Escreve(“As suas strings são iguais”)

Senão

Escreve(“As duas strings são diferentes”)

2 9 de dezembro de 2014

Page 4: Resolucao trabalho comparar_strings

Fluxograma: Comparar duas strings // 1ª Opção

Inicio

strcomp=0

maxstr=80

char str1

char str2

str1

Digite a 1ª String

str2

Digite a 2ª String

strcomp=strcmp(str1,str2,maxstr)

strcomp>0 F V

A 1ª String é maior strcomp<0

F V

As 2 strings são iguais

A 2ª String é maior

Fim

3 9 de dezembro de 2014

Page 5: Resolucao trabalho comparar_strings

Fluxograma: Comparar duas strings

// 2ª Opção

Inicio

strcomp=0

maxstr=80

char str1

char str2

str1

Digite a 1ª String

str2

Digite a 2ª String

strcomp=strcmp(str1,str2,maxstr)

strcomp=0 F V

A 1ª String é maior As 2 Strings são diferentes

Fim

4 9 de dezembro de 2014

Page 6: Resolucao trabalho comparar_strings

Em C // 1ª Opção

5 9 de dezembro de 2014

Page 7: Resolucao trabalho comparar_strings

6 9 de dezembro de 2014

Page 8: Resolucao trabalho comparar_strings

Em C

// 2ª Opção

7 9 de dezembro de 2014

Page 9: Resolucao trabalho comparar_strings

8 9 de dezembro de 2014

Page 10: Resolucao trabalho comparar_strings

Material Apoio: Programação em C++ - Conceitos básicos e Algoritmos (FCA)

http://pt.wikibooks.org/wiki/Programar_em_C/Strings

strcmp

Se você tentar criar duas strings com o mesmo conteúdo e compará-las como faria como números, verá que elas "não são iguais". Isso ocorre porque, na verdade, o que está sendo comparado são os endereços de memória onde estão guardadas as strings. Para comparar o conteúdo de duas strings, você deve usar a função strcmp (ou suas variantes):

int strcmp (char *s1, char *s2);

O valor de retorno é:

• menor que zero se s1 for menor que s2;

• igual a zero se s1 e s2 são iguais;

• maior que zero se s1 for maior que s2.

Costuma parecer estranho dizer que uma string é menor ou maior que outra; na verdade essa comparação é entre a primeira letra que difere nas duas strings. Assim, se tivermos s1 = "abc" e s2 = "abd" , diremos que s2 é maior que s1, pois na primeira

posição em que as duas strings diferem, a letra em s2 é "maior".

É importante notar que a comparação feita por strcmp distingue maiúsculas de minúsculas. Isto é, as strings "ABC" e "abc" não são iguais para essa função.

As variantes mais usadas de strcmp são:

• strncmp - compara apenas os n primeiros caracteres das duas strings, sendo n um

terceiro argumento.

• stricmp - compara duas strings sem distinção entre maiúsculas e minúsculas. A

sintaxe é igual à de strcmp. Essa função não faz parte da biblioteca padrão, mas é

comumente encontrada como extensão particular de várias delas.

http://codigoseficientes.blogspot.pt/2012/10/acentuacao-na-linguagem-c.html

9 9 de dezembro de 2014