SlideShare une entreprise Scribd logo
1  sur  19
Arrays multidimensionais
Estratégias de resolução de problemas
 Manipulação de caracteres
 Relação entre os tipos char e int
 Tipos de valor vs. tipos de referência
2013/2014 Fundamentos de Programação 2
 Itens de array podem ser (referências para)
arrays
 Possíveis arrays de mais do que uma dimensão
(arrays de arrays, arrays de arrays de arrays, ...)
 Dimensões
 1D: int[] grades;
 2D: int[][] gradesPerCourse;
 3D: int[][][] gradesPerCoursePerProgram;
 Etc.
2013/2014 Fundamentos de Programação 3
final double[][] identityMatrix = {
{1.0, 0.0, 0.0},
{0.0, 1.0, 0.0},
{0.0, 0.0, 1.0}
};
2013/2014 Fundamentos de Programação 4
identityMatrix
0
1
2
1.0 0.0 0.0
0 1 2
1.00.0 0.0
0 1 2
1.00.00.0
0 1 2
Sentido
matemático do
termo.
final int[][] primeFactors = {
null,
{},
{2},
{3},
{2, 2},
{5},
{2, 3},
{7},
{2, 2, 2},
{3, 3},
{2, 5}
};
2013/2014 Fundamentos de Programação 5
O array primeFactors contém arrays
com diferentes tamanhos. Para
obter os factores primos de um dado
natural 1 ≤ n ≤ 10 usa-se
primeFactors[n], que é um simples
array de inteiros. Como 0 (zero) não
tem factores primos, o primeiro
array não existe. Isso representa-se
usando uma referência nula.
Parámos nos factores
primos de 10 porque não
havia mais espaço na
apresentação. :-P
final double[] vector1 = {1.0, 0.0, 0.0};
final double[] vector1 =
new double[] {1.0, 0.0, 0.0};
final double[] vector2 = new double[3];
2013/2014 Fundamentos de Programação 6
vector1
1.0 0.0 0.0
0 1 2
vector2
0.0 0.0 0.0
0 1 2
Sentido matemático de vector.
Vectores e matrizes matemáticas
podem ser representados por
arrays unidimensinais e
bidimensionais do Java,
respectivamente.
Forma
alternativa
equivalente de
inicialização.
Itens inicializados
com valor por
omissão dos
double.
final double[][] identityMatrix = {
{1.0, 0.0, 0.0},
{0.0, 1.0, 0.0},
{0.0, 0.0, 1.0}
};
final double[][] identityMatrix = new double[][] {
new double[] {1.0, 0.0, 0.0},
new double[] {0.0, 1.0, 0.0},
new double[] {0.0, 0.0, 1.0}
};
2013/2014 Fundamentos de Programação 7
identityMatrix
0
1
2
1.0 0.0 0.0
1.00.0 0.0
1.00.00.0
Forma
alternativa
equivalente de
inicialização.
final double[][] rectangularMatrix =
new double[2][3];
2013/2014 Fundamentos de Programação 8
rectangularMatrix
0
1
0.0 0.0 0.0
0.00.0 0.0
…
final int[][] primeFactors = {
null,
{},
{2},
{3},
{2, 2},
{5},
{2, 3},
{7},
{2, 2, 2},
{3, 3},
{2, 5}
};
2013/2014 Fundamentos de Programação 9
primeFactors
null0
1
2
3
4
5
6
7
8
9
10
2
3
2 2
2 2 2
…
…
final int secondFactorOf4 =
primeFactors[4][1];
final int[] factorsOf8 =
primeFactors[8];
final int firstFactorOf8 =
factorsOf8[0];
2013/2014 Fundamentos de Programação 10
primeFactors
null0
1
2
3
4
5
6
7
8
9
10
2
3
2 2
…
?
secondFactorOf4
2
secondFactorOf4
?
firstFactorOf8
2
firstFactorOf8
?
factorsOf8factorsOf8
2 2 2
…
out.println(primeFactors.length);
out.println(primeFactors[2].length);
out.println(primeFactors[8].length);
2013/2014 Fundamentos de Programação 11
primeFactors
null0
1
2
3
4
5
6
7
8
9
10
2
3
2 2
2 2 2
…
_11
_
11
1
_
11
1
3
_
final int[][] gradesPerCourse = {
{14, 16},
{12, 18, 20}
};
int numberOfGrades = 0;
int sumOfGrades = 0;
for (int course = 0; course != gradesPerCourse.length; course++) {
for (int i = 0; i != gradesPerCourse[course].length; i++)
sumOfGrades += gradesPerCourse[course][i];
numberOfGrades += gradesPerCourse[course].length;
}
final double averageOfGrades = sumOfGrades / (double) numberOfGrades;
2013/2014 Fundamentos de Programação 12
Cálculo da média
de todas as
notas de todos
os cursos.
Sejam
1. um array com os números das/os alunas/os,
2. um array com as siglas das UC e
3. um array de notas, em que cada linha corresponde às notas que
a/o aluna/o correspondente tem nas UC indicadas, uma por
coluna.
Escreva código Java que
1. mostre as notas de cada aluna/o,
2. mostre a média das notas de cada aluna/o e
3. mostre a média mais alta, identificando a quem pertence.
final int[] studentIDs = {50020032, 50030312, 50025342, 50031432};
final String[] courseAcronyms = { ”EPL", ”P1", ”P2"};
final int[][] studentGrades = {
{15, 18, 17},
{18, 14, 16}, // grades of student 50030312
{11, 13, 15},
{10, 19, 16}
};
2013/2014 Fundamentos de Programação 13
Etapa Descrição/notas
Compreender o problema! Ser cuidadoso e preciso.
Planear • (Escolher uma ou mais estratégias.)
• Partir a tarefa em pequenos passos.
• Descrever em pormenor cada passo.
Seguir o plano • Decidir qual o próximo passo.
• Executar o próximo passo.
Rever e estender • Analisar o processo de resolução.
• Aprender com os erros.
2013/2014 Fundamentos de Programação 14
Estratégia Descrição
Analogia Conhecemos soluções para problemas semelhantes?
Especialização O nosso problema é caso particular de outro de que conhecemos a
solução?
Generalização O nosso problema é um caso genérico de outro mais particular de
que conhecemos a solução?
Indução Compreendemos melhor o problema se estudarmos alguns dos seus
casos particulares?
Alteração Será que alterar o enunciado do problema o transforma noutro de
que conhecemos a solução?
2013/2014 Fundamentos de Programação 15
Estratégia Descrição
Aproximações
sucessivas
• Será que conseguimos encontrar uma forma de atingir um
subobjectivo e ficar, assim, mais próximo da solução?
• Será que podemos repetir o processo até resolver o
problema?
Decomposição ou
dividir para conquistar
Será que podemos dividir o problema em subproblemas de
mais simples solução e compor, assim, uma solução global?
Partir do objectivo Será que olhar para o nosso destino nos dá boas pistas
acerca do caminho a seguir?
Fazer um
diagrama/desenho
Nem calcula o quanto ajuda…
2013/2014 Fundamentos de Programação 16
 Resolução de problemas
 http://en.wikipedia.org/wiki/Problem_solving
 http://en.wikipedia.org/wiki/How_to_Solve_It
 George Pólya
 http://en.wikipedia.org/wiki/George_P%C3%B3lya
2013/2014 Fundamentos de Programação 17
Fonte: Wikipédia
 Arrays multidimensionais
 Estratégias de resolução de problemas
2013/2014 Fundamentos de Programação 18
 Arrays multidimensionais
 Estratégias de resolução de problemas
2013/2014 Fundamentos de Programação 19

Contenu connexe

Tendances

11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...Manuel Menezes de Sequeira
 
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de ProgramaçãoManuel Menezes de Sequeira
 
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...Manuel Menezes de Sequeira
 
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...Manuel Menezes de Sequeira
 
Semana 3: Introdução à linguagem de programação Java
Semana  3: Introdução à linguagem de programação Java Semana  3: Introdução à linguagem de programação Java
Semana 3: Introdução à linguagem de programação Java Manuel Menezes de Sequeira
 
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...Manuel Menezes de Sequeira
 
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana  4: Atribuições especiais, matrizes, ciclos, classes pacoteSemana  4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacoteManuel Menezes de Sequeira
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturadadiogoa21
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismosdiogoa21
 
Semana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
Semana 10: Encapsulação, cópia de instâncias, igualdade de instânciasSemana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
Semana 10: Encapsulação, cópia de instâncias, igualdade de instânciasManuel Menezes de Sequeira
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Leonardo Melo Santos
 
Apostila de Introdução a POO com C#
Apostila de Introdução a POO com C#Apostila de Introdução a POO com C#
Apostila de Introdução a POO com C#Andre Nascimento
 
Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Robson Ferreira
 
Intro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverIntro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverEduardo Jorge
 
Programação Estruturada 2 - Aula 01 - Código Fonte
Programação Estruturada 2 - Aula 01 - Código FonteProgramação Estruturada 2 - Aula 01 - Código Fonte
Programação Estruturada 2 - Aula 01 - Código Fontethomasdacosta
 
Curso de Java (Parte 3)
 Curso de Java (Parte 3) Curso de Java (Parte 3)
Curso de Java (Parte 3)Mario Sergio
 
Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01thomasdacosta
 

Tendances (19)

11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
 
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
 
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
 
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
 
Semana 3: Introdução à linguagem de programação Java
Semana  3: Introdução à linguagem de programação Java Semana  3: Introdução à linguagem de programação Java
Semana 3: Introdução à linguagem de programação Java
 
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
 
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana  4: Atribuições especiais, matrizes, ciclos, classes pacoteSemana  4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
 
Introducao ao C#
Introducao ao C#Introducao ao C#
Introducao ao C#
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturada
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismos
 
Semana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
Semana 10: Encapsulação, cópia de instâncias, igualdade de instânciasSemana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
Semana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
 
Apostila de Introdução a POO com C#
Apostila de Introdução a POO com C#Apostila de Introdução a POO com C#
Apostila de Introdução a POO com C#
 
Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3
 
Intro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverIntro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserver
 
Programação Estruturada 2 - Aula 01 - Código Fonte
Programação Estruturada 2 - Aula 01 - Código FonteProgramação Estruturada 2 - Aula 01 - Código Fonte
Programação Estruturada 2 - Aula 01 - Código Fonte
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
Curso de Java (Parte 3)
 Curso de Java (Parte 3) Curso de Java (Parte 3)
Curso de Java (Parte 3)
 
Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01
 

En vedette

1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...Manuel Menezes de Sequeira
 
Introdução à programação orientada para aspectos
Introdução à programação orientada para aspectosIntrodução à programação orientada para aspectos
Introdução à programação orientada para aspectosManuel Menezes de Sequeira
 
Eng.ª do Software - 3. Processos da engenharia de requisitos
Eng.ª do Software - 3. Processos da engenharia de requisitosEng.ª do Software - 3. Processos da engenharia de requisitos
Eng.ª do Software - 3. Processos da engenharia de requisitosManuel Menezes de Sequeira
 

En vedette (9)

1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
 
Programação Orientada por Objectos - Aula 1
Programação Orientada por Objectos - Aula 1Programação Orientada por Objectos - Aula 1
Programação Orientada por Objectos - Aula 1
 
Introdução à programação orientada para aspectos
Introdução à programação orientada para aspectosIntrodução à programação orientada para aspectos
Introdução à programação orientada para aspectos
 
Programação Orientada por Objectos - Aula 7
Programação Orientada por Objectos - Aula 7Programação Orientada por Objectos - Aula 7
Programação Orientada por Objectos - Aula 7
 
Programação Orientada por Objectos - Aula 6
Programação Orientada por Objectos - Aula 6Programação Orientada por Objectos - Aula 6
Programação Orientada por Objectos - Aula 6
 
Programação Orientada por Objectos - Aula 3
Programação Orientada por Objectos - Aula 3Programação Orientada por Objectos - Aula 3
Programação Orientada por Objectos - Aula 3
 
Programação Orientada por Objectos - Aula 2
Programação Orientada por Objectos - Aula 2Programação Orientada por Objectos - Aula 2
Programação Orientada por Objectos - Aula 2
 
Programação Orientada por Objectos - Aula 5
Programação Orientada por Objectos - Aula 5Programação Orientada por Objectos - Aula 5
Programação Orientada por Objectos - Aula 5
 
Eng.ª do Software - 3. Processos da engenharia de requisitos
Eng.ª do Software - 3. Processos da engenharia de requisitosEng.ª do Software - 3. Processos da engenharia de requisitos
Eng.ª do Software - 3. Processos da engenharia de requisitos
 

Similaire à 7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamentos de Programação

Semana 6: Matrizes multidimensionais, estratégias de resolução de problemas
Semana  6: Matrizes multidimensionais, estratégias de resolução de problemasSemana  6: Matrizes multidimensionais, estratégias de resolução de problemas
Semana 6: Matrizes multidimensionais, estratégias de resolução de problemasManuel Menezes de Sequeira
 
Lógica de programação
Lógica de programaçãoLógica de programação
Lógica de programaçãoSinaide Bezerra
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando RFabrício Barth
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizandoJoão Gomes
 
Gestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesGestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesRogerio P C do Nascimento
 
Modelagem Dimensional
Modelagem DimensionalModelagem Dimensional
Modelagem DimensionalMarco Garcia
 
Criando módulos em java
Criando módulos em javaCriando módulos em java
Criando módulos em javamarcosvpcortes
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoHelder Lopes
 
BSDDAY 2019 - Data Science e Artificial Intelligence usando Freebsd
BSDDAY 2019 - Data Science e Artificial Intelligence usando FreebsdBSDDAY 2019 - Data Science e Artificial Intelligence usando Freebsd
BSDDAY 2019 - Data Science e Artificial Intelligence usando FreebsdMauro Risonho de Paula Assumpcao
 
Algoritmos - Aula 04 A - Principios de Resolucao de Problemas
Algoritmos - Aula 04 A - Principios de Resolucao de ProblemasAlgoritmos - Aula 04 A - Principios de Resolucao de Problemas
Algoritmos - Aula 04 A - Principios de Resolucao de ProblemasRodrigo Kiyoshi Saito
 
Practice 4 :: Gestão de Projetos de SW OO :: Métricas, Estimação e Planificações
Practice 4 :: Gestão de Projetos de SW OO :: Métricas, Estimação e PlanificaçõesPractice 4 :: Gestão de Projetos de SW OO :: Métricas, Estimação e Planificações
Practice 4 :: Gestão de Projetos de SW OO :: Métricas, Estimação e PlanificaçõesRogerio P C do Nascimento
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoMauro Pereira
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Pattners Everywhere, Even in Javascript
Pattners Everywhere, Even in JavascriptPattners Everywhere, Even in Javascript
Pattners Everywhere, Even in JavascriptGustavo Corrêa Alves
 

Similaire à 7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamentos de Programação (20)

Semana 6: Matrizes multidimensionais, estratégias de resolução de problemas
Semana  6: Matrizes multidimensionais, estratégias de resolução de problemasSemana  6: Matrizes multidimensionais, estratégias de resolução de problemas
Semana 6: Matrizes multidimensionais, estratégias de resolução de problemas
 
Lógica de programação
Lógica de programaçãoLógica de programação
Lógica de programação
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando R
 
Aula1
Aula1Aula1
Aula1
 
Lógica De Programação
Lógica De ProgramaçãoLógica De Programação
Lógica De Programação
 
Modulo02
Modulo02Modulo02
Modulo02
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizando
 
Gestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesGestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e Planificações
 
MapReduce
MapReduceMapReduce
MapReduce
 
Modelagem Dimensional
Modelagem DimensionalModelagem Dimensional
Modelagem Dimensional
 
Criando módulos em java
Criando módulos em javaCriando módulos em java
Criando módulos em java
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de Informação
 
BSDDAY 2019 - Data Science e Artificial Intelligence usando Freebsd
BSDDAY 2019 - Data Science e Artificial Intelligence usando FreebsdBSDDAY 2019 - Data Science e Artificial Intelligence usando Freebsd
BSDDAY 2019 - Data Science e Artificial Intelligence usando Freebsd
 
Algoritmos - Aula 04 A - Principios de Resolucao de Problemas
Algoritmos - Aula 04 A - Principios de Resolucao de ProblemasAlgoritmos - Aula 04 A - Principios de Resolucao de Problemas
Algoritmos - Aula 04 A - Principios de Resolucao de Problemas
 
Macro br
Macro brMacro br
Macro br
 
Practice 4 :: Gestão de Projetos de SW OO :: Métricas, Estimação e Planificações
Practice 4 :: Gestão de Projetos de SW OO :: Métricas, Estimação e PlanificaçõesPractice 4 :: Gestão de Projetos de SW OO :: Métricas, Estimação e Planificações
Practice 4 :: Gestão de Projetos de SW OO :: Métricas, Estimação e Planificações
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Pattners Everywhere, Even in Javascript
Pattners Everywhere, Even in JavascriptPattners Everywhere, Even in Javascript
Pattners Everywhere, Even in Javascript
 
FC-Logic
FC-LogicFC-Logic
FC-Logic
 

Plus de Manuel Menezes de Sequeira

Semana 9: toString, classes, instâncias e objectos, Scanner
Semana  9: toString, classes, instâncias e objectos, ScannerSemana  9: toString, classes, instâncias e objectos, Scanner
Semana 9: toString, classes, instâncias e objectos, ScannerManuel Menezes de Sequeira
 
Semana 8: Classes e instâncias, cadeias de caracteres
Semana  8: Classes e instâncias, cadeias de caracteresSemana  8: Classes e instâncias, cadeias de caracteres
Semana 8: Classes e instâncias, cadeias de caracteresManuel Menezes de Sequeira
 
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referênciaSemana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referênciaManuel Menezes de Sequeira
 
Semana 0: Computadores, linguagens e linguagens de programação, Noções de al...
Semana  0: Computadores, linguagens e linguagens de programação, Noções de al...Semana  0: Computadores, linguagens e linguagens de programação, Noções de al...
Semana 0: Computadores, linguagens e linguagens de programação, Noções de al...Manuel Menezes de Sequeira
 
Semana 11: Enumerações, limites de tipos numéricos (gama e precisão)
Semana 11: Enumerações, limites de tipos numéricos (gama e precisão)Semana 11: Enumerações, limites de tipos numéricos (gama e precisão)
Semana 11: Enumerações, limites de tipos numéricos (gama e precisão)Manuel Menezes de Sequeira
 
Eng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validaçãoEng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validaçãoManuel Menezes de Sequeira
 
Eng.ª do Software - 8. Desenho de interfaces com o utilizador
Eng.ª do Software - 8. Desenho de interfaces com o utilizadorEng.ª do Software - 8. Desenho de interfaces com o utilizador
Eng.ª do Software - 8. Desenho de interfaces com o utilizadorManuel Menezes de Sequeira
 
Eng.ª do Software - 7. Desenho arquitectónico
Eng.ª do Software - 7. Desenho arquitectónicoEng.ª do Software - 7. Desenho arquitectónico
Eng.ª do Software - 7. Desenho arquitectónicoManuel Menezes de Sequeira
 

Plus de Manuel Menezes de Sequeira (11)

Semana 9: toString, classes, instâncias e objectos, Scanner
Semana  9: toString, classes, instâncias e objectos, ScannerSemana  9: toString, classes, instâncias e objectos, Scanner
Semana 9: toString, classes, instâncias e objectos, Scanner
 
Semana 8: Classes e instâncias, cadeias de caracteres
Semana  8: Classes e instâncias, cadeias de caracteresSemana  8: Classes e instâncias, cadeias de caracteres
Semana 8: Classes e instâncias, cadeias de caracteres
 
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referênciaSemana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
 
Semana 2: Funções e listas, variáveis
Semana  2: Funções e listas, variáveisSemana  2: Funções e listas, variáveis
Semana 2: Funções e listas, variáveis
 
Semana 0: Computadores, linguagens e linguagens de programação, Noções de al...
Semana  0: Computadores, linguagens e linguagens de programação, Noções de al...Semana  0: Computadores, linguagens e linguagens de programação, Noções de al...
Semana 0: Computadores, linguagens e linguagens de programação, Noções de al...
 
Semana 11: Enumerações, limites de tipos numéricos (gama e precisão)
Semana 11: Enumerações, limites de tipos numéricos (gama e precisão)Semana 11: Enumerações, limites de tipos numéricos (gama e precisão)
Semana 11: Enumerações, limites de tipos numéricos (gama e precisão)
 
Eng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de softwareEng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de software
 
Eng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validaçãoEng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validação
 
Eng.ª do Software - 8. Desenho de interfaces com o utilizador
Eng.ª do Software - 8. Desenho de interfaces com o utilizadorEng.ª do Software - 8. Desenho de interfaces com o utilizador
Eng.ª do Software - 8. Desenho de interfaces com o utilizador
 
Eng.ª do Software - 7. Desenho arquitectónico
Eng.ª do Software - 7. Desenho arquitectónicoEng.ª do Software - 7. Desenho arquitectónico
Eng.ª do Software - 7. Desenho arquitectónico
 
Eng.ª do Software - 6. Gestão de projectos
Eng.ª do Software - 6. Gestão de projectosEng.ª do Software - 6. Gestão de projectos
Eng.ª do Software - 6. Gestão de projectos
 

Dernier

SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholaSLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholacleanelima11
 
Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......suporte24hcamin
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2Maria Teresa Thomaz
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
AULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobreAULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobremaryalouhannedelimao
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioDomingasMariaRomao
 

Dernier (20)

SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholaSLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
 
Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
AULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobreAULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobre
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 

7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamentos de Programação

  • 1. Arrays multidimensionais Estratégias de resolução de problemas
  • 2.  Manipulação de caracteres  Relação entre os tipos char e int  Tipos de valor vs. tipos de referência 2013/2014 Fundamentos de Programação 2
  • 3.  Itens de array podem ser (referências para) arrays  Possíveis arrays de mais do que uma dimensão (arrays de arrays, arrays de arrays de arrays, ...)  Dimensões  1D: int[] grades;  2D: int[][] gradesPerCourse;  3D: int[][][] gradesPerCoursePerProgram;  Etc. 2013/2014 Fundamentos de Programação 3
  • 4. final double[][] identityMatrix = { {1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0} }; 2013/2014 Fundamentos de Programação 4 identityMatrix 0 1 2 1.0 0.0 0.0 0 1 2 1.00.0 0.0 0 1 2 1.00.00.0 0 1 2 Sentido matemático do termo.
  • 5. final int[][] primeFactors = { null, {}, {2}, {3}, {2, 2}, {5}, {2, 3}, {7}, {2, 2, 2}, {3, 3}, {2, 5} }; 2013/2014 Fundamentos de Programação 5 O array primeFactors contém arrays com diferentes tamanhos. Para obter os factores primos de um dado natural 1 ≤ n ≤ 10 usa-se primeFactors[n], que é um simples array de inteiros. Como 0 (zero) não tem factores primos, o primeiro array não existe. Isso representa-se usando uma referência nula. Parámos nos factores primos de 10 porque não havia mais espaço na apresentação. :-P
  • 6. final double[] vector1 = {1.0, 0.0, 0.0}; final double[] vector1 = new double[] {1.0, 0.0, 0.0}; final double[] vector2 = new double[3]; 2013/2014 Fundamentos de Programação 6 vector1 1.0 0.0 0.0 0 1 2 vector2 0.0 0.0 0.0 0 1 2 Sentido matemático de vector. Vectores e matrizes matemáticas podem ser representados por arrays unidimensinais e bidimensionais do Java, respectivamente. Forma alternativa equivalente de inicialização. Itens inicializados com valor por omissão dos double.
  • 7. final double[][] identityMatrix = { {1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0} }; final double[][] identityMatrix = new double[][] { new double[] {1.0, 0.0, 0.0}, new double[] {0.0, 1.0, 0.0}, new double[] {0.0, 0.0, 1.0} }; 2013/2014 Fundamentos de Programação 7 identityMatrix 0 1 2 1.0 0.0 0.0 1.00.0 0.0 1.00.00.0 Forma alternativa equivalente de inicialização.
  • 8. final double[][] rectangularMatrix = new double[2][3]; 2013/2014 Fundamentos de Programação 8 rectangularMatrix 0 1 0.0 0.0 0.0 0.00.0 0.0
  • 9. … final int[][] primeFactors = { null, {}, {2}, {3}, {2, 2}, {5}, {2, 3}, {7}, {2, 2, 2}, {3, 3}, {2, 5} }; 2013/2014 Fundamentos de Programação 9 primeFactors null0 1 2 3 4 5 6 7 8 9 10 2 3 2 2 2 2 2 …
  • 10. … final int secondFactorOf4 = primeFactors[4][1]; final int[] factorsOf8 = primeFactors[8]; final int firstFactorOf8 = factorsOf8[0]; 2013/2014 Fundamentos de Programação 10 primeFactors null0 1 2 3 4 5 6 7 8 9 10 2 3 2 2 … ? secondFactorOf4 2 secondFactorOf4 ? firstFactorOf8 2 firstFactorOf8 ? factorsOf8factorsOf8 2 2 2
  • 11. … out.println(primeFactors.length); out.println(primeFactors[2].length); out.println(primeFactors[8].length); 2013/2014 Fundamentos de Programação 11 primeFactors null0 1 2 3 4 5 6 7 8 9 10 2 3 2 2 2 2 2 … _11 _ 11 1 _ 11 1 3 _
  • 12. final int[][] gradesPerCourse = { {14, 16}, {12, 18, 20} }; int numberOfGrades = 0; int sumOfGrades = 0; for (int course = 0; course != gradesPerCourse.length; course++) { for (int i = 0; i != gradesPerCourse[course].length; i++) sumOfGrades += gradesPerCourse[course][i]; numberOfGrades += gradesPerCourse[course].length; } final double averageOfGrades = sumOfGrades / (double) numberOfGrades; 2013/2014 Fundamentos de Programação 12 Cálculo da média de todas as notas de todos os cursos.
  • 13. Sejam 1. um array com os números das/os alunas/os, 2. um array com as siglas das UC e 3. um array de notas, em que cada linha corresponde às notas que a/o aluna/o correspondente tem nas UC indicadas, uma por coluna. Escreva código Java que 1. mostre as notas de cada aluna/o, 2. mostre a média das notas de cada aluna/o e 3. mostre a média mais alta, identificando a quem pertence. final int[] studentIDs = {50020032, 50030312, 50025342, 50031432}; final String[] courseAcronyms = { ”EPL", ”P1", ”P2"}; final int[][] studentGrades = { {15, 18, 17}, {18, 14, 16}, // grades of student 50030312 {11, 13, 15}, {10, 19, 16} }; 2013/2014 Fundamentos de Programação 13
  • 14. Etapa Descrição/notas Compreender o problema! Ser cuidadoso e preciso. Planear • (Escolher uma ou mais estratégias.) • Partir a tarefa em pequenos passos. • Descrever em pormenor cada passo. Seguir o plano • Decidir qual o próximo passo. • Executar o próximo passo. Rever e estender • Analisar o processo de resolução. • Aprender com os erros. 2013/2014 Fundamentos de Programação 14
  • 15. Estratégia Descrição Analogia Conhecemos soluções para problemas semelhantes? Especialização O nosso problema é caso particular de outro de que conhecemos a solução? Generalização O nosso problema é um caso genérico de outro mais particular de que conhecemos a solução? Indução Compreendemos melhor o problema se estudarmos alguns dos seus casos particulares? Alteração Será que alterar o enunciado do problema o transforma noutro de que conhecemos a solução? 2013/2014 Fundamentos de Programação 15
  • 16. Estratégia Descrição Aproximações sucessivas • Será que conseguimos encontrar uma forma de atingir um subobjectivo e ficar, assim, mais próximo da solução? • Será que podemos repetir o processo até resolver o problema? Decomposição ou dividir para conquistar Será que podemos dividir o problema em subproblemas de mais simples solução e compor, assim, uma solução global? Partir do objectivo Será que olhar para o nosso destino nos dá boas pistas acerca do caminho a seguir? Fazer um diagrama/desenho Nem calcula o quanto ajuda… 2013/2014 Fundamentos de Programação 16
  • 17.  Resolução de problemas  http://en.wikipedia.org/wiki/Problem_solving  http://en.wikipedia.org/wiki/How_to_Solve_It  George Pólya  http://en.wikipedia.org/wiki/George_P%C3%B3lya 2013/2014 Fundamentos de Programação 17 Fonte: Wikipédia
  • 18.  Arrays multidimensionais  Estratégias de resolução de problemas 2013/2014 Fundamentos de Programação 18
  • 19.  Arrays multidimensionais  Estratégias de resolução de problemas 2013/2014 Fundamentos de Programação 19