Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila de Programação em Scilab, Manuais, Projetos, Pesquisas de Matemática

Simulação numérica em Scilab. Útil para solucionar problemas de matemática.

Tipologia: Manuais, Projetos, Pesquisas

2019

Compartilhado em 22/10/2019

fjssilva
fjssilva 🇧🇷

5

(1)

1 documento

1 / 62

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
CATARINENSE – CÂMPUS LUZERNA.
!
!
!
!
!
!
APOSTILA DE LÓGICA APLICADO A SCILAB
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e

Pré-visualização parcial do texto

Baixe Apostila de Programação em Scilab e outras Manuais, Projetos, Pesquisas em PDF para Matemática, somente na Docsity!

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA

CATARINENSE – CÂMPUS LUZERNA.

APOSTILA DE LÓGICA APLICADO A SCILAB

1. CONCEITOS DE PROGRAMAÇÃO

1.1. LÓGICA

A lógica de programação é necessária para pessoas que desejam trabalhar com implementação de programas para os dispositivos computacionais, ela permite definir a sequência lógica para a elaboração de um projeto. Então o que é lógica? Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo. 1.2. SEQUÊNCIA LÓGICA Estes pensamentos podem ser descritos como uma sequência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa. Sequência Lógica são passos executados até atingir um objetivo ou solução de um problema. 1.3. INSTRUÇÕES Na linguagem comum, entende-se por instruções “um conjunto de regras ou normas definidas para a realização ou emprego de algo”. Em informática, porém, instrução é a informação que indica a um computador uma ação elementar a executar. Convém ressaltar que uma ordem isolada não permite realizar o processo completo, para isso é necessário um conjunto de instruções colocadas em ordem sequencial lógica. É evidente que essas instruções têm que ser executadas em uma ordem adequada. Dessa maneira, uma instrução tomada em separado não tem muito sentido; para obtermos o resultado, precisamos colocar em prática o conjunto de todas as instruções, na ordem correta. Instruções são conjuntos de regras ou normas definidas para a realização ou emprego de algo. Em informática, é o que indica a um computador uma ação elementar a executar. 1.4. ALGORITMO Um algoritmo é formalmente uma sequência finita de passos que levam a execução de uma tarefa. Podemos pensar em algoritmo como uma receita, uma sequência de instruções que dão cabo de uma meta específica. Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas. Como exemplos de algoritmos, podemos citar os algoritmos das operações básicas (adição, multiplicação, divisão e subtração) de números reais decimais. Outros exemplos

2. DESENVOLVENDO ALGORITMOS

2.1. PSEUDOCÓDIGO

Os algoritmos são descritos em uma linguagem chamada pseudocódigo ou pseudolinguagem. Este nome é uma alusão à posterior implementação em uma linguagem de programação, ou seja, quando formos programar em uma linguagem, por exemplo C, estaremos gerando código em Scilab. Por isso os algoritmos são independentes das linguagens de programação. Ao contrário de uma linguagem de programação não existe um formalismo rígido de como deve ser escrito o algoritmo. O algoritmo deve ser fácil de interpretar e fácil de codificar. Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação. 2.2. REGRAS PARA CONSTRUÇÃO DO ALGORITMO Para escrever um algoritmo precisamos descrever a sequência de instruções, de maneira simples e objetiva. Para isso utilizaremos algumas técnicas:

  • Usar somente um verbo por frase
  • Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática
  • Usar frases curtas e simples
  • Ser objetivo
  • Procurar usar palavras que não tenham sentido dúbio 2.3. FASES É importante ressaltar que qualquer tarefa que siga determinado padrão pode ser descrita por um algoritmo, como por exemplo: CALCULAR O SALDO FINANCEIRO DE UM ESTOQUE Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais. Onde temos: ENTRADA : São os dados de entrada do algoritmo PROCESSAMENTO : São os procedimentos utilizados para chegar ao resultado final SAÍDA : São os dados já processados

2.4. EXEMPLO DE ALGORITMO

Imagine o seguinte problema: Calcular a média final dos alunos da 3ª Série. Os alunos realizarão quatro provas: P1, P2, P3 e P4. Onde: Média Final = (P1+P2+P3+P4)/ Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? R: Os dados de entrada são P1, P2, P3 e P4. b) Qual será o processamento a ser utilizado? R: O procedimento será somar todos os dados de entrada e dividi-los por 4 (quatro) (P1+P2+P3+P4)/ c) Quais serão os dados de saída? R: O dado de saída será a média final Algoritmo

  • Receba a nota da prova
  • Receba a nota de prova
  • Receba a nota de prova
  • Receba a nota da prova
  • Some todas as notas e divida o resultado por 4
  • Mostre o resultado da divisão 2.5. EXERCÍCIOS
  1. Identifique os dados de entrada, processamento e saída no algoritmo abaixo:
  • Receba código da peça
  • Receba valor da peça
  • Receba Quantidade de peças
  • Calcule o valor total da peça (Quantidade * Valor da peça)
  • Mostre o código da peça e seu valor total
  1. Faça um algoritmo para “Calcular o estoque médio de uma peça”, sendo que: ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE MÁXIMA) /

Dentro do símbolo sempre terá algo escrito, pois somente os símbolos não nos dizem nada. Veja nos exemplos a seguir: Início Fim Calcular Media=(n 1 +n 2 +n 3 +n 4 )/ 4 “CALCULAR A MÉDIA DE 4 NOTAS” Receba n 1 Receba n 2 Receba n 3 Receba n 4 Média 3.3. EXERCÍCIOS

  1. Construa um diagrama de blocos que:
  • Leia a cotação do dólar
  • Leia um valor em dólares
  • Converta esse valor para Real
  • Mostre o resultado
  1. Desenvolva um diagrama que:
  • Leia 4 (quatro) números
  • Calcule o quadrado para cada um
  • Some todos e
  • Mostre o resultado
  1. Construa um diagrama de blocos para pagamento de comissão de vendedores de peças, levando-se em consideração que sua comissão será de 5% do total da venda e que você tem os seguintes dados:
  • Identificação do vendedor
  • Código da peça
  • Preço unitário da peça
  • Quantidade vendida

4.3. NOME DAS VARIÁVEIS

Para atribuir o nome para uma variável, algumas regras devem se obedecida:

  1. O nome de uma variável pode ter um ou mais caracteres;
  2. Nomes de variáveis ou funções no Scilab devem começar com uma letra, ou com um dos seguintes caracteres especiais: '%', '_', '#', '!', '$', '?'.
  3. Os próximos caracteres podem ser letras ou um dos seguintes caracteres especiais: '_', '#', '!', '$', '?'
  4. Nomes podem ser tão longos quanto se queira, mas apenas os primeiros 24 caracteres serão levados em consideração.
  5. Letras maiúsculas e minúsculas são diferentes.
  6. Não poderão ser utilizados outros caracteres diferentes de letras, números ou sublinhado; 4.4. VARIAVÉIS NO SCILAB Para utilizar variáveis no Scilab, precisamos apenas especificar o nome e o valor: -->a = 1; -->b = 2 b =

Perceba a diferença quando se utiliza o sinal ‘;’. Quando ele é inserido, o Scilab atribui o valor a variável normalmente, a retirada do sinal irá fazer com que o Scilab imprima o valor no terminal. Realizar a soma de variáveis e atribuir para uma nova variável é simples: -->c = a + b; -->c c =

-->d = a + a d =

Perceba que para verificar o valor de uma variável, basta apenas digitar o nome da variável (lembre-se que o sinal ‘;’ irá impedir que o valor seja exibido).

Caso queira, pode ser incluído valores diretamente: -->2 * 5 ans =

-->2 * 5. ans =

-->2^ ans =

-->2 / 5 ans =

Observação: a utilização de espaço entre os valores e o sinal de operação é opcional. Podemos também apresentar os valores de variável através do comando disp : -->a = 3; -->disp(a);

E uma situação especial e quando não definimos a variável que irá ser armazendo o resultado, nesse caso o Scilab atribui automaticamente o resultado para variável ans : -->5 * 3; -->disp(ans);

4.5. VARIÁVEIS PRÉ-DEFINIDAS Algumas variáveis já possuem valores pré-definidos e não podem ter o valor alterado (são constantes):

  • SCI, WSCI: Contém o caminho raiz do Scilab
  • Inteiro com sinal: de - 2 7 (-128) até 2 7 - 1 (127)
  • Inteiro sem sinal: de 0 até 2^8 – 1 ( 255 ) y=int8(x) (^) Um inteiro com sinal de 8-bits entre [−2^7 , 2^7 − 1] = [−128, 127] y=uint8(x) (^) Um inteiro sem sinal de 8-bits entre [0, 2^8 − 1] = [0, 255] y=int16(x) (^) Um inteiro com sinal de 16-bits entre [−2^15 , 2^15 − 1] = [−32768, 32767] y=uint16(x) (^) Um inteiro sem sinal de 16-bits entre [0, 2^15 − 1] = [0, 65535] y=int32(x) Um inteiro com sinal de 32-bits entre [−2^31 , 2^31 − 1] = [−2147483648, 2147483647] y=uint32(x) Um inteiro sem sinal de 32-bits entre [0, 2^32 − 1] = [0, 4294967295] 4.6.2. Ponto flutuante O ponto flutuante é uma forma de representar números na forma racional (envolvendo frações). A padronização dos números em ponto flutuante em 1985 garantiu a homogeneidade da representação e cálculos desse tipo de número. Antes disso, cada fabricante adotava uma forma própria de representar e também de operar, muitas vezes o fator precisão era deixado em segundo plano em favor de um melhor desempenho dos cálculos. Em Scilab as variáveis por padrão são double, um tipo de ponto flutuante de 64 bits, mesmo quando o número é matematicamente um inteiro. Na prática uma variável double pode armazenar valores inteiros entre − 2 52 e 2 52 . Para números reais, o double consegue armazernar valores entre 4,9 x 10-^324 e 1,7976931348623157 x 10 308 . -->a = 3 * %pi a =

-->b = 1/ b =

O armazenamento em ponto flutuante tem problema de arredondamento, verifique o resultado da equação abaixo: --> 0.5 - 0.4 - 0. ans =

  • 2.776D- 17 Outro problema que pode acontecer é extrapolar o limite de armazenamento:

-->format(25) -->2^53 + 1 ans =

-->2^53 + 2 ans =

-->2^53 + 3 ans =

4.6.3. String Strings são codificadas como uma sequência de caracteres terminada pelo carácter nulo (valor 0). Cada carácter é um número inteiro convertido através de uma definição para um carácter. A tabela mais utilizada é a ASCII, que apresenta a equivalência de vários símbolos para o binário. Strings são delimitadas pelo sinal de aspas duplas (“ e ”) , e a concatenação pode ser feito através do operador +: -->x = "aula"; -->y = "programação"; -->x + y ans = aulaprogramação 4.6.4. Tipos de variáveis dinâmicos Quando nos criamos e gerenciamos variáveis, Scilab permite alterar o tipo da variável dinamicamente. Isto significa que podemos criar um valor real e logo em seguida alterar o conteúdo da variável para outro tipo: -->a = 5. a =

a = 5 a Início Fim pi = 3. 14 pi -->a = 5; -->pi = 3.14; -->mprintf("A = %d, PI = %f\n", a, pi); A = 5, PI = 3. Figura 3 - Imprimindo 2 valores Numa operação desses valores, fizemos duas saídas mprintfs , uma com o resultado sendo impresso como inteiro e outra como número real: -->a = 5; -->pi = 3.14; -->mprintf("A = %d, PI = %f\n", a, pi); A = 5, PI = 3. -->mprintf("Resultado 1: %d\n", a * pi); Resultado 1: 15 -->mprintf("Resultado 2 : %f\n", a * pi); Resultado 1: 15. Você irá perceber que o Resultado 1 será truncado, isso se deve a forma de armazenamento do valor Real que na hora de realizar a apresentação não é apresentado devidamente: Resultado 1: 15 Resultado 2 : 15. 4.7.2. Lendo um valor Para ler um valor digitado, utilizamos a função input :

a Início Fim a -->a = input("Digite um valor: "); Digite um valor: 4 -->mprintf("Valor digitado: %d", a); Valor digitado: 4 Figura 4 - Lendo um valor 4.8. EXEMPLO 01 – LENDO DOIS VALORES E APRESENTANDO A SOMA Nesse exemplo iremos apresentar um programa que irá solicitar ao usuário que digite dois valores e apresente a soma deles: a+b Início Fim a b -->a = input("Digite um valor de A: "); Digite um valor de A: 5 -->b = input("Digite um valor de B: "); Digite um valor de B: 3 -->mprintf("Resultado: %d", a + b); Resultado: 8 Figura 5 - Algoritmo para somar dois valores

5. VETORES E MATRIZES

Vetores e matrizes são construções especiais de variáveis, são um agrupamento de variáveis do mesmo tipo em que seus elementos são acessados através de índices. O Scilab foi programado para lidar com vetores e matrizes de forma eficiente e de forma elegante. 5.1. CRIANDO VETORES E MATRIZES Para criar um vetor ou matriz é necessário conhecer alguns símbolos básicos:

  • Colchetes (“[" e “]“): marcam o início e o fim de uma matriz;
  • Vírgula (“,“): separa os valores em colunas diferentes (também pode ser utilizado o espaço (“ “)para separar os elementos;
  • Ponto e vírgula (“;”): separa os valores de diferentes valores. Exemplos de criação de vetores: -->v1 = [1, 2, 3] // Vetor com uma linha e três colunas, elementos separados por vírgula v1 =

-->v2 = [4 5 6] // Vetor com uma linha e três colunas, elementos separados por espaço v2 =

-->v3 = [1; 2; 3] // Vetor com três linhas e uma coluna v3 =

Exemplos de criação de matrizes:

-->m1 = [1, 2, 3; 4, 5, 6] // Matriz de 2 linhas e 3 colunas m1 =

-->m2 = [4 5 6; 7 8 9] // Matriz de 2 linhas e 3 colunas m2 =

-->m3 = [10 11 12 // Criando uma matriz com quebra de linhas -->13 14 15 -->16 17 18] m3 =

Ou pode-se criar uma matriz vazia: -->m4 = [] m4 = [] 5.2. SELECIONANDO OU ALTERANDO O VALOR DE UM ELEMENTO Para selecionar ou alterar um elemento da matriz utilizar os índices de linha e coluna, começando a contar pelo valor 1: