31
Vetores em Scilab Yuri Tavares dos Passos

Aula04

Embed Size (px)

Citation preview

Page 1: Aula04

Vetores em Scilab

Yuri Tavares dos Passos

Page 2: Aula04

Introdução

● Vetores são estruturas de dados que armazenam dados sequenciais e consecutivos.

● Suas aplicações são voltadas para qualquer cômputo que necessite de dados sequenciais e de tamanho total estático.

– O tamanho do vetor não irá se alterar no meio do programa.

Page 3: Aula04

Introdução

● Na matemática, um vetor é uma estrutura com estas características.

● Exemplos:

A = [0 1 3 7]T

B = [0 1 0 0 1 1 0 1]T C=[3,8936

4,995,666,56

]

Page 4: Aula04

Introdução

● No exemplo anterior– Tamanho de A é 4

– Tamanho de B é 9

– Tamanho de C é 3

● Em matemática, diríamos que:

A∈ℕ4

B∈ℝ3

C∈{0,1}9

Page 5: Aula04

Introdução

● Vejam que, na matemática, o tipo de um vetor é definido pelo:

a) Tipo de cada elemento;

b) Tamanho do vetor.● O mesmo ocorre nas linguagens de

programação.

Page 6: Aula04

Introdução

● Em Visualg usamos um tipo de variável chamada caractere.

● Exemplo:– Frase = "Olá, mundo!"

● Na realidade, uma variável do tipo caractere é um vetor de caracteres– Frase = ['O', 'l', 'á', ',', ' ', 'm', 'u', 'n', 'd', 'o', '!']T

Page 7: Aula04

Declaração de vetores

● Em Scilab, os vetores são declarados automaticamente, ao se atribuir vários valores a alguma variável.

Page 8: Aula04

Exemplos

● A = [1,2,3,4]● Vetor linha com vírgulas

Page 9: Aula04

Exemplos

Page 10: Aula04

Exemplos

● B = [0 1 0 0 1 1 0 1]● Vetor linha com espaços

Page 11: Aula04

Exemplos

Page 12: Aula04

Exemplos

● C = [3.8936; 4.99; 5.66; 6.56 ]● Uso de ponto-e-vírgula pra vetores coluna

Page 13: Aula04

Exemplos

Page 14: Aula04

Exemplos

● Também pode-se utilizar ' para transpor um vetor linha.

● Exemplo:– C = [3.8936 4.99 5.66 6.56]'

Page 15: Aula04

Exemplos

Page 16: Aula04

Indexação de vetores

● É possível acessar os elementos individualmente, usando indexação.

● Os vetores começam da posição 1 e são limitados pela capacidade do vetor.

● Sintaxe:

<nome do vetor> ( <posição> )

Page 17: Aula04

Indexação de vetores

● Exemplos– A(1)

– A(3)

– S = A(1) + A(3)

– M = A(3) * 2

● A(0) e A(5) são inválidos.

Page 18: Aula04

Indexação de vetores

● Exemplos– C(1)

– C(3)

– X = C(1) + C(3)

– Y = A(1) * 3

● C(5) é inválido.

Page 19: Aula04

Indexação de vetores

● As posições do vetor podem ser indexadas por variáveis.

● Exemplo:

i = 1

j = 2

S = C(i) + A(j)

Page 20: Aula04

Exercício Resolvido 1

● Escreva um programa que leia (via teclado) os elementos de um vetor de reais com tamanho 10. Em seguida, escreva na tela os elementos lidos.

Page 21: Aula04

Exercício Resolvido 1

● Solução 1

Page 22: Aula04

Exercício resolvido 1

● Solução 1

Page 23: Aula04

Exercício resolvido 1

● Solução 2

Page 24: Aula04

Exercício resolvido 1

● Solução 2

Page 25: Aula04

Exercício resolvido 2

● Escreva um algoritmo em Scilab que crie um vetor X de tamanho N (lido pelo teclado) de tal forma que os elementos i do vetor sejam:

Use exp(x) para retornar ex.

X i=(N−1)e−i 2

N

Page 26: Aula04

Exercício resolvido 2

Page 27: Aula04

Exercício resolvido 2

Page 28: Aula04

Exercício resolvido 3

● Escreva um algoritmo que leia um vetor de reais de tamanho N (lido pelo teclado) e escreva na tela a soma de seus elementos e a média.

Page 29: Aula04

Exercício resolvido 3

Page 30: Aula04

Exercícios

● Escreva um algoritmo em Scilab que leia um vetor de reais de tamanho N (lido), escreva na tela o menor e o maior elemento lido com suas respectivas posições.

● Escreva um algoritmo em C que leia um vetor de reais de tamanho N (lido) e escreva na tela o vetor com seus elementos diminuídos da média, sem alterar o conteúdo original do vetor.

Page 31: Aula04

Exercícios

● Considere uma lanchonete que possua 20 lanches à venda. Faça um programa em Scilab que:

a) Leia os valores em reais de cada produto;

b) Leia os pedidos de n clientes. Os clientes podem escolher qualquer um dos 20 produtos quantas vezes quiser;

c) Escreva o valor total a ser pago por cada cliente.