Sie sind auf Seite 1von 18

ECT2303 – Linguagem de Programação

Aula 15 þ Funções e Strings II

Einstein Santos

UFRN

21 de setembro de 2018

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 1 / 18


Plano

1 Exercício 1

2 Exercício 2

3 Exercício 3

4 Exercício 4

5 Exercício 5

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 2 / 18


Plano

1 Exercício 1

2 Exercício 2

3 Exercício 3

4 Exercício 4

5 Exercício 5

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 3 / 18


Exercícios
Exercício 1 – Enunciado

1. O Encurtador de URL (“Google URL Shortener”) é uma ferramenta utilizada


pelo Google para encurtar links. Abaixo seguem alguns exemplos de links
encurtados pelo encurtador do Google:
https://goo.gl/e7qx9N
https://goo.gl/z7DCVi
https://goo.gl/xUW8wv
Escreva uma função que gere URLs encurtadas ao estilo do encurtador de
URL do Google.

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 4 / 18


Exercícios
Exercício 1 – Solução

1 void g e r a d o r D e U R L E n c u r t a d a ( char link [])


2 {
3 char sufixo [7];
4
5 strcpy ( link , " https :// goo . gl / " ) ;
6
7 for ( int i =0; i <6; i ++) {
8 int c = rand () %3;
9 if ( c ==0)
10 sufixo [ i ] = rand () %26 + ’a ’;
11 else if ( c ==1)
12 sufixo [ i ] = rand () %26 + ’A ’;
13 else
14 sufixo [ i ] = rand () %10 + ’0 ’;
15 }
16
17 sufixo [6]= ’ \0 ’;
18
19 strcat ( link , sufixo ) ;
20 }

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 5 / 18


Plano

1 Exercício 1

2 Exercício 2

3 Exercício 3

4 Exercício 4

5 Exercício 5

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 6 / 18


Exercícios
Exercício 2 – Enunciado

2. Faça uma função clone da função strlen() da biblioteca


cstring.

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 7 / 18


Exercícios
Exercício 2 – Solução

1 int _strlen ( char cadeia [])


2 {
3 int cont =0;
4
5 while ( cadeia [ cont ++]) ;
6
7 return cont -1;
8 }

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 8 / 18


Plano

1 Exercício 1

2 Exercício 2

3 Exercício 3

4 Exercício 4

5 Exercício 5

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 9 / 18


Exercícios
Exercício 3 – Enunciado

3. Faça uma função clone da função strcat() da biblioteca


cstring.

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 10 / 18


Exercícios
Exercício 3 – Solução

1 void _strcat ( char cadeia1 [] , char cadeia2 [])


2 {
3 int i =0 , j =0;
4
5 while ( cadeia1 [ i ++]) ;
6
7 i - -;
8
9 while ( cadeia1 [ i ++] = cadeia2 [ j ++]) ;
10 }

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 11 / 18


Plano

1 Exercício 1

2 Exercício 2

3 Exercício 3

4 Exercício 4

5 Exercício 5

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 12 / 18


Exercícios
Exercício 4 – Enunciado

4. Faça uma função clone da função strcpy() da biblioteca


cstring.

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 13 / 18


Exercícios
Exercício 4 – Solução

1 void _strcpy ( char destino [] , char origem [])


2 {
3 int i =0;
4
5 while ( destino [ i ] = origem [ i ])
6 i ++;
7 }

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 14 / 18


Plano

1 Exercício 1

2 Exercício 2

3 Exercício 3

4 Exercício 4

5 Exercício 5

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 15 / 18


Exercícios
Exercício 5 – Enunciado

5. Faça uma função clone da função strcmp() da biblioteca


cstring.

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 16 / 18


Exercícios
Exercício 5 – Solução

1 int _strcmp ( char cadeia1 [] , char cadeia2 [])


2 {
3 int i =0 , r ;
4
5 while ( cadeia1 [ i ] || cadeia2 [ i ]) {
6 r = cadeia1 [ i ] - cadeia2 [ i ];
7
8 if ( r !=0)
9 break ;
10
11 i ++;
12 }
13
14 return r ;
15 }

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 17 / 18


Funções e Strings II

Fim da aula 15

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 21 de setembro de 2018 18 / 18

Das könnte Ihnen auch gefallen