23
Joyce França Professora de Ciência da Computação - IFNMG VETOR

Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Joyce França Professora de Ciência da Computação - IFNMG

VETOR

Page 2: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Vetor

• Imagine o seguinte problema:

• Leia 100 números do teclado e depois imprima a

soma das extremidades.

• Exemplo: 1,2,10,50,..... , 1, 7, 90,78

1 2 10 50 ... 1 7 54 78

Page 3: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Vetor

• Solução1: Declarar 100 variáveis do tipo

inteiro e depois realizar a soma

• int num1,num2,num3,num4,....., num100

Page 4: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Vetor

• Solução1: Declarar 100 variáveis do tipo

inteiro e depois realizar a soma

• int num1,num2,num3,num4,....., num100

INVIÁVEL!!!!

Page 5: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Vetor

• Solução2: Usar vetores!!

• int num[100];

Page 6: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Array unidimensional ou

vetor

• Um array é um conjunto de componentes

do mesmo tipo.

Page 7: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Vetor

• Sintaxe:

tipo nome[tam];

• Tipo pode ser: int,float,double,char.

Page 8: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Array - Definição

• Como estes dados têm uma relação entre si, podemos declará-los usando um ÚNICO nome para todos os 100 elementos.

• Lista = conjunto de 100 números acessados por um índice.

0 1 ... 99

Lista

Page 9: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Array - Definição

• Na linguagem C a numeração começa sempre em zero.

• Isto significa que, no exemplo anterior, os dados serão indexados de 0 a 99.

▫ Lista[0], Lista[1], ..., Lista[99]

0 1 ... 99

LISTA

Page 10: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Array - Definição

• Observação

▫ Se o usuário digitar mais de 100 elementos em um array de 100 elementos, o programa tentará ler normalmente.

▫ Porém, o programa os armazenará em uma parte não alocada de memória, pois o espaço alocado foi para somente 100 elementos.

▫ Isto pode resultar nos mais variados erros no instante da execução do programa.

Page 11: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Array = varíavel

• O elemento do array tem todas as características de uma variável e pode aparecer em expressões e atribuições.

▫ Lista[2] = Lista[3] + Lista[20]

• Ex: somar todos os elementos da Lista:

int soma = 0;

for(i=0;i < 100; i++)

soma = soma + Lista[i];

Page 12: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Características

• Características básicas de um Array ▫ Estrutura homogênea, isto é, formada de elementos do

mesmo tipo. ▫ todos os elementos da estrutura são igualmente

acessíveis, isto é, o tempo e o tipo de procedimento para acessar qualquer um dos elementos do Array são iguais.

▫ cada elemento componente desta estrutura tem um índice próprio segundo sua posição no conjunto

Page 13: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Vetores em C - Inicialização

• É possível inicializar vetores no comando de

declaração.

• Exemplos:

/* Cria e inicializa vetor de 10 posições */

int a[10] = {1, 2, 3, 5, 7, 11, 13, 17, 19, 23};

/* Cria e inicializa vetor de 6 posições. O tamanho do vetor PODE ser omitido se houver uma inicialização no comando de declaração */

• int b[] = {1, 2, 4, 8, 16, 32};

Page 14: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Exemplo

• Armazenar 10 números em um vetor. E ao final imprimi-los na tela.

#include <stdio.h>

#include <stdlib.h>

int main() {

int i, vet[10]={20,22,23,25,26,28,98,36,98,36};

for(i=0;i<10;i++)

{

printf(" %d ", vet[i]);

}

}

14

Page 15: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Exercício de fixação

1. Faça um programa que possua um vetor denominado A que armazene 6 números inteiros. O programa deve executar os seguintes passos:

(a) Atribua os seguintes valores a esse vetor: 1, 0, 5, -2, -5, 7.

(b) Armazene em uma variável inteira (simples) a soma entre os valores das posições A[0], A[1] e A[5] do vetor e mostre na tela esta soma.

(c) Modifique o vetor na posição 4, atribuindo a esta posição o valor 100.

(d) Mostre na tela cada valor do vetor A, um em cada linha.

Page 16: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Exemplo

• Inicialização de vetor usando números digitados

• Ler 10 inteiros e armazená-los em um vetor. E ao final imprimi-los na tela.

#include <stdio.h>

#include <stdlib.h>

int main() {

int i, vet[10];

printf("digite 10 numeros separados por espaço ou digite um numero e aperte enter \n");

for(i=0;i<10;i++)

{

scanf("%d", &vet[i]);

}

for(i=0;i<10;i++)

{

printf(" %d ", vet[i]);

}

}

16

Page 17: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Exercícios

1. Dada uma seqüência de 10 números digitados, imprimi-la e também mostre o posição.

2. Dada uma seqüência de 10 números digitados, imprimi-la na ordem inversa à da leitura.

17

Page 18: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Exercícios

1. Dada uma seqüência de 10 números digitados, imprimir a soma das extremidades.

2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas posições no vetor. Ao final seu programa deverá escrever a soma dos valores encontrados nas respectivas posições X e Y .

3. Ler um conjunto de números reais, armazenando-o em vetor e calcular o quadrado das componentes deste vetor, armazenando o resultado em outro vetor. Os conjuntos têm 10 elementos cada. Imprimir todos os conjuntos.

4. Leia um vetor de 10 posições. Contar e escrever quantos valores pares ele possui.

18

Page 19: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Números aleatórios • Para gerar um número aleatório (randômico) em

linguagem C podemos usar a função rand pertencente à biblioteca stdlib.h.

#include <stdio.h> main() { int i; printf("Gerando 10 valores aleatorios:\n\n"); for (i = 0; i < 10; i++) { /* gerando valores aleatórios entre zero e 100 */ printf("%d ", rand() % 100); } }

Page 20: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Números aleatórios

Page 21: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

criar um vetor de 10 espaços com

números aleatórios

#include<stdio.h> #include<stdlib.h> #include<time.h> main(){ srand(time(NULL));

int a[10],i; printf("Programa para criação de vetor\n"); for(i=0;i<10;i++) { a[i]=rand()%10; } printf("\n\nVetor a\n"); for(i=0;i<10;i++) { printf("[%d] = %d\n",i+1,a[i]); } }

Page 22: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Exercícios

1. Elabore um programa que preencha um vetor com 20 números aleatórios. Em seguida, mostre o vetor e depois a soma dos números pares.

2. Elabore um programa que preencha um vetor com 100 números aleatórios. Em seguida, mostre o vetor e depois mostre somente os números armazenado nas posições ímpares do vetor.

3. Elabore um programa que encontre o menor elemento de um vetor com 20 elementos gerados por números aleatórios.

4. Elabore um programa que leia um vetor A de 10 números inteiros e imprima o maior valor e a posição em que ele se encontra no vetor.

5. Faça um programa que preencha um vetor com 10 números reais, calcule e mostre a quantidade de números negativos e a soma dos números positivos desse vetor.

6. Faça um programa para ler a nota da prova de 15 alunos e armazene num vetor, calcule e imprima a média geral.

22

Page 23: Apresentação do PowerPoint · 2018-05-29 · 2. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y quaisquer correspondentes a duas

Exercícios

3. Elabore um programa que receba 10 letras e armazene em um vetor. E ao final imprima as 10 letras ao contrário.

4. Elabore um programa que, dados dois vetores inteiros de 10 posições, leia os dois vetores, some os valores da mesma posição e armazene em um terceiro vetor inteiro de 10 posições. No final imprima este terceiro vetor.

5. Faça um programa que receba 6 números inteiros e mostre:

▫ Os números pares digitados; ▫ A soma dos números pares digitados; ▫ Os números ímpares digitados; ▫ A quantidade de números ímpares digitados

23