SlideShare uma empresa Scribd logo
1 de 16
Algoritmos e
Técnicas de
Programação II
Prof. Me. Victor Hugo Lázaro Lopes
Instituto Federal de Educação, Ciência e Tecnologia
Campus Inhumas
AGENDA
Funções para strings
Operações com matrizes de n dimensões
Exercícios
ATP II
2
Funções para strings
A inclusão do cabeçalho string.h fornece um conjunto de
funções para manipulação de matrizes de caracteres.
strcpy(s1, s2); //copia s2 em s1
strcat(s1, s2); //concatena s2 ao final de s1
strlen(s1); //retorna o tamanho de s1
strchr(s1, 'r'); //busca um caractere em s1
strstr(s1, 'tor'); //busca uma string em s1
strcmp(s1, s2); // compara as duas strings
strncmp(str1, str2, 3); // Compara apenas os primeiros 3 caracteres
ATP II
3
Visite os exemplos no Github:
https://github.com/profvictorhugo/exemplos_linguagem_C
Exercitando
1. Cria um programa em C para ler uma palavra, contar e
apresentar a quantidade de ocorrências das vogais nessa
palavra. Considere diferentes vogais maiúsculas e minúsculas:
case sensitive. Sugestão: use ctype.h e a função
tolower(char). Nesse momento, considere frases sem
caracteres especiais. Veja o exemplo abaixo:
ATP II
4
Exercitando
2. Implemente um programa em C que solicita ao usuário para
inserir uma palavra ou frase e, em seguida, exibe a versão
invertida da string. Veja o exemplo abaixo:
ATP II
5
Exercitando
3. Agora faremos uma nova versão do programa anterior.
Porém, iremos lidar com uma lista de palavras ou frases. O
programa deve ler todas as indefinidas palavras ou frases (≤
100), e só depois deverá apresentar as versões invertidas
delas. O critério de saída do programa é quando a palavra
“sair” for informada. Veja o exemplo abaixo:
ATP II
6
Matrizes n-dimensionais
Matriz de muitas dimensões:
Estendendo a ideia de que uma matriz bidimensional é o conjunto de
matrizes unidimensionais, onde em cada linha temos uma matriz de
uma dimensão (vetor), uma matriz de muitas dimensões, ou
multidimensional, é o conjunto de matrizes de imediata ordem
inferior:
 Uma matriz de 4 dimensões é o conjunto de matrizes de 3 dimensões.
 Uma matriz de 3 dimensões é o conjunto de matrizes de 2 dimensões.
ATP II
7
Matrizes n-dimensionais
Matriz de muitas dimensões:
Exemplo:
int codigos[3][3][3]
ATP II
8
0,0,0 0,0,1 0,0,2
0,1,0 0,1,1 0,1,2
0,2,0 0,2,1 0,2,2
1,0,0 1,0,1 1,0,2
1,1,0 1,1,1 1,1,2
1,2,0 1,2,1 1,2,2
2,0,0 2,0,1 2,0,2
2,1,0 2,1,1 2,1,2
2,2,0 2,2,1 2,2,2
Matrizes n-dimensionais
Inicialização:
ATP II
9
Matrizes n-dimensionais
Matriz de muitas dimensões:
ATP II
1
0
Matrizes n-dimensionais
Matriz de muitas dimensões:
ATP II
1
1
Matrizes n-dimensionais
Matriz de muitas dimensões:
ATP II
1
2
Matrizes n-dimensionais
Onde usar?
ATP II
1
3
double notas[4] double notas[30][4] double notas[9][30][4]
As 4 notas de um aluno As 4 notas de 30 alunos As 4 notas de 30 alunos de
9 turmas
Exercitando
1. Construa uma matriz para representar todas as 4 notas (1
por bimestre) de todos os alunos do IFG para as disciplinas
de Português, Matemática e História. Considere 15 campus,
com 5 cursos cada, e 3 turmas em cada curso.
ATP II
1
4
Uso conjunto de múltiplas matrizes
Como fazer quando precisamos organizar dados de um mesmo domínio,
mas que possuam diferentes tipos de dados?
 Exemplo: Crie um programa que colete as 4 notas de 30 alunos de
uma turma. Ao fazer isso, colete também o nome dos respectivos
alunos.
 Para tal, podemos usar múltiplas matrizes independentes. Basta tomar
cuidado com os índices!!!
ATP II
1
5
0
1
2
...
29
Aladir Souza
Aline Cabral
Beófilo Silva
...
Zuckeberg
Santos
0 0
1
2
...
29
8.5
7.0
4.9
...
6.2
0 8.6
7.0
6.5
...
8.2
9.5
7.0
7.9
...
4.8
7.5
7.0
3.9
...
9.9
0
1
2
...
29
2019100189
2019100191
2019100192
...
2019100199
0
Exercitando
1. Construa uma programa para fazer o que foi explicado no
slide anterior. O programa deverá ler o nome, a matrícula e as
4 notas de todos os alunos da sala. Ao fim, a média deles
deverá ser calculada, e apresentada em ordem decrescente
por média final. Para cada aluno, o programa deverá
apresentar a matrícula, o nome e a média final.
ATP II
1
6

Mais conteúdo relacionado

Semelhante a Aula de augoritmos e técnicas de programação II

Semelhante a Aula de augoritmos e técnicas de programação II (20)

Programação Estruturada 2 - Aula 05
Programação Estruturada 2 - Aula 05Programação Estruturada 2 - Aula 05
Programação Estruturada 2 - Aula 05
 
aula5 - Manipulação de Strings.pdf
aula5 -  Manipulação de Strings.pdfaula5 -  Manipulação de Strings.pdf
aula5 - Manipulação de Strings.pdf
 
Estruturação de Linguagens de Programação (Pascal e C++)
Estruturação de Linguagens de Programação (Pascal e C++)Estruturação de Linguagens de Programação (Pascal e C++)
Estruturação de Linguagens de Programação (Pascal e C++)
 
Simulador Funcional
Simulador FuncionalSimulador Funcional
Simulador Funcional
 
Ed1
Ed1Ed1
Ed1
 
Java4
Java4Java4
Java4
 
Aula 01
Aula 01Aula 01
Aula 01
 
Top0
Top0Top0
Top0
 
Top0
Top0Top0
Top0
 
Lp m2(parte3)
Lp m2(parte3)Lp m2(parte3)
Lp m2(parte3)
 
Java para iniciantes
Java para iniciantesJava para iniciantes
Java para iniciantes
 
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NAAula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
 
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e FunçõesEstrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e Funções
 
Matrizes
MatrizesMatrizes
Matrizes
 
JAVA - Matrizes
JAVA - MatrizesJAVA - Matrizes
JAVA - Matrizes
 
Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05
 
Aula05
Aula05Aula05
Aula05
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2
 
Acesso à memória e registros
Acesso à memória e registrosAcesso à memória e registros
Acesso à memória e registros
 

Aula de augoritmos e técnicas de programação II

  • 1. Algoritmos e Técnicas de Programação II Prof. Me. Victor Hugo Lázaro Lopes Instituto Federal de Educação, Ciência e Tecnologia Campus Inhumas
  • 2. AGENDA Funções para strings Operações com matrizes de n dimensões Exercícios ATP II 2
  • 3. Funções para strings A inclusão do cabeçalho string.h fornece um conjunto de funções para manipulação de matrizes de caracteres. strcpy(s1, s2); //copia s2 em s1 strcat(s1, s2); //concatena s2 ao final de s1 strlen(s1); //retorna o tamanho de s1 strchr(s1, 'r'); //busca um caractere em s1 strstr(s1, 'tor'); //busca uma string em s1 strcmp(s1, s2); // compara as duas strings strncmp(str1, str2, 3); // Compara apenas os primeiros 3 caracteres ATP II 3 Visite os exemplos no Github: https://github.com/profvictorhugo/exemplos_linguagem_C
  • 4. Exercitando 1. Cria um programa em C para ler uma palavra, contar e apresentar a quantidade de ocorrências das vogais nessa palavra. Considere diferentes vogais maiúsculas e minúsculas: case sensitive. Sugestão: use ctype.h e a função tolower(char). Nesse momento, considere frases sem caracteres especiais. Veja o exemplo abaixo: ATP II 4
  • 5. Exercitando 2. Implemente um programa em C que solicita ao usuário para inserir uma palavra ou frase e, em seguida, exibe a versão invertida da string. Veja o exemplo abaixo: ATP II 5
  • 6. Exercitando 3. Agora faremos uma nova versão do programa anterior. Porém, iremos lidar com uma lista de palavras ou frases. O programa deve ler todas as indefinidas palavras ou frases (≤ 100), e só depois deverá apresentar as versões invertidas delas. O critério de saída do programa é quando a palavra “sair” for informada. Veja o exemplo abaixo: ATP II 6
  • 7. Matrizes n-dimensionais Matriz de muitas dimensões: Estendendo a ideia de que uma matriz bidimensional é o conjunto de matrizes unidimensionais, onde em cada linha temos uma matriz de uma dimensão (vetor), uma matriz de muitas dimensões, ou multidimensional, é o conjunto de matrizes de imediata ordem inferior:  Uma matriz de 4 dimensões é o conjunto de matrizes de 3 dimensões.  Uma matriz de 3 dimensões é o conjunto de matrizes de 2 dimensões. ATP II 7
  • 8. Matrizes n-dimensionais Matriz de muitas dimensões: Exemplo: int codigos[3][3][3] ATP II 8 0,0,0 0,0,1 0,0,2 0,1,0 0,1,1 0,1,2 0,2,0 0,2,1 0,2,2 1,0,0 1,0,1 1,0,2 1,1,0 1,1,1 1,1,2 1,2,0 1,2,1 1,2,2 2,0,0 2,0,1 2,0,2 2,1,0 2,1,1 2,1,2 2,2,0 2,2,1 2,2,2
  • 10. Matrizes n-dimensionais Matriz de muitas dimensões: ATP II 1 0
  • 11. Matrizes n-dimensionais Matriz de muitas dimensões: ATP II 1 1
  • 12. Matrizes n-dimensionais Matriz de muitas dimensões: ATP II 1 2
  • 13. Matrizes n-dimensionais Onde usar? ATP II 1 3 double notas[4] double notas[30][4] double notas[9][30][4] As 4 notas de um aluno As 4 notas de 30 alunos As 4 notas de 30 alunos de 9 turmas
  • 14. Exercitando 1. Construa uma matriz para representar todas as 4 notas (1 por bimestre) de todos os alunos do IFG para as disciplinas de Português, Matemática e História. Considere 15 campus, com 5 cursos cada, e 3 turmas em cada curso. ATP II 1 4
  • 15. Uso conjunto de múltiplas matrizes Como fazer quando precisamos organizar dados de um mesmo domínio, mas que possuam diferentes tipos de dados?  Exemplo: Crie um programa que colete as 4 notas de 30 alunos de uma turma. Ao fazer isso, colete também o nome dos respectivos alunos.  Para tal, podemos usar múltiplas matrizes independentes. Basta tomar cuidado com os índices!!! ATP II 1 5 0 1 2 ... 29 Aladir Souza Aline Cabral Beófilo Silva ... Zuckeberg Santos 0 0 1 2 ... 29 8.5 7.0 4.9 ... 6.2 0 8.6 7.0 6.5 ... 8.2 9.5 7.0 7.9 ... 4.8 7.5 7.0 3.9 ... 9.9 0 1 2 ... 29 2019100189 2019100191 2019100192 ... 2019100199 0
  • 16. Exercitando 1. Construa uma programa para fazer o que foi explicado no slide anterior. O programa deverá ler o nome, a matrícula e as 4 notas de todos os alunos da sala. Ao fim, a média deles deverá ser calculada, e apresentada em ordem decrescente por média final. Para cada aluno, o programa deverá apresentar a matrícula, o nome e a média final. ATP II 1 6