Algoritmos e Programação

Documentos relacionados
Programação: Vetores

LINGUAGEM C: ARRAY: VETORES E MATRIZES

Algoritmos e Programação

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Matrizes. Prof. Alex Camargo

Vetores. e o programa deverá ler os valores separadamente:

Computação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br

Aula 8 Oficina de Programação Vetores. Profa. Elaine Faria UFU

Disciplina de Algoritmos e Programação. Vetor e Matriz

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: variáveis compostas homogêneas: Arrays Strings

Linguagem C vetores. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

CI208 - Programação de Computadores. Aula 24: Arrays. Prof. MSc. Diego Roberto Antunes

Computação 2. Aula 2. Profª. Fabiany Vetores e Matrizes

Aula 9 Oficina de Programação Matrizes. Profa. Elaine Faria UFU

Aula 17: Funções (Parte III) e Introdução a Vetores

Aula 06 Introdução à Programação Matrizes

Instituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I

PROGRAMAÇÃO A. Vetores

Introdução a programação Vetores

LÓGICA DE PROGRAMAÇÃO (C) VETORES E MATRIZES. Professor Carlos Muniz

<identificador>[<tamanho>]: <tipo>;

Variáveis Compostas Homogêneas Vetores

Fundamentos de Programação

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica

Linguagem de Programação

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados

Algoritmos e Programação Parte 02 Vetores e Matrizes

LINGUAGEM C: PONTEIROS

Introdução à Programação

Algoritmos II Aula 2 Vetores

Vetores Unimensionais

Vetores e Matrizes. Vetores

Computação Eletrônica. Strings. Prof: Luciano Barbosa. CIn.ufpe.br

Algoritmos - 6. Alexandre Diehl. Departamento de Física - UFPel

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha

Introdução a Programação de Jogos

Laboratório de Programação II

Disciplina de Algoritmos e Programação

Algoritmos e Programação

Variável Composta Homogênea Unidimensional e Multidimensional - ARRAY

Algoritmos e Programação

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

MC-102 Aula 21 Registros

Introdução a Computação

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Vetores Unimensionais

Algoritmos e Programação

Exercícios Repetição

Algoritmos e Programação

Vetores são estruturas indexadas utilizadas para armazenar dados de um mesmo tipo: int, char, float ou double. Oexemploaseguirédeumvetordeinteiros:

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

Programação Estruturada. Arrays

Algoritmos e Programação

LINGUAGEM C VETOR E MATRIZ

Fundamentos de Programação de Computadores Linguagem C Vetor Unidade 09 Linguagem C - Vetor 1/16

Comandos de controle de fluxo: if / for / while / do while.

Aula 10: Introdução a Vetores e Matrizes

Array em Java. Figura 1 - Exemplo de um array de inteiros

12 - Dados Estruturados Vetores, Matrizes e Strings

Dados Estruturados Vetores e Matrizes. SCC120 - Introdução à Ciência de Computação

Linguagem de programação Estruturas de armazenamento

LINGUAGEM C++ Prof. Bruno Gomes ESTRUTURAS DE DADOS HOMOGÊNEAS PARTE II - MATRIZES. Currais Novos, 2011

Estruturas de Dados Estáticas Cont.

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

Introdução a Programação. Tipos Estruturados de Dados

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Transcrição:

Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes marinagomes@unipampa.edu.br 19/05/2017 Engenharia de Computação - Unipampa 1

Motivação Problema: Leia as notas de uma turma de cinco estudantes e depois imprima as notas que são maiores do que a média da turma. 19/05/2017 Engenharia de Computação - Unipampa 2

Motivação 19/05/2017 Engenharia de Computação - Unipampa 3

Motivação O algoritmo anterior apresenta uma solução possível para o problema apresentado. Porém essa solução é inviável para grandes quantidades de alunos. Imagine se tivéssemos que processar 100 notas! 19/05/2017 Engenharia de Computação - Unipampa 4

Vetores Para 100 alunos, precisamos de: Uma variável para armazenar a nota de cada aluno 100 variáveis Um comando de leitura para cada nó 100 scanf() Um somatório de 100 notas Um comando de teste para cada aluno 100 comandos de if Um comando de impressão na tela para cada aluno 100 printf() 19/05/2017 Engenharia de Computação - Unipampa 5

Motivação Pergunta: Existe outra maneira de trabalhar com n variáveis sem usar n nomes diferentes? Resposta: Sim, utilizando um vetor. 19/05/2017 Engenharia de Computação - Unipampa 6

Vetor Vetor é uma variável composta homogênea unidimensional. Um vetor é formado por uma sequência de variáveis, todas do mesmo tipo de dados. Dizemos que cada variável componente é um elemento do vetor. As variáveis que compõem um vetor são todas identificadas pelo mesmo nome. Estas variáveis são alocadas sequencialmente na memória. 19/05/2017 Engenharia de Computação - Unipampa 7

Vetor 19/05/2017 Engenharia de Computação - Unipampa 8

Declaração de uma variável vetor Primeiro o tipo de dado dos componentes do vetor: int, float, double, char,... Segundo: o nome da variável vetor: usando as mesmas convenções de um identificador comum. E por fim, o tamanho do vetor (isto é, a quantidade de elementos que formam o vetor) escrito entre colchetes: [5], [3], [10]. 19/05/2017 Engenharia de Computação - Unipampa 9

Declaração de uma variável vetor Exemplos 19/05/2017 Engenharia de Computação - Unipampa 10

Declaração de uma variável vetor Todo vetor é um espaço linear na memória dividido em várias variáveis componentes de acordo com o tamanho declarado. Ao declaramos int vet [4]; é alocado na memória um espaço linear para 4 variáveis inteiras, representadas da seguinte forma: 19/05/2017 Engenharia de Computação - Unipampa 11

Acessando elementos de um vetor Os componentes de um vetor são numerados sequencialmente começando com zero. Para identificar cada componente usamos o nome do vetor juntamente com o número que indica a posição do componente na sequência. A posição de um componente é chamada de índice. Exemplo: 19/05/2017 Engenharia de Computação - Unipampa 12

Acessando elementos de um vetor Sintaxe: Primeiramente escreve-se o vetor. Despois escreve-se o índice (uma expressão inteira) entre colchetes 19/05/2017 Engenharia de Computação - Unipampa 13

Acessando elementos de um vetor Exemplo: Notas[1] refere-se ao componente na posição 1 do vetor Notas, ou seja, o segundo elemento do vetor. Uma vez que as variáveis que compõem o vetor têm o mesmo nome, o que distingue cada uma delas é o seu índice, que referencia sua localização dentro da estrutura. 19/05/2017 Engenharia de Computação - Unipampa 14

Acessando elementos de um vetor A primeira posição de um vetor tem índice 0. A última posição de um vetor tem índice tamanho 1. Importante: O sistema de execução não verifica se o índice usado para acessar um componente do vetor é válido. É responsabilidade do programador garantir que o índice usado para acessar um elemento de um vetor é válido. 19/05/2017 Engenharia de Computação - Unipampa 15

Acessando elementos de um vetor Não esqueça: Para acessar uma posição específica de um vetor basta indicar a posição desejada entre colchetes. A posição é chamada de índice. A faixa de índices válidos inicia em 0 e termina com o tamanho - 1. Exemplo: os índices válidos para um vetor de tamanho 4 são 0, 1, 2 e 3. 19/05/2017 Engenharia de Computação - Unipampa 16

Acessando elementos de um vetor Exemplo: Declarar um vetor de tamanho 4 e atribuir o valor 540 na posição 1 e o valor 8456 na posição 3. 19/05/2017 Engenharia de Computação - Unipampa 17

Acessando elementos de um vetor O limite do vetor é sempre o seu tamanho menos 1. No exemplo anterior o vetor é de tamanho 4, a posição máxima é 3, pois 4-1 = 3. Se um valor for atribuído fora dos limites do vetor ocorrerá um erro muito grave, pois o valor estará sendo armazenado em um espaço de memória que não pertence ao vetor. Ainda no exemplo anterior, não se deve fazer: 19/05/2017 Engenharia de Computação - Unipampa 18

Percorrendo um vetor Pergunta: Qual estrutura já vista nas aulas podemos utilizar para percorrer um vetor? Resposta: Podemos usar um comando de repetição (for, while e do-while) para percorrer um vetor. 19/05/2017 Engenharia de Computação - Unipampa 19

Percorrendo um vetor Voltando ao problema inicial: Leia as notas de uma turma de cinco estudantes e depois imprima as notas que são maiores do que a média da turma. 19/05/2017 Engenharia de Computação - Unipampa 20

Solução 19/05/2017 Engenharia de Computação - Unipampa 21

Inicialização de vetores Quando declaramos um vetor, os seus elementos não são inicializados. Neste caso os seus elementos são desconhecidos (lixo) e só deverão ser utilizados após atribuição. Porém é possível fazer a inicialização de um vetor com os valores iniciais desejados. Os valores inicias são colocados entre chaves {} Exemplo: 19/05/2017 Engenharia de Computação - Unipampa 22

Inicialização de vetores A quantidade de valores entre chaves não deve ser maior que o tamanho do vetor. A fim de facilitar a inicialização, C permite omitir o número de elementos (tamanho): []. Neste caso, o compilador assume que o tamanho do vetor é igual ao número de valores especificados na inicialização (entre chaves). Exemplo: 19/05/2017 Engenharia de Computação - Unipampa 23

Exercícios 1. Construa um programa que declare e receba um vetor de inteiros com 10 elementos com números fornecidos pelo usuário, através da entrada padrão e depois exiba os índices e seus valores armazenados. Exemplo: índice 1 valor 10; índice 2 valor 5 2. Escrever um algoritmo que lê um vetor A(10) e escreve todos as posições com valor igual a 10 nesse vetor. 3. Faça um programa que preencha um vetor com 5 números inteiros, calcule e mostre os números pares e suas respectivas posições. 4. Escrever um algoritmo que lê um vetor V(10) e um valor escalar. Fazer o produto de cada posição do vetor V pelo valor escalar digitado. Mostra na tela os novos valores do vetor após a multiplicação. 19/05/2017 Engenharia de Computação - Unipampa 24

Exercícios 5. Faça um programa que leia um vetor de 10 posições e crie um segundo vetor substituindo os valores pares por 0. 6. Faça um programa que lê um vetor vet[6] e o escreve. A seguir, eleve cada um dos elementos do vetor ao quadrado e o escreva novamente. Mostre na tela o vetor modificado. 7. Faça um programa que leia 2 vetores com 5 números inteiros cada, mostre as posições que apresentem o mesmo valor nos dois vetores. 8. Faça um programa que exibe o conteúdo de um vetor tamanho 10 de forma invertida. Este vetor já deve estar inicializado no programa. 19/05/2017 Engenharia de Computação - Unipampa 25