Transcript of Introdução a Programação.pdf
- Introduo Programao Prof Gilka Rocha Barbosa ESCOLA POLITCNICA
DA UNIVERSIDADE DE PERNAMBUCO 1
- CCMP0016 Introduo Programao Carga Horria Semestral: 60 horas
Nmero de Crditos: Tericos: 3 Prticos: 1 Pr-Requisitos: No h 2
- Noes bsicas de computao. Algoritmos: projeto e anlise.
Programao: noes de tipos e estruturas elementares de dados,
operadores, funes embutidas e expresses, instrues condicionais,
incondicionais e de repetio, tipos definidos pelo programador e
tipos abstratos de dados. Estruturas compostas de dados: vetores,
matrizes e registros. Noes de estruturas dinmicas de dados. Noes de
funes e procedimentos. Recurso. Noes de arquivos em programao.
Aplicaes utilizando linguagem de programao estruturada. Ementa
- Objetivos de aprendizagem Apresentar ao aluno os conceitos de
programao estruturada atravs do uso de linguagens de alto nvel. Ao
final do semestre, o aluno estar apto a: Ter uma formao bsica em
computadores e seus perifricos. Estruturar em nvel de pseudocdigo
um problema. Definir estruturas elementares bsicas para resoluo de
um problema. Desenvolver programao estruturada em uma linguagem de
alto nvel. 4
- Contedo programtico 5 PRIMEIRA UNIDADE
- Contedo programtico 6 SEGUNDA UNIDADE
- Metodologia Aulas tericas expositivas. Trabalhos individuais.
Trabalhos de grupos. Uso intensivo de computador e de linguagem de
programao 7
- Bibliografia Bsica: ASCENCIO, A. F. G.; CAMPOS, E. A. V.
Fundamentos da Programao de Computadores. Prentice Hall, 2005.
BROOKSHEAR, J. G. Cincia da Computao: Uma Viso Abrangente. So
Paulo, Bookman, 1999. Complementar: FARRER, H. Algoritmos
Estruturados. 3 ed., LTC, 1999. FORBELLONE, A. L. V.; EBERSPACHER,
H. F. Lgica de Programao;. 2a. ed., Makron Books, 2006. MIZHARI, V.
V. Matlab 6: Mdulo 1, So Paulo. Makron Books, 1994. SALIBA, W. L.
C. Tcnicas de Programao: Uma Abordagem Estruturada. Makron,
McGraw-Hill, 1992. 8
- Consenso Uso de computadores apenas quando permitido No
permitido o uso de celulares No permitido gravar nem fotografar a
aula No permitido o consume de alimentos e bebidas no laboratrio
Evitar conversas em paralelo Pontualidade Frequncia de acordo com
as Normas da Universidade Providenciar material para estudo 9
- Agenda 10 Aula Dia Contedo 1 02/03 seg Apresentao da disciplina
2 05/03 qui Histrico 3 09/03 seg Aniversrio da Poli 4 12/03 qui
Arquitetura 5 16/03 seg Arquitetura 6 19/03 qui Algoritimo 7 23/03
seg Algoritimo 8 26/03 qui Algoritimo 9 30/03 seg Algoritmo 02/04
qui Semana Santa 10 06/04 seg Atividade extra classe 11 09/04 qui
Algoritmo 12 13/04 seg Algoritmo 13 13/04 qui Aula extra 14 16/04
seg Algoritmo 15 16/04 qui Aula extra 16 20/04 seg Algoritmo 17
23/04 qui 1 EE 18 27/04 seg Correo e devoluo em sala Aula Dia
Contedo 19 30/04 qui SCILAB 20 04/05 seg SCILAB 21 07/05 qui SCILAB
22 11/05 seg SCILAB 23 14/05 qui SCILAB 24 18/05 seg SCILAB 21/05
qui Corpus Christi 25 25/05 seg SCILAB 26 28/05 qui SCILAB 27 01/06
seg Atividade extra classe 28 04/06 qui Atividade extra classe 29
08/06 seg SCILAB 30 11/06 qui 2EE (K - Z) 31 15/06 seg 2EE (A - J)
32 18/06 qui 2 Chamada 33 Atividade extraclasse maro 34 Atividade
extraclasse abril 35 Atividade extraclasse maio 36 Atividade
extraclasse junho 22/06 seg Prova final
- Conceitos O que um COMPUTADOR? Mquina que recebe dados
(entrada), processa conforme programado, e fornece dados (sada).
11
- Aplicativos Sistema Operacional Componentes Fsicos Interface de
hardware Componentes Bsicos Perifricos Componentes Multimdia
Componentes de rede Windows DOS Linux Sistemas de Informao SGBD
Word CAD Monitor Teclado Processador Estrutura geral de um sistema
de computao 12
- A evoluo dos sistemas de computador Primeira gerao
(aproximadamente entre 1951 e 1959) Tecnologia de vlvulas. Tem como
marco inicial o UNIVAC, construdo em 1951. Segunda
gerao(aproximadamente entre 1955 e 1965) Caracterizada pelos
computadores transistorizados. Tem como marco o TRADIC, construdo
em 1955, alm da criao das linguagens FORTRAN e COBOL, Terceira
gerao (aproximadamente entre 1965 e 1975) Circuitos Integrados, os
Chips. Fios, transistores e outros componentes em um nico chip.
Quarta gerao(aproximadamente a partiir de 1975) Microcomputadores
Tem como marco inicial o chip 8080 da Intel (1974), Quinta gerao
.... Atual gerao dos computadores, notebooks, palmtops e telefonia
mvel, multimdias, computadores inteligentes e a realidade virtual.
13
- ENIAC: Eletronic Numeric Integrator And Calculator 1946 18.000
vlvulas, conseguia fazer 500 multiplicaes por segundo Mark I - 1944
Universidade de Harvard e a IBM Ocupava 120 m2 Tinha milhares de
rels e fazia um barulho infernal. Uma multiplicao de nmeros de 10
dgitos levava 3 segundos para ser efetuada. Primeira gerao 14
- Primeira gerao 15
http://www.tecmundo.com.br/infografico/9421-a-evolucao-dos-computadores.htm
- Segunda gerao 16
- Terceira gerao 17
- Quarta gerao 18
- Quinta gerao 19
- Criado pela IBM em 1956 Capacidade: 4,7 MB Peso: 1 tonelada
Preo: mais de US$ 1.000.000,00 Primeiro HD 20
- Interfaces 21
- Interfaces 22
- 23 Memria RAM At 768 GB Geraes 23
- Celular....... Ericson MTA - 1956 Motorola Dynatac 8000X 1973
25 cm de comprimento 7 cm de largura, 1 kg Bateria 20 minutos.
24
- Mainframe: grande capacidade de memria e velocidade de
processamento Microcomputador: utilizado em aplicaes pessoais e
domsticas ou como terminais de sistemas multiusurio
Supercomputador: voltado resoluo de problemas que exigem grande
capacidade de processamento em termos de velocidade e preciso de
resultados Cluster de computador: conjunto de sistemas de
computadores independentes e ligados em rede, mas que podem ser
configurados para realizarem em conjunto um determinado trabalho de
processamento. Tipos de computadores 25
- Aplicativos Sistema Operacional Componentes Fsicos Interface de
hardware Componentes Bsicos Perifricos Componentes Multimdia
Componentes de rede Windows DOS Linux Sistemas de Informao SGBD
Word CAD Estrutura geral de um sistema de computao Software
Hardware 26
- Tecnologias de hardware Arquitetura bsica de um sistema de
computador Unidade central de processamento Unidade de entrada
Unidade de memria Unidade de sada 27
- Unidade de entrada Formada pelos equipamentos que permitem a
incluso de dados a serem processados pelo sistema de computador. A
evoluo das tecnologias de entrada de dados busca mtodos, tcnicas e
ferramentas cada vez mais fceis de utilizar Teclados Dispositivos
indicadores Dispositivos de leitura magntica Dispositivo de leitura
tica Dispositivos de captura de imagens Dispositivos de captura de
udio Dispositivos de captura de sinais Unidade central de
processamento Unidade de entrada Unidade de memria Unidade de sada
28
- Unidade de memria principal Formada pelos dispositivos que
armazenam os dados e as instrues em processamento pela Unidade
Central de Processamento (UCP/CPU). Os dados e os programas so
armazenados na memria principal durante o processamento.
Posteriormente, os resultados so liberados para o armazenamento em
memria secundria ou para a unidade de sada. A memria principal
constituda por diferentes componentes eletrnicos fabricados com
material semicondutor e denominados chips. Entre os chips de
memria, destacam-se: RAM (Random Access Memory). ROM (Read Only
Memory). Unidade central de processamento Unidade de entrada
Unidade de memria Unidade de sada 29
- Unidade de memria secundria Utilizada em virtude da limitao da
memria principal. Dispositivos de armazenamento mais baratos que a
memria principal e viabilizam o armazenamento de grandes volumes de
dados por perodos prolongados. apresenta como desvantagem uma menor
velocidade de acesso em virtude de empregarem mecanismos
eletromecnicos para leitura e gravao dos dados. meios de
armazenamento Meio magntico Fitas magnticas. Discos magnticos Meio
tico CD (compact disk). DVD (Digital Video Disk). Unidade central
de processamento Unidade de entrada Unidade de memria Unidade de
sada 30
- Memria Unidade central de processamento Unidade de entrada
Unidade de memria Unidade de sada 1 Byte 20 8 bits 1 Kilobyte (KB)
210 1024 bytes 1 Megabyte (MB) 220 1024 kilobytes 1 Gigabyte (GB)
230 1024 megabytes 1 Terabyte (TB) 240 1024 gigabytes 1 Petabyte
(PB) 250 1024 terabytes 1 Exabyte (EB) 260 1024 petabytes 1
Zettabyte (ZB) 270 1024 exabytes 1 Yottabyte (YB) 280 1024
zettabytes 31
- Tabela ASCII American Standard Code for Information Interchange
32
- Unidade Central de Processamento Unidade de controle. Comanda
todo o sistema de processamento atravs de cdigos especiais
(instrues), que indicam ao computador as operaes que ele deve
realizar e quais os dados a que elas se referem Unidade de
aritmtica e lgica Formada pelos componentes que realizam clculos
matemticos e comparaes lgicas. Registradores. Armazenam as instrues
e dados em processamento Unidade central de processamento Unidade
de entrada Unidade de memria Unidade de sada Pastilha de silcio
composta por duas unidades: 33
- Unidade de sada Formada pelos equipamentos que permitem
apresentao de resultados processados pelos sistemas. As tecnologias
de sadas de dados tm evoludo no sentido de proporcionar resultados
mais atraentes e fceis de utilizar Dispositivos de sada em vdeo
Dispositivos de sada impressa Dispositivos de sada sonora Unidade
central de processamento Unidade de entrada Unidade de memria
Unidade de sada 34
- Instruo um comando que pode ser decodificado e executado
Algoritmo expressa formalmente uma soluo para um problema atravs de
um conjunto finito de passos, que, ao ser executado, opera certas
estruturas de dados, produz resultados e cumpre determinado
objetivo Programa um algoritmo expresso em linguagem de um sistema
de computador capaz de executar Software o conjunto de programas
que um equipamento capaz de executar, uma soluo para determinado
problema Software 35
- Software Software Exemplo Bsico Sistemas Operacionais Loader
Compiladores Link-editores Suporte Gerenciador de rede Controle de
espao Segurana Aplicativo Processador de texto Planilha eletrnica
Edio grfica Aplicativo especfico Sistema de contabilidade Clculos
de estruturas Folha de pagamento Hardware Usurio Software
aplicativo / suporte Hardware Software bsico 36 Software
- Software de suporte Ferramentas de desenvolvimento de software
empregadas para o desenvolvimento de outro software. Gereciadores
de Banco de Dados Gerenciadores de rede Linguagens de programao.
Tradutores de linguagens de programao. .... 37
- Linguagem de programao Conjunto de termos (vocabulrio) e de
regras (sintaxe) que permitem a formulao de instrues a um
computador. 1 Gerao: Linguagens Binrias 2 Gerao: Linguagens
Assembly 3 Gerao: Linguagens Alto-Nvel 4 Gerao: Linguagens Consulta
5 Gerao: Linguagens Naturais 38
- Nvel de Abstrao Consumo de Recursos de Mquina Facilidade de
Programao - - + + 1 2 3 4 5 Linguagens de Programao 39
- Linguagens de Programao Trecho de cdigo em C a=5; b=10; c=a+b;
Cdigo em Assembly (MIPS) ADDi $t0,$zero,5 //Adiciona-se ao
registrador t0 o valor 5 ADDi $t1,$zero,10 //Adiciona-se ao
registrador t1 o valor 10 ADD $t2,$t0,$t1 //Soma-se os valores
contidos nos registradores t0 (5) e t1 (10) e atribui o resultado
ao registrador t2 40
- Conceitos bsicos - Dados Os dados so representaes de abstraes
acerca do mundo. So classificados em tipos. Tipos podem ser
primitivos ou construdos Tipos primitivos so os tipos fornecidos
pela linguagem de programao de forma intrnseca. Inteiros, reais,
caracteres, lgico So a base para a construo de novos tipos 41
- Tipos de Dados Numrico Nmeros Inteiros Reais Caractere Smbolos
da tabela ASCII Literal Agregado de caracteres Lgico verdadeiro /
falso 42
- Tipos de Dados Constante Determinado valor que no se modifica
durante a execuo de um programa. Pode ser numrica, lgica e literal.
Pode ou no receber um identificador. Pode aparecer dentro de
expresses. Ex: num + 2 - 5/val 43
- Tipos de Dados Variveis reas reservadas na memria do computador
para armazenar um tipo de dado determinado. So posies de memria, s
quais deve-se associar nomes (identificadores) e um tipo de dado. O
contedo pode ser alterado durante a execuo do programa S podem
armazenar um valor a cada instante 44
- Tipos de Dados Variveis x Constantes a b + 5 a, b e 5 so
variveis ou constantes? 45
- Atributos das variveis Toda varivel tem um nome (identificador)
um tipo de dado um valor val1 val2 real inteiro x a Memria 46
- Nomes ou identificadores Regras para definir o nome ou
identificador (nome das variveis, constantes, programas...): S
podem conter letras e dgitos; Primeiro caractere deve ser uma
letra; Letras maisculas e minsculas podem ser consideradas
caracteres diferentes; O nico caractere especial aceito o
underline; Palavras reservadas no podem ser usadas. val1 val2 real
inteiro x a Memria 47
- Exemplo de identificadores Identificadores vlidos A a nota Nota
NOTA a32 nota_1 Identificadores invlidos 5b e 12 x-y SAT case prova
2n 48
- Tipos das variveis Numrico Inteiros -28, 156 Reais 23.45, -9.36
Lgico ou Booleano Falso Verdadeiro Caractere a, b Literal aluno, 1
+ 2, ou aluno, 1 + 2 val1 val2 real inteiro x a Memria 49
- Valor das variveis Valor: a varivel contm um valor quando est
sendo usada val1 val2 inteiro inteiro x a Memria Ateno! Uma varivel
sem inicializao poder conter um valor qualquer e imprevisvel.
Costuma-se dizer que contm lixo. 50
- Variveis compostas homogneas Identificadas por um mesmo nome,
individualizadas por ndices, cujo contedo do mesmo tipo. Exemplo 1:
Notas de 10 alunos (Vetor): N1 N1[3] referencia o terceiro
elemento, cujo contedo 9,0 Exemplo 2: Notas de 10 alunos em dois
semestres (Matriz): N2 N2[2,3] referencia o terceiro elemento da
segunda linha, cujo contedo 1,0 6,0 7,0 9,0 6,0 5,5 9,1 10,0 4,7
7,4 8,6 1 2 3 4 5 6 7 8 9 10 1 6,0 7,0 9,0 6,0 5,5 9,1 10,0 4,7 7,4
8,6 2 10,0 8,0 1,0 0,0 8,0 7,0 10,0 4,0 3,9 2,7 1 2 3 4 5 6 7 8 9
10 51
- Atribuies Armazena um valor em uma varivel. ex: X 5; Nome
fulano; Z X + 9 * 15; Y 12 - x + 5; Qual o resultado de ?? A 4 B 5
A B B A 52
- Operaes Conjunto de aes a serem executadas sobre um conjunto de
objetos Meio pelo qual incrementamos, decrementamos, comparamos e
avaliamos dados no computador. Tipos Monodicas (-x) Didicas (a+b)
53
- Combinaes de variveis, constantes e operadores em uma nica
sentena, que tm como finalidade a obteno de um resultado. As
expresses mais comuns so as aritmticas. Expresses Operadores
Smbolos que representam as operaes Tipos bsicos: aritmticos,
relacionais, lgicos e atribuio Operaes 54
- Linearizao de expresso ((2/3-(5-3))+1)*5 Tradicional
Computacional 55
- Operadores Aritmticos Utilizados para obter resultados
numricos. Operao Operador Exponenciao ** , ^ Radiciao raiz
Multiplicao * Diviso / Diviso inteira div, quociente Resto da
diviso resto Adio + Subtrao - 56
- Operao Operador Igual a = Maior que > Menor que < Maior
ou igual a >= Menor ou igual a
- 58 Operao Operador Disjuno OU Conjuno E Negao NO Operadores
Lgicos Utilizam a lgica booleana para a construo de expresses
condicionais 58
- 59 Tabela Verdade Negao A no A F V V F A B Disjuno A ou B
Conjuno A e B V V V V V F V F F V V F F F F F 59
- Prioridade das operaes 1: parnteses 2: funes 3: unrio 4: ** ^
5: * e / 6: + e 7: relacionais 8: NO 9: E 10: OU Funes sen(x),
cos(x), abs(x), int(x), log(x), raiz(x) 60
- Variveis Relaes Operadores lgicos - exemplo A B NOME PROFISSAO
A + 1 >= RAIZ(B) NOME "ANA" PROFISSAO = "MDICO" 3 16 "MIRIAN"
"ADVOGADO" 5 64 "PEDRO" "MDICO" 2.5 9 "ANA" "PROFESSOR" 61
- Variveis Relaes Operadores lgicos - exerccio X Y Z COR NOME X^2
+ Y > Z COR = "AZUL" NOME "JOS" 1 2 5 "AZUL" "PAULO" 4 3 1
"VERDE" "JOS" 1 1 2 "BRANCO" "PEDRO" 1 2 1 "AZUL" "JOS" 62
- a) X + Y > Z e NOME = MARIA 2 + 5 > 9 e MARIA= MARIA
falso e verdadeiro falso b) SIM ou Y >= X falso ou 5 >= 2
falso ou verdadeiro verdadeiro Operadores lgicos - exerccio Varivel
Tipo Contedo X numrica 2 Y numrica 5 Z numrica 9 NOME literal
"MARIA" SIM lgica FALSO 63
- c) no SIM e quociente(Z,Y) + 1 = X no falso e quociente (9,5) +
1 = 2 no falso e verdadeiro verdadeiro d) ) X2 < Z + 10 ou NOME
= JORGE e SIM 4 < 19 ou MARIA = JORGE e SIM 4 < 19 ou falso e
falso verdadeiro ou falso verdadeiro Operadores lgicos - exerccio
Varivel Tipo Contedo X numrica 2 Y numrica 5 Z numrica 9 NOME
literal "MARIA" SIM lgica FALSO 64
- Exerccios 4. Se x possui o valor inicial 15 e se forem
executadas as seguintes atribuies na ordem em que aparecem, qual o
valor final de x? x x + 2 x x - 6 x x/2 x 2 + 3 * x 5. Qual a
sequncia de operaes necessrias para trocar os valores das variveis
x, y e z de modo que x fique com o valor de y, y fique com o valor
de z e z fique com o valor de x? 65
- Operaes com variveis Variveis devem ser declaradas Exemplo: : ;
As variveis so modificadas atravs de um comando de atribuio (=, , ,
:= ) ou de leitura Exemplo: Ler ; a 3; a a + 2; As variveis podem
ser impressas Exemplo: Escrever (a); Existem condies para testar se
a operao pode ser executada para verificar o resultado
(falso/verdadeiro) 66
- Atribuio Atribui valores ou operaes a variveis. ex: X 4; X x +
1; y aula; teste falso; := = 67
- Introduo Programao Algoritmos
- Algoritmo Um algoritmo formalmente uma sequncia finita de
passos que levam a execuo de uma tarefa. Estas tarefas no podem ser
redundantes nem subjetivas na sua definio, devem ser claras e
precisas. 69
- Exemplo de Algoritmo Sacar dinheiro num banco 24 horas Passo 1:
Ir at um banco 24 horas. Passo 2: Colocar o carto. Passo 3:
Solicitar a quantia desejada. Passo 4: Se o saldo for maior ou
igual quantia desejada, sacar; caso contrrio, escolher outro valor
e refazer o Passo 2 . Passo 5: Retirar o carto. Passo 6: Sair do
banco 24 horas. 70
- Representao de Algoritmos Propriedades de um algoritmo: a
descrio deve ser finita; Ser objetivo nas instrues; Usar somente um
verbo por frase; Escrever textos simples, para leigos; Usar frases
curtas e simples; Usar palavras que no tenham sentido dbio. Teste
de mesa Testes de verificao da corretude de um algoritmo de forma
simples e interativa. 71
- 1. Somar trs nmeros 2. Fazer um sanduche 3. Trocar uma lmpada
4. Ir para a escola Algoritmo - exemplos 72
- Mtodo para construo de algoritmos a)Ler atentamente o
enunciado, destacando os pontos mais importantes; b)Definir os
dados de sada Quais dados sero gerados a)Definir os dados de
entrada Quais dados sero recebidos d) Definir o processamento Quais
clculos sero efetuados e quais as restries para esses clculos. e)
Construir o algoritmo utilizando uma representao escolhida; f)
Testar o algoritmo realizando simulaes. 73
- Representao de algoritmos Descrio narrativa Analisar o
enunciado do problema e escrever os passos a serem seguidos para
resoluo do problema utilizando uma linguagem natural. Vantagem No
necessrio aprender nenhum novo conceito. Desvantagem a linguagem
natural abre espao para vrias interpretaes, o que posteriormente
dificultar a transcrio desse algoritmo para programa. 74
- Analisar o enunciado do problema e escrever os passos a serem
seguidos para resoluo do problema utilizando smbolos grficos
predefinidos. Vantagem O entendimento de elemento grfico mais fcil
que o entendimento de textos. Desvantagem necessrio aprender a
simbologia dos fluxogramas e o algoritmo resultante no apresenta
muitos detalhes dificultando sua transcrio para um programa.
Representao de algoritmos Fluxograma 75
- Conjunto de smbolos utilizados no fluxograma Incio e fim do
algoritmo Indica o sentido do fluxo de dados, serve exclusivamente
para conectar os smbolos existentes Clculos e atribuies de valores
Entrada de dados Sada de dados Tomada de deciso, indicando a
possibilidade se desvios Representao de algoritmos Fluxograma
76
- Representao de algoritmos Pseudocdigo, Portugol ou Portugus
estruturado Analisar o enunciado do problema e escrever os passos a
serem seguidos para resoluo do problema por meio de regras
predefinidas. Vantagem a passagem do algoritmo para qualquer
linguagem de programao quase imediata, bastando conhecer as
palavras reservadas da linguagem de programao. Desvantagem
necessrio aprender as regras do pseudocdigo 77
- a) Descrio narrativa Passo 1: Receber os dois nmeros que sero
somados. Passo 2: Somar nmeros. Passo 3: Mostrar o resultado
obtido. Exemplo de algoritmo Mostrar o resultado da soma de dois
nmeros Incio S = N1 + N2 N1, N2 S Fim c) Pseudocdigo ALGORITMO soma
DECLARE N1, N2, S : NUMRICO INICIO LEIA (Digite dois nmeros, N1,
N2) S N1 + N2 ESCREVA (Soma = , S) FIM b) Fluxograma 78
- Exerccios - Usando pseudocdigo 1. Faa um algoritmo para mostrar
o resultado da diviso de dois nmeros; 2. Faa um algoritmo para
calcular a mdia aritmtica entre duas notas de um aluno e para
mostrar a situao desse aluno, que pode ser aprovado (mdia maior ou
igual a 7,0) ou reprovado; 3. Faa um algoritmo para calcular o novo
salrio de um funcionrio. Sabe-se que os funcionrios que possuem
salrio atual at R$ 500,00 tero aumento de 20%, os demais tero
aumento de 10%. 79
- Estrutura de um algoritmo Algoritmo Incio Fim. Processamento
Dados de entrada Dados de sada 80
- Estrutura de um algoritmo Algoritmo soma declare A, B, C :
numrico; Incio leia (Informe dois nmero, A, B); C A + B; escreva(O
valor da soma :, C); Fim. 81
- Operaes com variveis Variveis devem ser declaradas Exemplo: : ;
As variveis so modificadas atravs de um comando de atribuio (=, , ,
:= ) ou de leitura Exemplo: Ler ; a 3; a a + 2; As variveis podem
ser impressas Exemplo: Escrever (a); Existem condies para testar se
a operao pode ser executada para verificar o resultado
(falso/verdadeiro) 82
- Atribuio Atribui valores ou operaes a variveis. ex: X 4; X x +
1; y aula; teste falso; := = 83
- leia ( [, [ ... ] ] ); Captura valores do dispositivo de
entrada especificado (Padro = teclado). Os dados recebidos so
armazenados em variveis. Pode conter mensagens. leia (a) leia (g,
r, b) leia (Digite seu nome: , nome) Comando de entrada
Palavra-chave Nome das variveis nas quais sero armazenados o
valores provenientes do meio de entrada 84
- escreva ( ); Envia a expresso para o dispositivo de sada
especificado (Padro = tela). Expresso pode ser uma combinao de
variveis, constantes e mensagens separadas por vrgulas. escreva (x)
escreva (Contedo de Y = , y) escreva(O fatorial de, N, " ", fat);
Comando de sada Palavra-chave Contedo que ser mostrado atravs de um
meio de sada. 85
- Faa um Teste de Mesa do algoritmo PRIME. algoritmo PRIME
declare MA, AA, MES, ANO, A, R, T, CONT : numrico incio leia
(Informe o ms e o ano atuais, MA, AA) leia (Informe o ms e o ano do
seu nascimento, MES, ANO) se MES 0 CONT CONT + 1 T T - 1
fim-enquanto escreva (Tenho, A , anos e, R, meses) escreva (Faltam
, CONT, meses para as frias) fim 86
- Estrutura de um algoritmo Algoritmo ; declarao de variveis;
incio comando 1; comando 2; .... comando n; fim. 90
- Exerccio 6. Dados trs valores positivos, a, b e c, determine a
sua mdia aritmtica, harmnica, geomtrica e ponderada com pesos de 1,
2 e 3 respectivamente. 91
- Exerccio 7. Foram digitadas informaes sobre trs alunos. Cada
uma delas contm o nome e a nota de um aluno. a) Escrever o(s)
comando(s) de entrada que leiam estas informaes e armazene(m) os
valores na memria b) Escrever o(s) comando(s) de sada que mostrem o
contedo das posies de memria da questo anterior. 92
- Identao So espaos utilizados nas linhas de comandos de forma a
refletir o alinhamento; Facilitam a identificao das estruturas;
Facilitam a identificao dos comandos que pertencem a uma estrutura;
... ....... Comandos do nvel 2 ....... ... 93
- Estruturas Estrutura sequencial; Estrutura condicional;
Estrutura de repetio; 94
- Estrutura Sequencial Os comandos so executados na ordem em que
aparecem, de cima para baixo. Algoritmo SEQUNCIA; declare ; incio
... fim. Os comandos sero executados na ordem em que aparecem.
95
- Ex.: Algoritmo Mdia declare Nome : literal Nota1, Nota2, media
: real incio leia (Digite o nome do aluno:, nome ) leia (Digite a
primeira nota: , Nota1) leia (Digite a segunda nota: , Nota2) media
( Nota1 + Nota2 ) / 2 escreva (A mdia de , nome,` : , media ) fim
Exerccio: Faa um Teste de Mesa do algoritmo Mdia para 3 alunos.
Estrutura Sequencial 96
- Exerccios 8. Dados dois nmeros inteiros A e B, calcular e
exibir: C=A+B+7, D=AB-A, E=A2, F=2A-5B, G=5A/B-7A, H=5A/(B-7A),
J=(A3-senB)/7. 9. Dado o raio de uma circunferncia, calcular sua
rea e seu permetro 10. Dado um nmero real x, calcular e exibir as
imagens de f(x)=5x4-x3 e de g(x)=5senx-2cosx 11. Ler dois nmeros
inteiros e positivos X e Y e efetuar as operaes de adio, subtrao,
multiplicao, diviso de X por Y e a raiz quadrada do produto de X
por Y. 97
- Exerccios 12. Dada a temperatura de um corpo, em graus
Fahrenheit, calcular e exibir o valor da referida temperatura em
graus Celsius e em Kelvin. 13. Um aluno comprou trs itens em uma
papelaria. Para cada item so conhecidos: nome, preo e percentual de
desconto. Mostrar o nome do item, o preo do item, o preo do item
com desconto e o total a pagar 14. Dado um nmero inteiro de
segundos, determinar o seu valor equivalente em horas, minutos e
segundos. Testar para 16723. 98
- Permite a escolha entre blocos de comandos alternativos.
Estrutura de Controle Condicional Estrutura de Desvio Condicional,
Controle Condicional, Deciso ou Seleo 99
- A tomada de deciso Em muitas situaes, necessrio executar um
grupo de aes dependendo do resultado de certas avaliaes. Imagine o
caso de identificar se um aluno foi ou no aprovado. O resultado
depende da avaliao da mdia obtida pelo aluno. Usamos o desvio
condicional para executar um grupo de comandos dependendo do
resultado de uma expresso lgica. 100
- Desvio condicional simples comandos Condio Verdadeira Falsa Se
a condio for verdadeira, provocar um desvio e executar o bloco de
comandos. 101
- Desvio condicional simples ... se [ento] fim-se ... Condio uma
expresso lgica. Se o resultado da condio for verdadeiro, ser
executado o comando aps a palavra ento. Caso a condio resulte em
falso, ou aps a execuo da instruo, o programa continua executando
os comandos aps o fim-se. 102
- Algoritmo Condicional_Simples; declare N1, N2, Media : numrico
Inicio leia (Digite a primeira nota: , N1) leia (Digite a segunda
nota: , N2) Media (N1 + N2)/2 escreva (Mdia = , Media) se Media
< 7,0 escreva (Deve fazer o Exame Final) fim-se fim. Desvio
condicional simples 103
- Desvio condicional composto Se a condio for verdadeira,
executar o bloco de comandos A, caso contrrio, executar o bloco B.
Nunca os dois. Comandos A Condio Verdadeira Falsa Comandos B
104
- Desvio condicional composto ... se [ento ] seno fim-se ... Se o
resultado da condio for verdadeiro, ser executado o comando aps a
palavra ento, caso contrrio, ser executado a instruo aps a palavra
seno. Somente uma das duas ser executada. Aps, o programa
continua... 105
- Algoritmo Condicional_Composto declare N1, N2, Media : real
Incio leia (Digite a primeira nota: , N1) leia (Digite a segunda
nota: , N2) Media (N1 + N2)/2 se Media < 7.0 escreva (Aluno
Reprovado!!!) seno escreva (Aluno Aprovado!!!) fim-se escreva (Mdia
= , Media) fim Desvio condicional composto 106
- Bloco de Comandos Pode-se utilizar um grupo de comandos ao invs
de uma nica instruo. se Media < 7,0 leia (Digite NotaFinal:,
NotaFinal) MediaFinal (Media+NotaFinal) / 2 seno escreva(Aprovado.)
fim-se 107
- Aninhamento de Estruturas Uma estrutura pode conter outras
estruturas em sua definio. No h limites para a quantidade de nveis
de aninhamento. 108
- Algoritmo Condicional_Aninhado declare N1, N2, Media : real
incio escreva ( Digite duas notas:, N1, N2) Media (N1 + N2)/2 se
Media < 7,0 se Media < 3 escreva(Aluno Reprovado!!!) seno
escreva (Aluno em final) fim-se seno escreva(Aluno Aprovado!!!)
fim-se escreva(Mdia = , Media) fim Desvio condicional aninhado
109
- Exerccios 15. Considerando A=3, B=2, C=5 e D=7, qual o valor de
X? a) se no (D > C) ento X (A + B) * D seno X (A - B) / C; b) se
(A > 2) e (B > 7) ento X (A + 2) * (B - 2) seno X (A + B) / C
* (C + D); c) se (A > 2) ou (B > 7) ento X (A + 2) * (B - 2)
seno X (A + B) / D * (C + D); 110
- Exerccios 16. Ler trs valores inteiros e distintos (A, B e C) e
apresentar o maior valor. 17. Dados dois valores reais, apresentar
a diferena do maior pelo menor. 18. Dado um nmero inteiro positivo,
informar se o nmero lido par ou mpar. 19. Faa um algoritmo que para
calcular as razes reais de uma funo quadrtica, dados os valores de
a, b e c. cbxaxxf 2111
- Exerccios 20. Construa um algoritmo que receba 2 nmeros e, se o
primeiro nmero for maior que zero e menor que 10, mostre a soma
destes nmeros; caso contrrio, mostre a multiplicao deles. 21.
Construa um algoritmo que receba cinco grupos de 2 nmeros e mostre
a soma destes nmeros; 22. Faa um algoritmo que receba dois nmeros e
mostre o maior deles; 23. Faa um algoritmo que receba trs nmeros e
mostre-os em ordem crescente. 112
- Estruturas de Repetio Permitem a execuo de comandos repetidas
vezes. Repetio condicional A repetio acontecer com base em uma
condio. Condio no incio Condio no final Repetio com varivel de
controle A repetio ser controlada por uma varivel (contador)
113
- Condio no incio comandos condio Verdadeira Falsa Se a condio
for verdadeira, os comandos sero executados e o processo reinicia;
caso contrrio, a repetio no acontecer 114
- Interrupo no incio enquanto [faa] [incio] fim-enquanto Exemplo
1 leia (Digite um nmero: , Y) X 0 enquanto X
- Exemplo: Calcular a mdia de vrias notas. A nota = -1 indica que
j foram informadas todas as notas (flag). leia(Nota) Total 0 N 0
enquanto Nota-1 Total Total + Nota N N + 1 leia (Nota) fim-enquanto
se N > 0 Media Total / N escreva ( Media ) seno escreva ( Notas
no informadas) fim-se 116
- Exerccios 24. Escrever um programa que l dois nmeros inteiros:
inicial e final, e mostra os nmeros inteiros existentes entre o
nmero inicial e o final (inclusive). Crtica: o nmero final deve ser
maior do que o inicial. 25. Implemente um programa que calcula a
soma dos nmeros pares entre dois nmeros lidos (inclusive). 26.
Escrever programa para calcular, para N (inteiro) lido, o valor de
S, dado por 121...23121 NNNNNS 117
- Varivel de Controle Repeties que possuem um nmero finito de
execues (conhecido) podem ser processadas atravs de uma repetio
controlada por uma varivel de controle do tipo contador; Podem ser
crescentes ou decrescentes; A execuo dos comandos deve acontecer
para cada valor de um determinado conjunto de valores. Em cada
repetio, a varivel de controle assume um dos valores do conjunto.
Quando a varivel tiver assumido uma vez cada valor, ento a repetio
termina. 121
- Varivel de controle A varivel de controle (VarControle) assumir
cada elemento entre o ValorIni e o ValorFim; Na primeira vez, a
varivel de controle assume o ValorIni e executa os comandos uma
vez. Ao terminar a execuo, assume o sucessor de ValorIni e executa
novamente. Ao assumir o ValorFim e executar os comandos, a repetio
interrompida; Algumas linguagens aceitam definir o tamanho do
incremento. para at [de ] [faa] [incio] fim-para Sintaxe 122
- Varivel de Controle Exemplo 1 para X 1 at 10 faa escreva ( X )
fim-para Exemplo 2 z 0 para X 1 at 5 leia ( Y ) z z + Y fim-para x
z/X Escreva (x) 123
- Acompanhe a execuo dos algoritmo Primo para N = 4 e 5 e informe
o resultado da varivel P. ALGORITMO Primo declare N, Max, Aux,
Resto, k : inteiro declare P : lgico incio leia (Digite um nmero,
N) Aux 1 P VERDADE Max N / 2 k 2 enquanto (P = VERDADE) e (k Max)
Resto N (N/k * k) se Resto = 0 P FALSO fim-se k k + 1 fim-enquanto
se P = VERDADE escreva (N, primo) fim-se fim 124
- Exerccios 27. Construa um algoritmo que receba um valor N
inteiro e positivo, calcule e mostre o fatorial de N (N!). 28.
Construa um algoritmo que leia dez conjuntos de dois valores, o
primeiro valor corresponde ao nmero do aluno, o segundo valor
corresponde sua altura em centmetros. Encontre e mostre o nmero e a
altura do aluno mais baixo e do aluno mais alto. 29.Faa um
algoritmo que leia cinco pares de valores (a,b), todos inteiros,
positivos, um de cada vez. Mostre os nmeros inteiros pares de a at
b (inclusive). 30.Faa um algoritmo que leia o nmero de termos e um
valor positivo para x, calcule e mostre o valor da srie:
...!6!5!4!3!2!1765432xxxxxxs125
- Vetores Vetor uma varivel composta homogenia unidimensional
formada por uma seqncia de variveis do mesmo tipo, com o mesmo
identificador e alocadas sequencialmente na memria. As variveis so
distinguidas por ndices Declarao declare nome[tamanho] : tipo Nome:
0 1 2 3 4 5 6 7 126
- Vetores Representao declare v[8] : inteiro elemento varivel 1 2
3 4 5 6 7 8 V[1] V[2] V[3] V[4] V[5] V[6] V[7] V[8] 56 2 30 4 50 6
17 87 valor 127
- Exemplo * declarar declare v[5] : numrico * Atribuir valor v[1]
45 v[4] 0 * Carregar para i 1 at 5 escreva (Digite o , i, elemento)
leia v[i] fim-para * Mostrar para i 1 at 5 escreva (Este o , i,
elemento do vetor: , v[i]) fim-para 128
- Exemplo - Calcular a mdia geral de uma turma de 10 alunos.
declare MD1, MD2, MD3, MD4, MD5, MD6, MD7, MD8, MD9, MD10, SOMA,
MEDIA : real inicio SOMA 0 leia (MD1, MD2, MD3, MD4, MD5, MD6, MD7,
MD8, MD9, MD10) SOMA MD1 + MD2 + MD3 + MD4 + MD5 + MD6 + MD7 + MD8
+ MD9 + MD10 MEDIA SOMA / 15 escreva ( Media =, MEDIA) fim 129
- declare I : inteiro; MD[10], SOMA, MEDIA : real incio SOMA 0
para I 1 at 10 leia MD[ I ] SOMA SOMA + MD[ I ] fim-para MEDIA SOMA
/ 10 escreva ( Media =, MEDIA) fim Exemplo - Calcular a mdia geral
de uma turma de 10 alunos. 130
- Matrizes Varivel composta homogenia bidimensional formada por
uma seqncia de variveis do mesmo tipo, com o mesmo identificador e
alocadas seqencialmente na memria. As variveis so distinguidas por
ndices As variveis so compostas por linhas e colunas Declarao
declare nome[linha, coluna] : tipo varivel linha 1 2 ... coluna 1 2
... 131
- Matrizes Representao declare m[4,4] : inteiro linha varivel 1 2
3 4 v[1,1] v[1,2] v[1,3] v[1,4] v[2,1] V[2,2] V[2,3] V[2,4] coluna
1 2 3 V[4,1] V[4,2] V[4,3] V[4,4] 4 132
- Exemplo * declarar declare m[3,2] : numrico * Atribuir valor
m[1,2] 45 m[3,2] 0 * Carregar para i 1 at 3 para J 1 at 2 escreva
(Digite o contedo da linha , i, e coluna , j) leia m[i,j] fim-para
fim-para * Mostrar para i 1 at 3 para J 1 at 2 escreva (Linha , i,
e coluna , j, : , m[i,j]) fim-para fim-para 133
- Exerccios 31. Sabe-se que: 1 p = 12 polegadas 1 jarda = 3 ps 1
milha = 1.760 jardas Faa um algoritmo que receba uma medida em ps,
faa as converses a seguir e mostre os resultados em Polegadas,
Jardas e Milhas. 32. Faa um algoritmo que receba o ano de
nascimento de uma pessoa e o ano atual, calcule e mostre: a)A idade
dessa pessoa; b)Quantos anos essa pessoa ter em 2017 33. Construa
um algoritmo que receba cinco grupos de 2 nmeros pelo teclado e
mostre a soma destes nmeros; 34. Altere o algoritmo acima para ler
um nmero qualquer de pares. 134
- Linguagens de Programao (LP) As linguagens de programao
permitem ao usurio especificar um programa de uma forma semelhante
ao algoritmo. Um compilador/interpretador da linguagem dever fazer
a traduo das instrues de alto nvel para as de nvel mquina (por
exemplo, manter os endereos de memria onde esto guardadas as
variveis). C = A + B LDA 11A810A0 LDB 22345A91 ADD A,B STA 1234FE88
135
- Exemplo 1: Asembly Trecho de cdigo em C a=5; b=10; c=a+b; Cdigo
em Assembly (MIPS) ADDi $t0,$zero,5 //Adiciona-se ao registrador t0
o valor 5 ADDi $t1,$zero,10 //Adiciona-se ao registrador t1 o valor
10 ADD $t2,$t0,$t1 //Soma-se os valores contidos nos registradores
t0 (5) e t1 (10) e atribui o resultado ao registrador t2 136
- Linguagens de Programao (LP) Existem vrios tipos de LP baseadas
em diferentes paradigmas (estilos) de programao. Linguagens
imperativas: Fortran, Pascal, C, MATLAB, SCILAB Controle explcito
da execuo Linguagens Orientadas a Objetos: Smalltalk, C++, Java
Controle implcito na manipulao dos dados Linguagens Funcionais:
LISP, Scheme Baseadas na especificao de funes Linguagens Lgicas:
Prolog Implementando a Lgica de Predicados 137
- Linguagens de Programao (LP) Java C C C++ Objective-C PHP
Visual Basic Python Perl JavaScript Delphi / Object Pascal Ruby
Lisp Transact-SQL Pascal Visual Basic .NET PL/SQL Logo Ada R
138
- Introduo ao Scilab Parte 1
- Introduo ao Scilab Prof Gilka Rocha Barbosa 140
- Introduco ao Scilab Apresentar comandos bsicos necessrios
introduo programao e desenvolvimento de programas simples. Ambiente
Elementos bsicos Nmeros, Vetores e Matrizes Variveis Operadores
Funes elementares Carga e gravao 141
- Scilab Criado em 1989 por um grupo de pesquisadores da INRIA e
da ENPC. Disponvel como software livre desde 1994 pelo site
http://www.scilab.org Consrcio Scilab desde 2003 mantido por
diversas empre-sas. Objetivos do consrcio: organizar cooperao entre
os desenvolvedores obter recursos para manuteno da equipe garantir
suporte aos usurios Sistemas Operacionais: Linux Windows Solaris
Unix 142
- Scilab Software livre para clculo numrico e simu-lao de
sistemas fsicos. Usado nas reas: Fsica Sistemas complexos
Processamento de imagens Controle e processamento de sinais Automao
industrial Controle de processos Computao grfica Matemtica
Modelagem biolgica ... 143
- Scilab Ambiente utilizado no desenvolvimento de software para
resoluo de problemas numricos Gratuito, software free A ltima verso
est sempre disponvel, geralmente via Internet O software pode ser
legalmente utilizado, copiado, distribudo, modificado Distribudo
com cdigo fonte Sintaxe semelhante ao Matlab Permite interface com
rotinas escritas em outras linguagens como C Suporta o
desenvolvimento de conjuntos de funes voltadas para aplicaes
especificas (toolboxes). 144
- Scilab Ambiente interpreta comandos oferece um editor para a
construo de programas (SciPad / Scinotes) emite mensagens de erros
relativos aderncia sintaxe da linguagem e a problemas na execuo de
um programa Linguagem une riqueza de expresso a detalhes sintticos
exige uma postura paciente em seu aprendizado envolve uma taxa
inicial de memorizao a fluncia vem com a prtica 145
- Scilab Ambiente para desenvolvimento ou prototipao de software
numrico de propsito geral. Gratuito Open Source
http://www.scilab.org/ 146
- A linguagem Scilab Como qualquer linguagem natural, a linguagem
Scilab: Une riqueza de expresso a detalhes sintticos; Exige uma
postura paciente em seu aprendizado, pois envolve uma taxa inicial
de memorizao; A fluncia vem com a prtica. 147
- O ambiente Scilab Interpreta comandos e programas atravs de uma
console para a interao com o usurio; Oferece um editor para a
construo de programas (SciNotes); Emite mensagens de erros
relativos obedincia da sintaxe da linguagem e a problemas na execuo
de um programa (como diviso por zero). 148
- O ambiente Scilab Janela Console do Scilab: Barra de Menus
Barra de Ferramentas Prompt de Comandos 149
- Scilab Crie uma pasta Mude a pasta para seus arquivos 150
- Teste!!!!!!!! // Programa para calcular a media de duas notas
clear clc nota1 = input ('Digite a primeira nota: '); nota2 = input
('Digite a segunda nota: '); media = (nota1 + nota2)/ 2; if media
>= 7 resultado = ' aprovado.'; else resultado = ' reprovado. ';
end printf ( "\n A mdia entre %1.2f e %1.2f %1.2f e o aluno est %s
\n\n", nota1, nota2, media, resultado) Salve com o nome Media
151
- Teste!!!!!!!!!! execute Media 152
- Programando com o Scilab Caractersticas do Scilab Interpretador
de comandos e por isso o cdigo gerado no precisa ser compilado.
Facilidade e simplicidade da linguagem estruturada. No h
necessidade de declarao prvia das variveis. 153
- scripts Scripts so arquivos de texto que contm comandos que
seriam usados em um prompt do Scilab. Por conveno estes arquivos
possuem extenso .sce ou .sci Programas em Scilab so arquivos ASCII
(caracteres sem formatao) Um programa construdo usando o editor
SciNotes / SciPad Os arquivos so executados com o comando exec
154
- scripts Abre o programa editor de textos SciNotes Abre um
programa preexistente 155
- Programa da mdia // indica que o restante da linha um comentrio
Dilogo com o usurio Dilogo com o usurio clear limpa a memria Clc
limpa a tela 156
- Gravando (salvando) o programa 157
- Gravando (salvando) o programa 158
- Executando o programa Executar.. media 159
- Funes de entrada - input input( ) possibilita a interao entre o
usurio e o programa Exemplo: Receber um dado numrico nu = input(
Digite um numero qualquer: ) Receber um dado texto tx = input(
Digite a resposta: ,s ) varivel string comando de atribuio solicita
ao usurio que fornea algum dado de entrada 160
- Funes de Sada - printf printf (formato, dado) exibe valores e
texto e permite a formatao Exemplo: \n -Muda de linha Formatao
Exibe %d , %i ou %g Valor inteiro %f ou %x.yf ou %g Valor em ponto
flutuante %s Valor de um literal printf(\n s = %s \n g = %g ,
"Valor de PI: ",%pi) printf(\n d = %d \n i = %i , %pi, %pi)
printf(\n f = %f \n f0 = %.f \n f2 = %.2f , %pi, %pi, %pi) 161
- Funes de Sada - disp disp(varivel) ou disp(texto) exibe na tela
o valor da varivel ou string colocado entre aspas. Exemplo:
disp(Media Geral ) // exibe a frase Media Geral i = 4 disp(i) //
exibe o valor armazenado na varivel i (4) nome = "maria"; disp
("Seu nome " + nome) // concatena os strings v=10 disp ("A
velocidade final " + string(v)) // converte numero em string e
concatena 162
- Exemplo Calcular a distncia entre dois pontos (x1; y1) e (x2;
y2) no plano cartesiano. Os pontos so digitados pelo usurio. A
distncia entre dois pontos dada por: // Programa exerccio : O que
faz? clear, clc x1 = input("Digite X1 da primeira coordenada: ");
y1 = input("Digite Y1 da primeira coordenada: "); x2 =
input("Digite X2 da segunda coordenada: "); y2 = input("Digite Y1
da segunda coordenada: "); dx = x1 - x2; dy = y1 - y2; d =
sqrt(dx^2 + dy*dy); printf("A distncia %g\n", d) 163
- Mdia de duas notas // Programa para calcular a media de duas
notas clear clc nota1 = input ('Digite a primeira nota: '); nota2 =
input ('Digite a segunda nota: '); media = (nota1 + nota2)/ 2; if
media >= 7 resultado = ' aprovado.'; else resultado = '
reprovado. '; end printf ( "\n A mdia entre %1.2f e %1.2f %1.2f e o
aluno est %s \n\n", nota1, nota2, media, resultado) 164
- Mdia... Quem est aprovado? 165
- Comandos de controle de fluxo - if if condio comandos1; else
comandos end if condio comandos; end if condio1 comandos1; else if
condio2 comandos2; else comandos3; end end 166
- Operadores Relacionais Operador Resultado == igual a ~= ,
diferente de > maior do que < menor do que >= maior ou
igual a
- Operadores Lgicos Operador Descrio & e | ou ~ no A F F V V
B F V F V A & B F F F V A | B F V V V ~A V V F F ~B V F V F
Tabela Verdade dos operadores &, | e ~ 168
- Operaes lgicas -->v = %t, f = %f v = T f = F -->~v ans =
F -->v | f ans = T -->v & f ans = F -->a = 7; b = 8; x
= a > b x = F 169
- Exemplo do comando if // Clculo da Mdia // Autor: Gilka clear,
clc nome = input("Nome = ", "s"); n1 = input("Nota 1 = "); n2 =
input("Nota 2 = "); m = (n1 * 2 + n2 * 3)/5; if m >= 7 then
printf("\n %s Aprovado - Mdia %.1f", nome, m) else if m >= 3
then printf("\n %s Final - Mdia %.1f", nome, m) else printf("\n %s
Reprovado - Mdia %.1f", nome, m) end end 170
- Execuo do programa 171
- Mdia... E se a nota estiver errada? .....15, por exemplo
172
- Comandos de controle de fluxo - while Formato: while condio
comandos; end 173
- O que faz? // Programa exerccio : Oque faz? clear, clc a =
input("Informe um nmero: "); b = input("Infrme outro numero: "); r
= 1; while r 0 r = modulo(a,b); a = b; b = r; end
printf("\nResultado = %g\n", a) 174
- Exemplo do comando while // Clculo da Mdia // Autor: Gilka
clear, clc nome = input("Nome = ", "s"); n1 = input("Nota 1 = ");
while n1 < 0 | n1 > 10 then printf("\n Nota 1 Invlida
%.1f",n1) n1 = input("Nota 1 = "); end n2 = input("Nota 2 = ");
while n2 < 0 | n2 > 10 then printf("\n Nota 1 Invlida
%.1f",n1) n2 = input("Nota 1 = "); end 175
- Exemplo do comando while m = (n1 * 2 + n2 * 3)/5; if m >= 7
then printf("\n %s Aprovado - Mdia %.1f", nome, m) else if m >=
3 then printf("\n %s Final - Mdia %.1f", nome, m) else printf("\n
%s Reprovado - Mdia %.1f", nome, m) end end 176
- Mdia... E se houver mis de um aluno? 177
- Mdias.... // Clculo da Mdia Autor: Gilka clear, clc n =
input("Para iniciar, Digite 0 : "); while n == 0 nome = input("Nome
= ", "s"); n1 = input("Nota 1 = "); while n1 < 0 | n1 > 10
then printf("\n Nota 1 Invlida %.1f",n1) n1 = input("Nota 1 = ");
end n2 = input("Nota 2 = "); while n2 < 0 | n2 > 10 then
printf("\n Nota 1 Invlida %.1f",n1) n2 = input("Nota 1 = "); end
178
- Mdias.... m = (n1 * 2 + n2 * 3)/5; if m >= 7 then printf("\n
%s Aprovado - Mdia %.1f", nome, m) else if m >= 3 then
printf("\n %s Final - Mdia %.1f", nome, m) else printf("\n %s
Reprovado - Mdia %.1f", nome, m) end end n = input("Para continuar,
Digite 0 : "); end 179
- Calculando a mdia geral... // Programa para calcular a media de
duas notas clear clc qa = 0; tm = 0; cont = input ('Para iniciar,
digite 0: '); while cont == 0 nota1 = input ('Digite a primeira
nota: '); while nota1 < 0 | nota1 > 10 printf ("\n %.2f -
nota invlida", nota1) nota1 = input ('Digite a primeira nota: ');
end 180
- Calculando a mdia geral... nota2 = input ('Digite a segunda
nota: '); while nota2 < 0 | nota2 > 10 printf ("\n %.2f -
nota invlida", nota2) nota2 = input ('Digite a segunda nota: ');
end media = (nota1 + nota2)/ 2; qa = qa + 1; tm = tm + media;
181
- Calculando a mdia geral... if media >= 7 then result =
"Aprovado"; else if media < 3 then result = "Reprovado"; else
result = "em Final"; end end 182
- Calculando a mdia geral... printf ("\n Mdia = %.2f - Aluno %s
\n", media, result) cont = input ('Para continuar, Digite 0: ');
end tg = tm / qa; printf ("\n Mdia Geral = %.2f ", tg) 183
- Para pensar... Quando terminam esses comandos? 1) n = 4; while
n
- Exemplo Ler um conjunto de valores inteiros e positivos, ao
final, digitar -1, e determine o maior valor deste entre os nmeros
lidos. 185
- Comandos de controle de fluxo - for Formato: for var = inicio :
fim comandos; end for var = inicio : passo : fim comandos; end
186
- Exemplo do comando for for i = 1:4 printf ("\n x = %g", n); end
for i = 4: -1 :1 printf ("\n x = %g", n); end 187
- Exemplo do comando for n = input (Informe um nmero); f = 1; for
n = 1 : n f = f * i; printf(\n %g , i) end printf("\n Fatorial de
%g = %g , n, f); 188
- Exemplo do comando for n=3; m=2; printf("\n Matriz
A:a(i,j)=i+j\n"); for i=1:m for j=1:n a(i,j)=i+j; end end disp(a)
189
- Exemplo Elaborar um programa para escrever a tabuada de
multiplicar 1 at 10. 190
- 191
- Exerccios faa programas para: 1. Dado o raio de uma
circunferncia, calcular sua rea e seu permetro 2. Dado um nmero
real x, calcular e exibir as imagens de f(x)=5x4-x3 e de
g(x)=5senx-2cosx 3. Ler dois nmeros inteiros e positivos X e Y e
efetuar as operaes de adio, subtrao, multiplicao, diviso de X por Y
e a raiz quadrada do produto de X por Y. 4. Dada a temperatura de
um corpo, em graus Fahrenheit, calcular e exibir o valor da
referida temperatura em graus Celsius e em Kelvin. 192
- Exerccios 5. Um aluno comprou trs itens em uma papelaria. Para
cada item so conhecidos: nome, preo e percentual de desconto.
Mostrar o nome do item, o preo do item, o preo do item com desconto
e o total a pagar 6. Ler trs valores inteiros e distintos (A, B e
C) e apresentar o maior valor. 7. Dados dois valores reais,
apresentar a diferena do maior pelo menor. 8. Dado um nmero inteiro
positivo, informar se o nmero lido par ou mpar. 193
- Exerccios 9. Calcular as razes reais de uma funo quadrtica,
dados os valores de a, b e c. 10. Receba 2 nmeros e, se o primeiro
nmero for maior que zero e menor que 10, mostre a soma destes
nmeros; caso contrrio, mostre a multiplicao deles. 11. Receba cinco
grupos de 2 nmeros e mostre a soma destes nmeros; 12. Receba dois
nmeros e mostre o maior deles; 13. Receba trs nmeros e mostre-os em
ordem crescente. cbxaxxf 2194
- Exerccios 14. Escrever um programa que l dois nmeros inteiros:
inicial e final, e mostra os nmeros inteiros existentes entre o
nmero inicial e o final (inclusive). Crtica: o nmero final deve ser
maior do que o inicial. 15. Implemente um programa que calcula a
soma dos nmeros pares entre dois nmeros lidos (inclusive). 16.
Escrever programa para calcular, para N (inteiro) lido, o valor de
S, dado por 121...23121 NNNNNS 195
- Exerccios 17. Receba um valor N inteiro e positivo, calcule e
mostre o fatorial de N (N!). 18. Leia dez conjuntos de dois
valores, o primeiro valor corresponde ao nmero do aluno, o segundo
valor corresponde sua altura em centmetros. Encontre e mostre o
nmero e a altura do aluno mais baixo e do aluno mais alto. 19.Leia
cinco pares de valores (a,b), todos inteiros, positivos, um de cada
vez. Mostre os nmeros inteiros pares de a at b (inclusive). 20.Leia
o nmero de termos e um valor positivo para x, calcule e mostre o
valor da srie: ...!6!5!4!3!2!1765432xxxxxxs196
- Introduo ao Scilab Parte 2
- Introduo ao Scilab Prof Gilka Rocha Barbosa 198
- Introduco ao Scilab Apresentar comandos bsicos necessrios
introduo programao e desenvolvimento de programas simples. Ambiente
Elementos bsicos Nmeros, Vetores e Matrizes Variveis Operadores
Funes elementares Carga e gravao 199
- Scilab Criado em 1989 por um grupo de pesquisadores da INRIA e
da ENPC. Disponvel como software livre desde 1994 pelo site
http://www.scilab.org Consrcio Scilab desde 2003 mantido por
diversas empre-sas. Objetivos do consrcio: organizar cooperao entre
os desenvolvedores obter recursos para manuteno da equipe garantir
suporte aos usurios Sistemas Operacionais: Linux Windows Solaris
Unix 200
- Scilab Software livre para clculo numrico e simu-lao de
sistemas fsicos. Usado nas reas: Fsica Sistemas complexos
Processamento de imagens Controle e processamento de sinais Automao
industrial Controle de processos Computao grfica Matemtica
Modelagem biolgica ... 201
- Scilab Ambiente utilizado no desenvolvimento de software para
resoluo de problemas numricos Gratuito, software free A ltima verso
est sempre disponvel, geralmente via Internet O software pode ser
legalmente utilizado, copiado, distribudo, modificado Distribudo
com cdigo fonte Sintaxe semelhante ao Matlab Permite interface com
rotinas escritas em outras linguagens como C Suporta o
desenvolvimento de conjuntos de funes voltadas para aplicaes
especificas (toolboxes). 202
- Scilab Ambiente interpreta comandos oferece um editor para a
construo de programas (SciPad / Scinotes) emite mensagens de erros
relativos aderncia sintaxe da linguagem e a problemas na execuo de
um programa Linguagem une riqueza de expresso a detalhes sintticos
exige uma postura paciente em seu aprendizado envolve uma taxa
inicial de memorizao a fluncia vem com a prtica 203
- Scilab Ambiente para desenvolvimento ou prototipao de software
numrico de propsito geral. Gratuito Open Source
http://www.scilab.org/ 204
- A linguagem Scilab Como qualquer linguagem natural, a linguagem
Scilab: Une riqueza de expresso a detalhes sintticos; Exige uma
postura paciente em seu aprendizado, pois envolve uma taxa inicial
de memorizao; A fluncia vem com a prtica. 205
- O ambiente Scilab Interpreta comandos e programas atravs de uma
console para a interao com o usurio; Oferece um editor para a
construo de programas (SciNotes); Emite mensagens de erros
relativos obedincia da sintaxe da linguagem e a problemas na execuo
de um programa (como diviso por zero). 206
- O ambiente Scilab Janela Console do Scilab: Barra de Menus
Barra de Ferramentas Prompt de Comandos 207
- Scilab Crie uma pasta Mude a pasta para seus arquivos 208
- Utilizao bsica -->help // ou f1 209
- Utilizao bsica who: lista as variveis whos (): lista e
dimensiona as variveis clear: remove todas as variveis do espao de
trabalho Help ou F1 : informa sobre os comandos e funes Ex.: help,
help inv, help help pwd: Mostra o diretrio atual. sci: Mostra o
diretrio onde o Scilab foi instalado. ls: Lista os arquivos do
diretrio. 210
- Utilizao bsica chdir(dir): Muda de diretrio. mkdir(dir): Cria
um diretrio. rmdir(dir, s): Remove um diretrio. quit ou exit: sai
do Scilab clear: elimina todas variveis desprotegidas clear a:
elimina a varivel a clc ou F2: limpa a tela quit ou exit sai do
Scilab 211
- Algumas funes elementares abs(x): Retorna o valor absoluto, se
x real, e o mdulo se x complexo acos(x), asin(x), atan(x): Retorna
o ngulo (em radianos) cos(x), sin(x), tan(x), Retorna cosseno, seno
ou tangente de x (x deve estar em radianos) ceil(x): Arredonda para
o maior inteiro exp(x): Exponencial (e) de um valor x factorial(x):
Fatorial (e) de um valor x floor(x): Arredonda para o menor inteiro
imag(x): Mostra a parte imaginria de um complexo log(x), log10(x),
log2(x): Log natural, base 10 e base 2 modulo(x,y): Mostra o resto
da diviso de x por y real(x): Mostra a parte real de um complexo
round(x): Arredonda x para o inteiro mais prximo 212
- Exemplos de Funes de Arredondamento 213
- Variveis Variveis correspondem a nomes para espaos de memria
que so gerenciados pelo Scilab; O programador no precisa ter
qualquer ideia de como tal gerncia realizada; 214
- Variveis Os nomes das variveis so escolhidos pelo programador,
respeitando as regras: O primeiro caractere do nome deve ser uma
letra ou qualquer caractere dentre '%' , '_' , '#' , '$' e '?'; Os
outros caracteres podem ser letras ou dgitos ou qualquer caractere
dentre '_' , '#' , '!' , '$' e '?'; Caracteres acentuados no so
permitidos; Nomes de variveis so sensveis a maisculas e minsculas
(CASE SENSITIVE). CASA diferente das variveis Casa e casa. Palavras
Reservadas devem ser evitadas 215
- Variveis Escolha de nomes significativos para as variveis, isso
ajuda a entender o que o programa faz e a prevenir erros; Nomes
vlidos: a , A , Jose , total_de_alunos , #funcionarios. Nomes
invlidos: 1A total de alunos funcionrios 216
- Utilizao bsica Exemplos de atribuio: 217
- Utilizao bsica Comando de atribuio Sintaxe: = , se no existia,
passa a existir; Se existia, o valor anterior perdido; Na execuo do
comando, a calculada e o resultado atribudo . 218
- Utilizao bsica Caracteres x= a x= a Strings mg1='Ali';
mg2=SCILAB DEMOS 219
- Funes de Manipulao de String 220
- Utilizao bsica ... continua uma expresso em outra linha -->s
= 1-1/2+1/3-1/4+1/5-1/6+1/7... -->-1/8+1/9-1/10; s = 0.6456349 ;
ao final de uma expresso, o clculo feito mas o resultado no
apresentado -- > A=1 // Atribui o valor 1 a A -- > b=2; //
Atribui o valor 2 a b -- > A + b; // soma de A e b 221
- Operadores aritmticos Operador Notao Soma + Subtrao -
Multiplicao * Diviso / Menos Unrio - Exponenciao (potenciao) ^ ou
** 222
- Algumas funes Funo Notao Exemplo Resultado Resto da Diviso
modulo modulo(8, 3) 2 Raiz Quadrada sqrt sqrt(32) 5.6568542 Raiz
Ensima ^(1/n) 8^(1/3) 2 Valor Absoluto abs abs(-8) 8 Coseno cos
cos(30) 0.1542514 Tangente tan tan(7.3456) 1.7945721 Seno sin
sin(%pi) 1.225D-16 Notao Scilab (e Fortran, e C, e Java, e ...)
para: 1,225 x 1016 OBS: Nas funes trigonomtricas os ngulos devem
ser usados em radianos. 223
- Valores pr-definidos Varivel Valor %pi nmero . %inf innito . %i
%e A base do logaritmo natural. %t ou %T Representa o valor
booleano verdadeiro. %f ou %F Representa o valor booleano falso.
1224
- Precedncia de operadores Associatividade a regra usada quando
os operadores tm a mesma prioridade; Por exemplo, para as operaes
de adio e subtrao (que possuem mesma prioridade) a regra de
associatividade diz que a operao mais a esquerda avaliada primeiro:
A-B+C+D A-B avaliada primeiro, pois est mais esquerda; 225
- Precedncia de operadores O mesmo vale para multiplicao e
diviso; Mas, para potenciao, a regra da associatividade diz que a
operao mais a direita deve ser avaliada primeiro: A^B^C^D C^D
avaliada primeiro, pois est mais direita. 226
- Precedncia de operadores A ordem de prioridade pode ser
alterada pelo uso do parnteses: (A+4)/3 A+4 avaliada primeiro;
(A-B)/(C+D) A-B avaliada primeiro, depois a soma e por ltimo a
diviso; R*3+B^(3/2)+1 3/2 avaliada primeiro. 227
- Utilizao bsica Qual o valor de x e y aps os comandos? x = 8^1*3
y = 2*x*3 * Parnteses podem alterar prioridades 2+10/5 10/5
avaliada primeiro; A+B/C+D B/C avaliada primeiro; R*3+B^3/2+1 B^3
avaliada primeiro. Prioridade* Operao Associatividade 1 Potenciao
da direita para a esquerda 2 Multiplicao Diviso da esquerda para a
direita 3 Adio Subtrao da esquerda para a direita 228
- Utilizao bsica -->a = 2^3*4 a = 32. -->b = 2^(3*4) b =
4096. -->c = 2^3^4 c = 2.418D+24 -->d = (2^3)^4 d = 4096
229
- Utilizao bsica -->a = 2^3*4 a = 32. -->b = 2^(3*4) b =
4096. -->c = 2^3^4 c = 2.418D+24 -->d = (2^3)^4 d = 4096
Notao Scilab (Java, C, ...) para 2,418 x 1024 230
- Elementos bsicos Nmeros, Vetores e Matrizes Uma matriz pode ser
Um escalar (nmero): matriz com dimenso 1 x 1 Um vetor linha: matriz
1 x n Um vetor coluna: matriz n x1 Uma matriz bidimensional: matriz
n x m Uma matriz multidimensional: matriz com dimenso n1 x n2 x n3
x ... nm 231
- Nmeros, Vetores e Matrizes O Scilab reconhece vrios tipos de
nmeros: Real: 4.607, - 199.34, Complexo: 2 + 3i (i = sqrt(-1))
Literal: nome Lgico: T/F 232
- Exemplo Calcular a equao do segundo grau: ax2 + bx + c. As
razes da equao so dadas por: aacbbxx24,221Resolvendo a equao: x2 +
4 x + 13 = 0 -- > a = 1, b = 4 , c = 13 -- > x1 = (-b + sqrt
(b^2 4 * a * c)) / (2 * a) -- > x2 = (-b - sqrt (b^2 4 * a * c))
/ (2 * a) x1 = -2.00 + 3.000i x2 = -2.000 3.000i 233
- Exerccios 1. O que so variveis? 2. Quais os tipos primitivos de
informao manipuladas pelo Scilab? 3. Assinale os identificadores
(nomes de variveis) vlidos e identifique o que causa o erros nos
identificadores no vlidos a. (x) b. Nota_1 c. Ah! d. Nota1 e. 1Nota
f. Nota1 g. A(4) h. a&b i. a+b j. I00001 k. nota 1 l. nota-1
234
- Exerccios 4. Escreva as declaraes aritmticas para o clculo das
seguintes frmulas: 235
- Exerccios 4. Para u = 1 e v = 3, avalie as expresses a) 4u b)
_2v-2___ c) v3___ d) 4_v 3v (u + v)2 v3 u3 3 5. Considere as
variveis A = 11, B = 5, C = -4 e D = 2. Calcule as expresses:
236
- Exerccios 6. Qual a primeira operao a ser executada em cada um
dos comandos: a. R + S W b. X + Y + C * D c. W1 + W2 / C ^2 d. A +
D + B ^ 2 + E * 3 e. NOTA + MEDIA / 3 f. A * B / C * D 237
- Exemplo -->g !--error 4 undefined variable : g -->g = 1:5
g = 1. 2. 3. 4. 5. -->g*g !--error 10 inconsistent
multiplication 238
- Vetores e matrizes As grandezas vetoriais podem ser criadas
colocando-se seus componentes entre colchetes [ ] Os componentes de
um vetor podem ser separados por vrgula, espao ou por
ponto-e-vrgula. 239
- Vetores Declarao de vetores: X = [ x1 x2 x3 ...] vetor linha X
= [x1;x2;x3;...] vetor coluna Transposio de vetores: X 240
- Vetores Exerccios: 1. Verifique a diferena entre: a) x = [1 2
3] b) y = [1,2,3] c) z = [1;2;3] d) xt = x e) yt = y f) zt = z 2.
Dados k = [1,2,3,4,5] e w = [2,4,6,8,10], calcule: a) i = k + w d)
m = i*j b) J = k*w e) n = i*j c) Transpostas de i e j f) Verifique
se m = n 241
- Vetores V = Valor_inicial : incremento : Valor_final Exemplos:
A1 = 1:10 B1 = 1:2:10 C1 = 1:0.2:10 D1 = 10:-1:1 E1 = 1:%pi:20 F1 =
0:log(%e):20 G1 = 20:-2*%pi:-10 242
- Exemplo de funo com vetor 1. Desenhe a funo f(k) = sen(k) no
intervalo 0k10. --> k=0:0.1:10; --> plot (k,sin(k)) 2.
Desenhe a funo g(k) = cos(k) no intervalo 0k10. --> z=cos(k);
--> plot (k,z) 3. Desenhe a funo h(k) = tan(k) no intervalo
0k10. 0 1 2 3 4 5 6 7 8 9 10-1-0.8-0.6-0.4-0.200.20.40.60.810 1 2 3
4 5 6 7 8 9 10-1-0.8-0.6-0.4-0.200.20.40.60.81243
- Vetores V2 = linspace (Valor_inicial, Valor_final, quantidade
de elementos): Exemplos: A2 = linspace (1 ,10,15) B2 = linspace (
1,2,10) C2 = linspace ( 1,0.2,10) D2 = linspace ( 10,-1,1) E2 =
linspace ( 1,%pi,20) F2 = linspace ( 0,log(%e),20) G2 = linspace (
20,-2*%pi,10) 244
- Exerccios 4. Desenhe a funo f(x) = 2e-0,2x para o 50 pontos
entre - e 2 -->x = linspace (-%pi, 2*%pi , 50); -->y = 2 * %e
^ (-0.2*x); -->plot(x,y) 5. Desenhe a funo g(x) = sen(x)cos(x)
em 50 pontos entre - e 2 245
- Operadores especiais Operador . (usado com outros operadores
para operaes elemento a elemento) Exemplo: A = [1 2 3; 3 4 6; 7 8
9] B = [2 4 6;8 10 12; 14 16 18] -->A.*B ans = 2. 8. 18. 24. 40.
72. 98. 128. 162. -->A./B ans = 0.5 0.5 0.5 0.375 0.4 0.5 0.5
0.5 0.5 246
- Matriz Uma matriz geral consiste em m*n nmeros dispostos em m
linhas e n colunas: 247
- Matriz No Scilab: -->A = [1 2 3; 4 5 6; 7 8 9] A = 1. 2. 3.
4. 5. 6. 7. 8. 9. A 248
- Operaes com vetores Sejam M a matriz, L a linha e C a coluna
Acessa elementos entre o i e o j elementos: M(i:j) Acessa ltimo
elemento: M($) Acesso ltima coluna: M(:,$) Acesso ultima linha:
M($,:) Acesso coluna C: M(:,C) Acesso linha L: M(L,:) Agrupa dois
vetores: MA = [M M] Apaga a coluna C: M(:,C) = [] 249
- Operaes com vetores Dimenso: length(M) Nmero de linhas e
colunas: [nl , nc] = size(M) Valor mximo e posio relativa: [V,P] =
max(M) Valor mnimo posio relativa: [V,P] = min(M) Mdia aritmtica:
MedA = mean(M) Determinante: Dt = det(M) Diagonal: Dg = diag(M)
Encontra um elemento: find(M operador elemento) Soma dos elementos:
sA = sum(M) Multiplicao dos elementos: prod(M) 250
- Operaes com vetores Multiplicao elemento: Mn = A*num Ordenao
dos elementos: Ms = gsort(M) Elementos iguais a 1: U = ones(L,C)
Matriz identidade: MId = eye(L,L) Matriz transposta: Mt = M Matriz
com nmeros aleatrios/randmicos: Ma = rand(L,C) 251
- Exemplo Dada a matriz A Acessar elementos entre 2 e 5
elementos: A(2:5) Acessar ltimo elemento: A($) Acessar a ltima
coluna: A(:,$) Acessar a ultima linha: A($,:) Acessar a coluna 2:
A(:,2) Acessar a linha 3: A(3,:) Agrupar/unir dois vetores: C = [A
A] ou C = [A;A] Apagar a 2 coluna: C(:,2) = [] Inserir coluna no
final: Ac = [A [6; 7; 8]] Inserir linha no final: Al = [A ; 6 7 8]
252
- Exemplo Dimenso: length(A) Nmero de linhas e colunas: [nl , nc]
= size(A) Valor mximo e posio relativa: [V,P] = max(A) Valor mnimo
posio relativa: [V,P] = min(A) Mdia aritmtica: MedA = mean(A)
Determinante: Dt = det(A) Diagonal: Dg = diag(A) Encontra elemento
< 4: find(A < 4) Soma dos elementos: sA = sum(A) Multiplicao
dos elementos: prod(A) 253
- Exemplo Multiplicao elemento: A2 = A*2 Multiplicar a 2 coluna
por 3: A3(:,2) = A3(:,2)*3 Ordenao dos elementos: As = gsort(A)
Matriz unitria com dimenso 5x2: U = ones(5,2) Matriz identidade:
AId = eye(5,5) Matriz transposta: At = A Matriz com nmeros
aleatrios 3x4: Aa = rand(3,4) 254
- Exerccios 1. Crie: a) Um vetor unitrio com 10 elementos b) Um
vetor nulo com 5 elementos c) Um vetor com 10 elementos aleatrios
d) Verifique suas dimenses 2. Dado o vetor X = [1 2 3 4 5]; a)
Insira o valor 10 no final b) Apague o quinto elemento do vetor c)
Atribua valor zero aos elementos entre 2 e 4 3. Dados os vetores X
= [ , e , sin() , log(10)] Y = [10.3 1 1 -2 2] crie um vetor Z que
seja dado pela unio de X e Y. 255
- Exerccios 4. Desenhe a funo f(x) = |sin(t)| para o intervalo
-2t2. 5. Dadas as matrizes A = [1 2 3;4 5 6] e B = [7;8;9],
Determine: a. AB b. BA c. A x identidade(A) d. A*ones(A) e.
A*ones(A) + identidade(A) 256
- Exerccios 6. Dada a matriz A = [2 4 6;8 10 12; 1 2 3] a)
Atribua valor zero linha 3; b) Multiplique a linha 2 por 10; c)
Remova a ltima linha d) Insira o vetor B = [1 2 3] na ltima linha
de A 9. Crie uma matriz 5X5 de nmeros aleatrios. a) Atribua valor 0
coluna 2. b) Multiplique os elementos de 2 a 4 da coluna 3 por 10.
c) Divida os elementos de 1 a 3 da coluna 5 por 5. d) Remova a
coluna 3. e) Remova a linha 2. 257
- Exerccios 10. Dadas as matrizes 1 3 4 6 8 92 3 4 9 1 33 3 3 6 5
38 8 7 9 9 29 8 2 3 4 11 1 3 8 7 9A=2 2 2 3 4 59 0 0 1 2 30 1 2 3 7
81 9 2 3 5 68 9 0 1 2 34 2 3 4 5 5B=Calcule: a) C = A + B b) C =
A*B c) C = 10*A + 5*B d) C = A + B*%i e) C = A + rand(B) f)
Determinante de A g) Determinante de B h) Diagonal de A 258
- Matrizes: operadores especiais Operador \: diviso esquerda.
Seja Ax=b um sistema de equaes lineares escrito na forma matricial,
sendo A a matriz de coeficientes, x o vetor da incgnitas e b o
vetor dos termos independetes: 259
- Matrizes: operadores especiais Soluo do sistema: x=A-1b
(inversa de A multiplicada pelo vetor b) --> A=[1 3;3 4] -->
b=[5;2] --> x=inv(A)*b --> w = A\b --> y = A^(-1)*b -->
bc = A*x 1x + 3y = 53x + 4y = 2260
- Exerccio 1. Resolva o sistema linear. Substitua as solues na
equao para confirmar a soluo. 2X + 3y + 3z = 24x + 3y+ 2z = 13x +
7y + 9z = 52X 261
- Sistemas lineares x1 + 2x2 + x3 = 5 1 2 0 x1 5 -x1 +5x2 - 3x3 =
0 -1 5 -3 x2 = 0 4x1 - 2x2 + x3 =3 4 -2 1 x3 3 A * X = B Soluo : X
= A-1. B --> A=[1 2 0;-1 5 -3;4 -2 1] --> B=[5; 0; 3] -->
X=A\B --> Y= A*X 262
- Exerccio Resolver o sistema linear -x1 + x2 + 2x3 = 2 3x1+ x3 =
6 -x1 + 3x2 + 4x3 = 4 263
- Exerccio Resolver o sistema linear -x1 + x2 + 2x3 = 2 3x1+ x3 =
6 -x1 + 3x2 + 4x3 = 4 --> A = [-1 1 2; 3 1 1; -1 3 4] A = -1 1 2
3 -1 1 -1 3 4 --> b = [2; 6; 4] b = 2 6 4 --> x = A\b x = 1.
-1. 2. 264
- Exerccio Resolva o sistema linear 265
- Polinmios Funo poly(a, x, flag) a: matriz de nmero reais x:
smbolo da varivel flag: string ("roots", "coeff"), por default seu
valor "roots". 266
- Polinmios Dado p1 = -- > p1 = poly([1, -6, -72, -27], "x",
"coeff") p1 = 2 3 1 - 6x - 72x - 27x -- > r = roots(p1) //
obtendo as razes do polinmio r = 0.0824886 - 0.1743828 - 2.5747724
-->p2 = poly (r, "x", "roots") // definindo pelas razes p2 = 2 3
- 0.0370370 + 0.2222222x + 2.6666667x + x 267
- Polinmios Polinmio definido pelas suas razes -->p = poly([1
2], "s, roots) p = 2 2 - 3s + s --> Com a funo roots,
comprova-se que as razes de p so, realmente, 1 e 2, -->r =
roots(p) r = 1. 2. 268
- Polinmios Polinmio criado a partir dos seus coeficientes. Ex.:
criar o polinmio q = 2s + 1 -->q = poly([1 2], "s", "coeff") q =
1 + 2s -->r = roots(q) r = - 0.5 269
- Polinmios Soma, Subtrao, Multiplicao, Diviso -->s = p + q //
Adio s = 2 3 - s + s -->sb = p - q // Subtrao sb = 2 1 - 5s + s
-->m = p * q // Multiplicao m = 2 3 2 + s - 5s + 2s 270
- -->d = p / q // Diviso d = 2 2 - 3s + s ----------- 1 + 2s
-->[r, c] = pdiv(p,q) // c=quociente, r=resto c = - 1.75 + 0.5s
r = 3.75 Polinmios Soma, Subtrao, Multiplicao, Diviso 271
- Polinmios -->p = poly ([5, -3, 1], x, c) // definindo o
polinmio p = 2 5 - 3x + x -->h = horner(h, 2) // polinmio em x =
2 h = 3. 272
- Polinmios Exemplo --> y = poly([1 2 3], x, c) ou --> x =
poly(0,x) --> z = 1+2*x + 3*x^2 Exerccio: Dados os polinmios: y
= 6x3 + 5x2 + 4x + 1 z =7x4 + 5x3 +3x Calcule: a) y + z b) y2 + 3z
c) z*y/(z3) d) y*z e) z/y 273
- Polinmios roots(z): calcula as razes de um polinmio [r,q] =
pdiv(y,z): efetua a diviso e calcula quociente e resto coeff(y):
retorna os coeficientes do polinmio. Exerccio: Dados os polinmios:
y = 6 x5 + 10x4 + 8x3 + 10x2 + 3x + 5 z = 5x5+ 4x4 + 3x3 + 2x
Calcule: a) suas razes b) os coeficientes c) o resto e o quociente
das divises: y/z e z/y 274
- Matrizes de polinmios Os elementos da matriz podem ser
polinmios: Exemplo: --> s = poly(0, s); --> A = [1-2*s+s^3
3*s+4*s^2; s 2*s] Exerccio: Dadas as matrizes de polinmios: A =
[2*x^2 + 3*x x ; 1 x^3+2]; B = [3*x^4 + x^2 x^5 ; 8*x + 1 5];
Calcule: A*B A/B Determinantes de A e B 275
- Matrizes de polinmios Se A uma matriz de polinmios: A = A(num):
retorna apenas os numeradores A = A(den): retorna apenas os
denominadores Exemplo: s = poly(0, s) A = [(1+2*s+3*s^3)/(s+2)
3*s+1/(2*s+1); s^4/(s^2+2) 3*s^2+4*s^3] N = A(num) D = A(den)
276
- Exerccios 1. Desenvolva uma soluo em SCILAB para encontrar as
razes da equao y= 2x2 - 3x + 1 2. Apresente o grfico da equao com
30 pontos entre 0 e 5 277
- Exerccios 1. Resolva o sistema linear 2x + 2y + 2z = 20 2x 2y +
2z = 8 2x 2y 2z = 0 2. Calcule o seno, o coseno, a tangente, a raz
quadrada e a raiz cbica de x/2. 3. Calcule o logaritmo e a raiz
quadrada de -1. 4. Calcule o valor da funo ex em 100 pontos do
intervalo ]-1 . . . 1[ e apresente o grfico da funo 278
- Exerccios 5. Calcule o valor da funo sin(x+pi/10)cos(x) entre
-pi e pi, considerando um incremento de 0.1 entre os pontos e
apresente o grfico da funo 6. Calcule o produto dos polinmios x6 +
10 e x2 - 2x + 3. 7. Obtenha o polinmio cujas razes so os nmeros 1,
2 e 3. 8. Calcule os zeros do polinmio p(x) = x6 + 4x2 - 3x + 1.
279
- Derivadas Derivada o coeficiente angular da reta tangente ao
grfico de uma funo f(x), no ponto x0 Clculo da derivada: derivat(p)
onde p o polinmio. Avaliao da derivada em um ponto: horner(d,x)
onde d a derivada do polinmio p e x o valor da varivel. Exemplo:
Dada a funo 0.5x5 + 3x2 + 2x + 10, determine: a) o valor da funo
para x = 2.5 b) a derivada de f(x) c) o valor da derivada para x =
2.5. 280
- Derivadas - Exemplo Dada a funo 0.5x5 + 3x2 + 2x + 10,
determine: a) o valor da funo para x = 2.5 b) a derivada de f(x) c)
o valor da derivada para x = 2.5. -->p = poly ([10 2 3 0 0
-0.5], "x", "coef") p = 2 5 10 + 2x + 3x - 0.5x -->pt = horner
(p, 2.5) pt = - 15.078125 -->d = derivat(p) d = 4 2 + 6x - 2.5x
-->ptd = horner (d, 2.5) ptd = - 80.65625 281
- Exerccio 1. Calcule a derivada de x6 + 10 ------------- x2 - 2x
+ 3. 282
- Integrais A integral de uma funo f(x) outra funo, I(x), tal que
a sua derivada, I(x), igual funo f(x) Integral definida aquela
restrita a um determinado intervalo de x, x0 x x1 Clculo da
integral: integrate(expr, v, x0 ,x1 ) onde x0 o limite inferior e
x1 o limite superior. 283
- Integrais Clculo da integral: integrate(expr, v, x0 ,x1 ) onde
x0 o limite inferior e x1 o limite superior. Ex.: Dada a funo f(x)
= sin(x), determine I(x), entre 0 e 1, onde : --> v =
integrate('sin(x)','x',0,1) v = 0.4596977 284
- Grficos Grficos bidimensionais: plot2d
(x,y,style,xtitle,rect,frameflag,nax,axesflag,logflag,leg)
opcionais Exemplo: x = [-2*%pi:0.1:2*%pi]; y = sin(x); plot2d(x,y);
plot2d(x,y,-1); Exerccio Detalhe cada elemento opcional do comando
plot2d 285
- Grficos Comandos bsicos clf: limpa a tela, evitando que o
prximo grfico se sobreponha ao anterior xbasc ou xbasc( ): limpa o
ambiente grfico e apaga os grficos a ele associados xtitle
(titulo): apresenta o ttulo do grfico legend(legenda1, legenda2,)
286
- Grficos Comandos bsicos Exemplo: t = 0:0.1:10; S = 5 + 10*t +
0.5*2*t.*t; V = 10 + 2*t; plot2d(t,S,-2); plot2d(t,V,-4);
xtitle(Cinematica); legend(Posio, Velocidade); 287
- Grficos Grficos tridimensionais: plot3d (x,y, z, theta, alpha,
leg, flag, ebox) opcionais Exemplo: Construa o grfico, considerando
as varivies: x = 2 : 0.1 : 2 y = 2 : 0.1 : 2 z = (x2) y3 Exerccio
Detalhe cada elemento opcional do comando plot3d 288
- Grficos Outros grficos: bar (x,width,color,style) ou bar
(x,y,width,color,style) barh (x,width,color,style) ou barh
(x,y,width,color,style) pie (x,[sp],[txt]) Exemplo: -->x = [1,
2, 3, 4, 5]; y = [5, 3, 1,-1, 1]; -->bar(x);
-->barh(x,y,'red') -->pie(x) -->pie(x,[0,1,0,0,1],
['um','dois','tres','quatro','cinco']) Exerccio Detalhe cada
elemento opcional dos comandos bar, bar e pie 289
- Grficos Comandos bsicos subplot: divide um janela de um grfico
em sub-graficos Exemplo: subplot(221) plot2d(x,sin(x)) subplot(222)
plot2d(x,cos(x)) subplot(223) plot2d(x,tan(x)) subplot(224)
plot2d(x,sin(x).*cos(x)) 290