SlideShare uma empresa Scribd logo
1 de 18
ANHANGUERA – 2016.2
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO
AULA 05 – VETORES E MATRIZES
Prof. Thomás da Costa
thomascosta@aedu.com
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
VETORES E MATRIZES
VETORES E MATRIZES
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
VETORES E MATRIZES
Vetores
O que é?:
É um conjunto do mesmo tipo de variável com um tamanho definido. Um vetor
possui um indexador para identificar a posição dentro do conjunto de variáveis.
Este conjunto não pode possuir tipos diferentes.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Vetores
Exemplo:
VETORES E MATRIZES
int vetor[5] = { 0, 1, 2, 3, 4 };
Tamanho de 5 posições.
Tipo do vetor.
Atribuindo valores para o vetor
nas posições correspondentes.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "Portuguese");
int vetor[5] = { 0, 1, 2, 3, 4 };
int i;
for (i=0;i<=4;i++)
{
printf("posição: %d, valor: %dn", i, vetor[i]);
}
}
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "Portuguese");
int vetor[5];
printf("Digite um valor na posição 3 do vetor: ");
vetor[1] = 100;
scanf("%d", &vetor[2]);
printf("Valor digitado: %dn", vetor[2]);
printf("Valor na segunda posição: %d", vetor[1]);
}
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Vetores
Detalhes:
VETORES E MATRIZES
• Possui um índice que identifica a posição do elemento.
• O vetor sempre começa no índice 0 e terminar no índice tamanho – 1.
• Vetores armazenam uma quantidade definida de valores.
• Vetores ocupam mais espaço de memória.
• Possuem somente uma dimensão de tamanho.
• Podemos inicializar os valores, quando declaramos a variável do tipo vetor.
• Não suporta tipos diferentes dentro do mesmo vetor.
• Percorremos vetores de forma crescente, decrescente ou a partir de uma
posição.
• Podemos atribuir um valor para uma posição definida.
• Quando atribuímos um valor para uma posição maior que a quantidade
suportada do vetor, o programa pode apresentar erros de memória.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Vetores
Vetor especial:
VETORES E MATRIZES
• Um vetor de char é conhecido como um tipo string.
• Normalmente o vetor do tipo char é um conjunto de caracteres.
• Representam uma palavra.
• Possui o mesmo formato dos outros vetores.
• Podemos receber uma string do teclado através do comando scanf.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "Portuguese");
char nome[255] = "João";
char cidade[255];
printf("Olá %s !!! Qual a sua cidade de nascimento? ", nome);
fgets(cidade, sizeof(cidade), stdin);
printf("%s você nasceu em %s", nome, cidade);
}
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Vetores
Funções de um vetor de char:
VETORES E MATRIZES
• strlen – obtém o tamanho de uma string.
• strcat – concatena duas strings.
• strcmp – compara duas strings. Se forem iguais, retornar 0.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
#include <locale.h>
#include <string.h>
int main()
{
setlocale(LC_ALL, "Portuguese");
char curso[] = "Sistemas da Informação";
char faculdade[] = " Anhanguera";
printf("%dn", strlen(curso));
printf("%sn", strcat(curso, faculdade));
if (strcmp(curso, faculdade) == 0)
printf("Strings iguais !!!");
else
printf("São diferentes !!!");
}
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Matrizes
São vetores que possuem duas ou mais dimensões para armazenar valores.
Uma matriz de duas dimensões, possui um comportamento semelhante ao de
uma tabela com linhas e colunas.
O que é?:
VETORES E MATRIZES
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Matrizes
Exemplo:
int valor[4][4] = {
{0, 0 ,0 ,0},
{0, 1 ,1 ,0},
{0, 1 ,1 ,0},
{0, 0 ,0 ,0}
};Declaração de uma matriz
VETORES E MATRIZES
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
int main()
{
int valor[4][4] = {
{0, 0 ,0 ,0},
{0, 1 ,1 ,0},
{0, 1 ,1 ,0},
{0, 0 ,0 ,0}
};
valor[0][2] = 22;
int i, j;
for (i=0;i<=3;i++)
{
for (j=0;j<=3;j++)
printf("%d", valor[i][j]);
printf("n");
}
}
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Matrizes
Podemos atribuir valores para uma posição de uma matriz utilizando
diretamente os seus índices.
Atribuição de Valor:
valor[0][2] = 22;
VETORES E MATRIZES
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Matrizes
• Sempre usar com sabedoria !!!
• Quanto maior o tamanho da matriz, maior a quantidade de memória
ocupada.
• A memória da matriz é de alocação estática.
• Podemos declarar qualquer tipo de matriz.
• Matrizes podem possuir várias dimensões, mas cuidado ao utilizar.
• Não se esqueça: computador tem memória limitada !!! 
• Para acessar as informações de uma matriz vamos precisar sempre de dois
índices.
Detalhes:
VETORES E MATRIZES
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Resumo
• Vetor é conjunto de variáveis do mesmo tipo.
• Possui um índice que identifica a posição dentro do vetor.
• Começam na posição 0 e terminam na posição tamanho – 1.
• Um vetor de char é conhecido como string.
• Existem algumas operações com string: obter o tamanho, comparação e
concatenação.
• Matriz é um vetor com duas dimensões.
VETORES E MATRIZES
Obrigado !!!
ANHANGUERA – 2016.2

Mais conteúdo relacionado

Mais procurados

Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completothomasdacosta
 
Programação Concorrente - Aula 03
Programação Concorrente - Aula 03Programação Concorrente - Aula 03
Programação Concorrente - Aula 03thomasdacosta
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Javathomasdacosta
 
LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2thomasdacosta
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Robson Ferreira
 
Programação Concorrente - Aula 02
Programação Concorrente - Aula 02Programação Concorrente - Aula 02
Programação Concorrente - Aula 02thomasdacosta
 
Oficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvROficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvRCiro Matheus
 
Algoritmos e Técnicas de Programação - Aula 04
Algoritmos e Técnicas de Programação - Aula 04Algoritmos e Técnicas de Programação - Aula 04
Algoritmos e Técnicas de Programação - Aula 04thomasdacosta
 
Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06thomasdacosta
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosMario Jorge Pereira
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02thomasdacosta
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03thomasdacosta
 
Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03thomasdacosta
 
Dicas para maratonas de programação
Dicas para maratonas de programaçãoDicas para maratonas de programação
Dicas para maratonas de programaçãoAnderson Araújo
 
Conceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoConceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoRobson Ferreira
 
Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2Pacc UAB
 
Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02André Phillip Bertoletti
 
Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1Pacc UAB
 
Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Pacc UAB
 

Mais procurados (20)

Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completo
 
Programação Concorrente - Aula 03
Programação Concorrente - Aula 03Programação Concorrente - Aula 03
Programação Concorrente - Aula 03
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Java
 
LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
 
Programação Concorrente - Aula 02
Programação Concorrente - Aula 02Programação Concorrente - Aula 02
Programação Concorrente - Aula 02
 
Oficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvROficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvR
 
Algoritmos e Técnicas de Programação - Aula 04
Algoritmos e Técnicas de Programação - Aula 04Algoritmos e Técnicas de Programação - Aula 04
Algoritmos e Técnicas de Programação - Aula 04
 
Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03
 
Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03
 
Dicas para maratonas de programação
Dicas para maratonas de programaçãoDicas para maratonas de programação
Dicas para maratonas de programação
 
Conceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoConceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentação
 
Ip 01 logica
Ip 01 logicaIp 01 logica
Ip 01 logica
 
Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2
 
Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02
 
Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1
 
Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1
 

Semelhante a Vetores e Matrizes na Programação

Quero ser programador - o que fazer?
Quero ser programador - o que fazer?Quero ser programador - o que fazer?
Quero ser programador - o que fazer?Pedro Henrique
 
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 05thomasdacosta
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizandoJoão Gomes
 
Aula 2 módulo i - psi
Aula 2   módulo i - psiAula 2   módulo i - psi
Aula 2 módulo i - psi111111119
 
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...Manuel Menezes de Sequeira
 
Estruturas de dados e técnicas de programação
Estruturas de dados e técnicas de programaçãoEstruturas de dados e técnicas de programação
Estruturas de dados e técnicas de programaçãoEverson Wolf
 
Matrizes - Profª Letícia Lopes
Matrizes - Profª Letícia LopesMatrizes - Profª Letícia Lopes
Matrizes - Profª Letícia Lopesmarcosnem
 
Logica java ate slide 30
Logica java   ate slide 30Logica java   ate slide 30
Logica java ate slide 30hflandim
 
Algoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlgoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlex Camargo
 
Talk - Meetup Elixir BH #1 - Felipe Rosa
Talk - Meetup Elixir BH #1 - Felipe RosaTalk - Meetup Elixir BH #1 - Felipe Rosa
Talk - Meetup Elixir BH #1 - Felipe RosaFelipe Rosa
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizesTácito Graça
 

Semelhante a Vetores e Matrizes na Programação (20)

Quero ser programador - o que fazer?
Quero ser programador - o que fazer?Quero ser programador - o que fazer?
Quero ser programador - o que fazer?
 
Aula 2 | Vetores
Aula 2 | VetoresAula 2 | Vetores
Aula 2 | Vetores
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
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
 
Trabalho vetores
Trabalho vetoresTrabalho vetores
Trabalho vetores
 
Lógica De Programação
Lógica De ProgramaçãoLógica De Programação
Lógica De Programação
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizando
 
Linguagem C - Operadores bit a bit
Linguagem C - Operadores bit a bitLinguagem C - Operadores bit a bit
Linguagem C - Operadores bit a bit
 
Ed1
Ed1Ed1
Ed1
 
Modulo02
Modulo02Modulo02
Modulo02
 
Aula 2 módulo i - psi
Aula 2   módulo i - psiAula 2   módulo i - psi
Aula 2 módulo i - psi
 
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
 
Estruturas de dados e técnicas de programação
Estruturas de dados e técnicas de programaçãoEstruturas de dados e técnicas de programação
Estruturas de dados e técnicas de programação
 
Matrizes - Profª Letícia Lopes
Matrizes - Profª Letícia LopesMatrizes - Profª Letícia Lopes
Matrizes - Profª Letícia Lopes
 
Logica java ate slide 30
Logica java   ate slide 30Logica java   ate slide 30
Logica java ate slide 30
 
Algoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlgoritmos e Programação: Vetores
Algoritmos e Programação: Vetores
 
Algoritmos: Tipos de Dados
Algoritmos: Tipos de DadosAlgoritmos: Tipos de Dados
Algoritmos: Tipos de Dados
 
Talk - Meetup Elixir BH #1 - Felipe Rosa
Talk - Meetup Elixir BH #1 - Felipe RosaTalk - Meetup Elixir BH #1 - Felipe Rosa
Talk - Meetup Elixir BH #1 - Felipe Rosa
 
01 logica
01 logica01 logica
01 logica
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizes
 

Mais de thomasdacosta

Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produçãothomasdacosta
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03thomasdacosta
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 
Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01thomasdacosta
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02thomasdacosta
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03thomasdacosta
 
Organização de Computadores - Aula 01
Organização de Computadores - Aula 01Organização de Computadores - Aula 01
Organização de Computadores - Aula 01thomasdacosta
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06thomasdacosta
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05thomasdacosta
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completothomasdacosta
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07thomasdacosta
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06thomasdacosta
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04thomasdacosta
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05thomasdacosta
 
Programação Concorrente - Aula 05
Programação Concorrente - Aula 05Programação Concorrente - Aula 05
Programação Concorrente - Aula 05thomasdacosta
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04thomasdacosta
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03thomasdacosta
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04thomasdacosta
 
Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04thomasdacosta
 
Redes de Computadores - Aula 03
Redes de Computadores - Aula 03Redes de Computadores - Aula 03
Redes de Computadores - Aula 03thomasdacosta
 

Mais de thomasdacosta (20)

Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produção
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 
Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03
 
Organização de Computadores - Aula 01
Organização de Computadores - Aula 01Organização de Computadores - Aula 01
Organização de Computadores - Aula 01
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completo
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05
 
Programação Concorrente - Aula 05
Programação Concorrente - Aula 05Programação Concorrente - Aula 05
Programação Concorrente - Aula 05
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04
 
Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04
 
Redes de Computadores - Aula 03
Redes de Computadores - Aula 03Redes de Computadores - Aula 03
Redes de Computadores - Aula 03
 

Vetores e Matrizes na Programação

  • 1. ANHANGUERA – 2016.2 ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO AULA 05 – VETORES E MATRIZES Prof. Thomás da Costa thomascosta@aedu.com
  • 2. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa VETORES E MATRIZES VETORES E MATRIZES
  • 3. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa VETORES E MATRIZES Vetores O que é?: É um conjunto do mesmo tipo de variável com um tamanho definido. Um vetor possui um indexador para identificar a posição dentro do conjunto de variáveis. Este conjunto não pode possuir tipos diferentes.
  • 4. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Vetores Exemplo: VETORES E MATRIZES int vetor[5] = { 0, 1, 2, 3, 4 }; Tamanho de 5 posições. Tipo do vetor. Atribuindo valores para o vetor nas posições correspondentes.
  • 5. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> #include <locale.h> int main() { setlocale(LC_ALL, "Portuguese"); int vetor[5] = { 0, 1, 2, 3, 4 }; int i; for (i=0;i<=4;i++) { printf("posição: %d, valor: %dn", i, vetor[i]); } }
  • 6. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> #include <locale.h> int main() { setlocale(LC_ALL, "Portuguese"); int vetor[5]; printf("Digite um valor na posição 3 do vetor: "); vetor[1] = 100; scanf("%d", &vetor[2]); printf("Valor digitado: %dn", vetor[2]); printf("Valor na segunda posição: %d", vetor[1]); }
  • 7. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Vetores Detalhes: VETORES E MATRIZES • Possui um índice que identifica a posição do elemento. • O vetor sempre começa no índice 0 e terminar no índice tamanho – 1. • Vetores armazenam uma quantidade definida de valores. • Vetores ocupam mais espaço de memória. • Possuem somente uma dimensão de tamanho. • Podemos inicializar os valores, quando declaramos a variável do tipo vetor. • Não suporta tipos diferentes dentro do mesmo vetor. • Percorremos vetores de forma crescente, decrescente ou a partir de uma posição. • Podemos atribuir um valor para uma posição definida. • Quando atribuímos um valor para uma posição maior que a quantidade suportada do vetor, o programa pode apresentar erros de memória.
  • 8. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Vetores Vetor especial: VETORES E MATRIZES • Um vetor de char é conhecido como um tipo string. • Normalmente o vetor do tipo char é um conjunto de caracteres. • Representam uma palavra. • Possui o mesmo formato dos outros vetores. • Podemos receber uma string do teclado através do comando scanf.
  • 9. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> #include <locale.h> int main() { setlocale(LC_ALL, "Portuguese"); char nome[255] = "João"; char cidade[255]; printf("Olá %s !!! Qual a sua cidade de nascimento? ", nome); fgets(cidade, sizeof(cidade), stdin); printf("%s você nasceu em %s", nome, cidade); }
  • 10. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Vetores Funções de um vetor de char: VETORES E MATRIZES • strlen – obtém o tamanho de uma string. • strcat – concatena duas strings. • strcmp – compara duas strings. Se forem iguais, retornar 0.
  • 11. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> #include <locale.h> #include <string.h> int main() { setlocale(LC_ALL, "Portuguese"); char curso[] = "Sistemas da Informação"; char faculdade[] = " Anhanguera"; printf("%dn", strlen(curso)); printf("%sn", strcat(curso, faculdade)); if (strcmp(curso, faculdade) == 0) printf("Strings iguais !!!"); else printf("São diferentes !!!"); }
  • 12. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Matrizes São vetores que possuem duas ou mais dimensões para armazenar valores. Uma matriz de duas dimensões, possui um comportamento semelhante ao de uma tabela com linhas e colunas. O que é?: VETORES E MATRIZES
  • 13. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Matrizes Exemplo: int valor[4][4] = { {0, 0 ,0 ,0}, {0, 1 ,1 ,0}, {0, 1 ,1 ,0}, {0, 0 ,0 ,0} };Declaração de uma matriz VETORES E MATRIZES
  • 14. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> int main() { int valor[4][4] = { {0, 0 ,0 ,0}, {0, 1 ,1 ,0}, {0, 1 ,1 ,0}, {0, 0 ,0 ,0} }; valor[0][2] = 22; int i, j; for (i=0;i<=3;i++) { for (j=0;j<=3;j++) printf("%d", valor[i][j]); printf("n"); } }
  • 15. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Matrizes Podemos atribuir valores para uma posição de uma matriz utilizando diretamente os seus índices. Atribuição de Valor: valor[0][2] = 22; VETORES E MATRIZES
  • 16. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Matrizes • Sempre usar com sabedoria !!! • Quanto maior o tamanho da matriz, maior a quantidade de memória ocupada. • A memória da matriz é de alocação estática. • Podemos declarar qualquer tipo de matriz. • Matrizes podem possuir várias dimensões, mas cuidado ao utilizar. • Não se esqueça: computador tem memória limitada !!!  • Para acessar as informações de uma matriz vamos precisar sempre de dois índices. Detalhes: VETORES E MATRIZES
  • 17. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Resumo • Vetor é conjunto de variáveis do mesmo tipo. • Possui um índice que identifica a posição dentro do vetor. • Começam na posição 0 e terminam na posição tamanho – 1. • Um vetor de char é conhecido como string. • Existem algumas operações com string: obter o tamanho, comparação e concatenação. • Matriz é um vetor com duas dimensões. VETORES E MATRIZES