Matrizes Unidimensionais

Slides:



Advertisements
Apresentações semelhantes
Aula T-09 – BCC202 Listas (Parte 1) Túlio Toffolo www. decom. ufop
Advertisements

Programação em Java Prof. Maurício Braga
Pseudo-código: sintaxe
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
Estruturas de Dados Marcio Gonçalves.
Programação em Java Prof. Maurício Braga
Estruturas de Repetição
Listas Encadeadas CONTEÚDO (1) Motivação (2) Definição (3) Operações
Algoritmos e Estrutura de Dados I
1 Tipos definidos O programador pode definir seus próprios tipos de dados tipos complexos usados da mesma forma que os simples declaram-se variáveis utilizando-se.
FACENS – Engenharia da Computação Lógica Computacional II
Ordenação Facilitar e aumentar a eficiência das operações de pesquisa sobre esses dados Pode ser crescente ou decrescente A seqüência de entrada, normalmente,
Ordenação Facilitar e aumentar a eficiência das operações de pesquisa sobre esses dados Pode ser crescente ou decrescente A seqüência de entrada, normalmente,
Programação para Engenharia I
Estruturas de Controle
AULA – Linguagem C – Vetores, Ponteiros Estruturas
THOBER CORADI DETOFENO, MSC. Aula 07
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade Federal do Espírito Santo Programação II Professora: Norminda Luiza.
Lógica de Programação Módulo II
Ponteiros.
1 4.6 – Variáveis - introdução Nesta altura (ao nível da programação) interessa saber que um computador tem: Nesta altura (ao nível da programação) interessa.
Descreva por palavras suas o funcionamento de um algoritmo
Algoritmos e Programação
Listas e algoritmos (em Scratch)
Técnica de Programação II Vetor e Matriz
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Vetores e Matrizes Laboratório de ICCN Marco Antonio Montebello Júnior
Introdução a Computação e Cálculo Numérico
Aula prática 6 Vetores e Matrizes
PROGRAMAÇÃO ESTRUTURADA II
Linguagem de Programação II Parte V
Linguagem de Programação I Parte III
Linguagem de Programação II Parte IX
Sistemas Operacionais
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
Estrutura de dados, pseudocódigo
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
Introdução a Programação
Aula prática 6 Vetores e Matrizes
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
Vetores Imagine que você tem que receber o nome e a nota de 50 alunos de uma escola, e depois listar o nome de cada um e a média final de cada aluno e.
Estrutura de dados - Vetores
Instituto Federal de Santa Catarina
Fundamentos de Programação
Vetores e Matrizes Ameliara Freire
Linguagem e Ambiente Scratch
Ceça Moraes – Introdução à Programação SI1
Algoritmos e Estruturas de Dados I – Ponteiros
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Algoritmos e Estrutura de Dados I
Algoritmos e Estruturas de Dados I – Estruturas de Dados
VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS (VETORES)
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
Comandos de Condição Aula 1 1. Introdução Até agora, todos os algoritmos que fizemos têm um fluxo de execução único. As instruções executadas são sempre.
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Fundamentos de linguagens de programação
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Algoritmos.
Linguagem de Programação II Parte VI Professora: Flávia Balbino da Costa.
Programação I Aula 07 Autor: Francisco Airton Professor: André L. R. Didier 1.
Professor: André L. R. Didier Autor: Francisco Airton
PROGRAMAÇÃO II – PARTE 6 Profa. Maria Augusta Constante Puget.
 O que são arrays:  estruturas de dados homogêneas  coleção de elementos do mesmo tipo referenciada por um nome comum  um array pode ser imaginado.
Algoritmos – Aula 04 Comandos de repetição.
Tipos de Dados, Variáveis, Expressões Lógicas e Aritméticas
Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em.
Adriano A. Ribeiro. Variáveis Compostas Homogêneas Variáveis indexadas. A declaração de uma variável indexada corresponde, na verdade, à declaração de.
Algoritmos com matrizes e vetores
Transcrição da apresentação:

Matrizes Unidimensionais

Definição Matrizes unidimensionais ou arrays são áreas contíguas de memória que possuem o mesmo nome e o mesmo tipo Para referir-se a uma localização ou elemento particular no array, são necessários o nome do array e o número da posição

Declaração de Arrays Arrays possuem um número fixo de variáveis do mesmo tipo A declaração e a alocação de arrays são operações distintas (em alguns casos) Exemplos de declaração: Inteiro[] contadores Real[] resultados Texto[] nomes tipo[] identificador

Alocação Sintaxe: tipo[tamanho]; Exemplos: contadores = Inteiro[10] Resultados = Real[15] nomes = Texto[10]

Organização Cada caixa é uma variável do tipo Inteiro 0 1 2 3 4 5 6 7 8 9 contadores Cada caixa é uma variável do tipo Inteiro Os números acima são os índices das variáveis Um array de tamanho 10 tem índices de 0 a 9 (em grande parte dos casos)

Índices de Arrays Arrays podem conter qualquer tipo de valor Índices são usados para acessar valores específicos do array Exemplos: contadores[0] /* primeira variável em contadores*/ contadores[1] /* segunda variável em contadores*/ contadores[9] /* última variável em contadores */ contadores[10] /* erro */

Expressões como índices Índices de array não precisam ser constantes Índices de Array necessitam ser expressões inteiras que resultam em um índice válido para o array Exemplos: contadores[i] contadores[2*i] contadores[I/2]

Inicialização Arrays podem ser inicializados por uma lista de elementos dados Se a lista possui n elementos os índices serão de 0 a n – 1 Exemplo: Inteiro[] primos = {2, 3, 5, 7, 11, 13, 17, 19}

Inicializando Arrays de Texto Texto[] NAME = { “Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”}

Repetição e Processamento Inicializa contadores com 0, 10, 20, … , 90 Inteiro i=0 para(i < 10; i=i+1) faça contadores[i] = i * 10 fimpara Imprime o conteúdo para (i < 10;i=i+1) faça imprimir contadores[i]

Capacidade Arrays não podem crescer uma vez que eles foram alocados Você pode alocar mais espaço do que você acredita que vai precisar Se você escolher um valor baixo, ainda ficará sem espaço Não é necessário usar todos os elementos de um array (mas a memória total de um computador não é infinita)

Busca Esta repetição termina logo que encontra o valor 90 armazenado em resulados Lógico found = falso Inteiro i = 0 Enquanto (i < size & !found) faça se (resultados[i] == x)então found = verdadeiro senão i=i+1 fimse fimenquanto

Busca Quando procurar por valores inteiros comparações exatas podem ser feitas (A[i] == key) Comparar dois valores Reais para igualdade nem sempre será uma operação correta Um modo melhor para Reais é ((A[i]–key) < epsilon) Epsilon deve ser um valor pequeno aceitável para a aplicação

Processando Arrays simultaneamente Esta repetição conta quantos de estudantes melhoraram o rendimento no segundo exame inteiro melhorou = 0 Inteiro i=0 para (i < size;i=i+1) faça se (grades1[i] < grades2[i]) então melhorou = melhorou+1 fimse fimpara

Ordenação por seleção Encontrar o menor elemento entre A[0]..A[n-1] e chamá-lo A[min] trocar A[0] e A[min] fazendo com que A[0] contenha o menor elemento e A[1]..A[n-1] sejam não ordenados Agora, encontrar o menor elemento entre A[1]..A[n-1] e chamá-lo A[min] trocar A[1] e A[min] de modo que A[1] contenha o segundo menor elemento A[2]..A[n-1] sejam não ordenados Faça de maneira similar para o restante dos elementos

SelectionSort – parte 1 Algoritmo selectionSort () Início /*inserir a criação/leitura do array A*/ Inteiro i=0 para ( i < size; i=i+1) faça inteiro j=i+1 inteiro min = i para(j < size; j=j+1)faça se (A[j] < A[min]) então min =j fimse fimpara

SelectionSort – parte 2 Real temp = A[i] A[i] = A[min] A[min] = temp fimpara fim

Bubble Sort Procedimento bubbleSort (Inteiro[] &vet) Início Inteiro i=0 para ( i < size; i=i+1) faça inteiro j=i+1 para(j < size; j=j+1)faça se (vet[j] < vet[i]) então inteiro aux =vet[i] vet[i]=vet[j] vet[j]=aux fimse fimpara fim

Arrays multidimensionais Arrays podem ter mais do que uma dimensão As chamadas matrizes podem ser vistas como arrays de arrays Sintaxe Inteiro[][] matriz = Inteiro[10][10]

Exercício 1 Completar o algoritmo selectioSort com a parte que está faltando

Exercício 2 Faça um algoritmo que leia 20 números entre 10 e 100, inclusive. O algoritmo deve imprimir o número somente se ele não for uma duplicata de um número lido anteriormente

Exercício 3 Utilize uma matriz bidimensional para resolver o seguinte problema: Uma empresa tem 4 vendedores que vendem 5 produtos. Uma vez por dia, cada vendedor entrega uma nota de cada tipo de produto diferente vendido. Cada nota contém 1) número do vendedor, 2) número do produto e 3) valor total vendido deste produto em reais.

Exercício 3 Faça um programa que leia o total de notas para cada produto para cada vendedor e calcule a comissão de cada vendedor. A comissão é calculada pela seguinte equação: Comissão = 10%*(totalProd1)+ 20%*(totalProd2)+ 10%*(totalProd3)+ 20%*(totalProd4)+ 10%*(totalProd5)