Upload
yuri-passos
View
101
Download
1
Embed Size (px)
Citation preview
Vetores em Scilab
Yuri Tavares dos Passos
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.
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
]
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
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.
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
Declaração de vetores
● Em Scilab, os vetores são declarados automaticamente, ao se atribuir vários valores a alguma variável.
Exemplos
● A = [1,2,3,4]● Vetor linha com vírgulas
Exemplos
Exemplos
● B = [0 1 0 0 1 1 0 1]● Vetor linha com espaços
Exemplos
Exemplos
● C = [3.8936; 4.99; 5.66; 6.56 ]● Uso de ponto-e-vírgula pra vetores coluna
Exemplos
Exemplos
● Também pode-se utilizar ' para transpor um vetor linha.
● Exemplo:– C = [3.8936 4.99 5.66 6.56]'
Exemplos
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> )
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.
Indexação de vetores
● Exemplos– C(1)
– C(3)
– X = C(1) + C(3)
– Y = A(1) * 3
● C(5) é inválido.
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)
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.
Exercício Resolvido 1
● Solução 1
Exercício resolvido 1
● Solução 1
Exercício resolvido 1
● Solução 2
Exercício resolvido 1
● Solução 2
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
Exercício resolvido 2
Exercício resolvido 2
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.
Exercício resolvido 3
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.
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.