Professional Documents
Culture Documents
Introduo Programao
Nmero de Crditos:
Tericos: 3
Prticos: 1
Pr-Requisitos: No h
Ementa
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.
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
Contedo programtico
PRIMEIRA UNIDADE
SEGUNDA UNIDADE
Metodologia
Bibliografia
Bsica:
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.
7
Consenso
Agenda
Pontualidade
Aula
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
18
Dia
29/fev seg
03/mar qui
07/mar seg
10/mar qui
14/mar seg
17/mar qui
21/mar seg
24/mar qui
28/mar seg
31/mar qui
31/mar qui
04/abr seg
07/abr qui
11/abr seg
14/abr qui
14/abr qui
18/abr seg
21/abr qui
25/abr seg
Contedo
Apresentao da disciplina
Histrico
Histrico
Arquitetura
Arquitetura
Software
Software
Semana Santa
SCILAB
SCILAB
Aula extra
SCILAB
SCILAB
SCILAB
SCILAB
Aula extra
1 EE
Tiradentes
Correo e devoluo
Aula
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Dia
28/abr qui
02/mai seg
02/mai seg
05/mai qui
09/mai seg
12/mai qui
16/mai seg
19/mai qui
19/mai qui
23/mai seg
26/mai qui
30/mai seg
30/mai seg
02/jun qui
06/jun seg
16/jun
Contedo
Algoritmo
Algoritmo
Aula extra
SCILAB
SCILAB
SCILAB
SCILAB
SCILAB
Aula extra
SCILAB
SCILAB
SCILAB
Aula extra
2EE
2 Chamada
Atividade extraclasse maro
Atividade extraclasse abril
Atividade extraclasse maio
qui Prova Final
10
Conceitos
O que um COMPUTADOR?
Do It Right
Think
Herman Hollerith
Fundador da IBM
12
Aplicativos
Tecnologia de vlvulas.
SGBD
Word
Sistema
Windows
CAD
Operacional
Mac OS
Linux
Interface de
Componentes
Monitor
hardware
Fsicos
Processador
Componentes Multimdia
Componentes de rede
13
14
IBM
Comprimento: 18 m
Largura: 2 m
Peso: 70 ton
Fiao: 800 km
Ocupava 120 m2
Tinha milhares de rels
Fazia um barulho infernal.
Uma multiplicao de nmeros de 10 dgitos levava 3
segundos para ser efetuada.
15
16
Primeira gerao
17
Segunda gerao
http://www.tecmundo.com.br/infografico/9421-a-evolucao-dos-computadores.htm
18
Terceira gerao
19
20
Quarta gerao
Quinta gerao
21
Primeiro HD
22
Primeiro HD
IBM - 1956
Capacidade: 4,7 MB
Peso: 1 tonelada
Preo: + US$ 1.000.000,00
Interfaces
Interfaces
25
Geraes
26
Celular.......
Memria
RAM
At 768 GB
27
27
29
Tipos de computadores
Tecnologias de hardware
Unidade de
entrada
Unidade
Unidade de
central de
sada
processamento
Unidade de
memria
30
Unidade de entrada
Unidade de
entrada
Unidade
central de
processamento
Unidade de
sada
31
Unidade de
memria
Unidade de
entrada
Unidade
central de
processamento
Unidade de
sada
Unidade de
memria
33
Unidade de
entrada
Unidade
central de
processamento
Unidade de
sada
Unidade de
memria
Unidade de
entrada
Memria
Unidade
central de
processamento
Unidade de
sada
Unidade de
memria
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
1 Brontobyte (BB)
270
1024 yottabytes
1 Geopbyte (GEB)
280
1024 brontobytes
34
Armazenamento
At ento, nenhum computador alcanou a
marca de um yottabyte de armazenamento.
Mesmo se combinarmos o espao de todos
os discos de armazenamento no mundo o
valor armazenado no alcana nem um
zettabyte.
De acordo com um estudo, todos os
computadores do mundo guardavam em
dados cerca de 160 exabytes no ano 2006,
com o valor aproximado de 1 zettabyte
projetado para 2010
35
Analogia.
Google processa por dia impressionantes 20 PETABYTES de
dados processados por dia.
Se um byte, um caroo de arroz
Um Kilobyte, 1024 bytes, uma pequena tigela de arroz.
O megabyte seria quase uma saca de arroz, 25Kg.
Um gigabyte, o equivalente a um container para armazenar.
O terabyte precisa de um navio de containers para transportar
seu equivalente em arroz.
Para um petabyte, seriam necessrias 210 viagens do maior
navio de containers do mundo para transportar os gros.
Ento, seriam necessrias 4200 viagens para os 20 Petabytes,
Unidade Central de
Processamento
Tabela ASCII
Unidade de
entrada
Unidade
central de
processamento
Unidade de
sada
Unidade de
memria
Unidade de sada
Unidade de
entrada
Unidade
central de
processamento
Unidade de
sada
51
Software
Unidade de
memria
53
Software
Software
Hardware
Software
Sistema Operacional
Usurio
Bsico
Exemplo
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
Software
aplicativo /
suporte
Software
bsico
Hardware
54
http://www.coladaweb.com/informatica/sistema-operacional
55
Software de suporte
Ferramentas de desenvolvimento de software
empregadas para o desenvolvimento de outro
software.
Do It Right
Think
Herman Hollerith
Fundador da IBM
56
57
Linguagens de Programao
Linguagem de programao
Conjunto de termos (vocabulrio) e
de regras (sintaxe) que permitem a
formulao de instrues a um
computador.
Nvel de
Abstrao
Facilidade
de
Programao
Consumo de
2
3
4
5
Recursos
de
Mquina
58
Linguagens de Programao
59
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
60
61
Tipos de Dados
Tipos de Dados
Numrico
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
Nmeros
Inteiros
Reais
Caractere
Smbolos da tabela ASCII
Literal
Agregado de caracteres
Lgico
verdadeiro / falso
62
Tipos de Dados
63
Tipos de Dados
Variveis
Variveis x Constantes
b+5
a, b e 5 so variveis ou constantes?
64
65
Nomes ou identificadores
Regras para definir o nome ou identificador
Memria
val1
val2
inteiro
real
val1
inteiro
val2
real
66
Exemplo de identificadores
Identificadores
vlidos
A
a
nota
Nota
NOTA
a32
nota_1
67
Identificadores
invlidos
Numrico
Inteiros
-28, 156
Reais
23.45, -9.36
5b
e 12
x-y
SAT
case
prova 2n
Lgico ou Booleano
Memria
val1
val2
inteiro
real
Falso
Verdadeiro
Caractere
a, b
Literal
aluno, 1 + 2, ou aluno, 1 + 2
68
69
6,0
7,0
9,0
6,0
5,5
9,1
10,0
4,7
7,4
8,6
10
val1
val2
inteiro
inteiro
6,0
7,0
9,0
6,0
5,5
9,1
10,0
4,7
7,4
8,6
10,0
8,0
1,0
0,0
8,0
7,0
10,0
4,0
3,9
2,7
10
Atribuies
Operaes
71
A 4
B5
A B
BA
??
Monodicas (-x)
Didicas (a+b)
72
73
Operaes
Linearizao de expresso
Expresses
Combinaes de variveis, constantes e
operadores em uma nica sentena, que tm
como finalidade a obteno de um resultado.
Tradicional
Computacional
((2/3-(5-3))+1)*5
Operadores
Smbolos que representam as operaes
Tipos bsicos: aritmticos, relacionais, lgicos e
atribuio
74
Operadores Relacionais
Operadores Aritmticos
Utilizados para obter resultados numricos.
Operao
Exponenciao
Radiciao
75
Operador
Operao
Igual a
Maior que
Menor que
Maior ou igual a
Menor ou igual a
Diferente de
** , ^
raiz, sqrt
Multiplicao
Diviso
Diviso inteira
div, quociente
Resto da diviso
resto, modulo
Adio
Subtrao
76
Operador
=
>
<
>=
<=
<> , ~=, !=
77
Operadores Lgicos
Tabela Verdade
Operao
Disjuno
Conjuno
Negao
Negao
A no A
F
V
V
F
Operador
OU, |, v, OR
E, &, ^, AND
NO, ~, NOT
V
V
F
F
V
F
V
F
Disjuno
A ou B
V
V
V
F
Conjuno
AeB
V
F
F
F
78
78
79
79
1: parnteses
sen(x), cos(x), abs(x), int(x),
2: funes
log(x), raiz(x), modulo(x , y)
3: unrio
Variveis
A
NOME
PROFISSAO
16 "MIRIAN" "ADVOGADO"
64 "PEDRO"
4: ** ^
5: * e /
Relaes
A + 1 >=
RAIZ(B)
NOME <>
"ANA"
PROFISSAO
= "MDICO"
6: + e
7: relacionais
8: NO
2.5
"ANA"
"MDICO"
"PROFESSOR"
9: E
10: OU
80
81
Relaes
X Y Z
COR
NOME
1 2 5
"AZUL"
"PAULO"
4 3 1
"VERDE"
"JOS"
"AZUL"
Tipo
numrica
numrica
numrica
literal
lgica
Contedo
2
5
9
"MARIA"
FALSO
1 1 2 "BRANCO" "PEDRO"
1 2 1
Varivel
X
Y
Z
NOME
SIM
b) SIM ou Y >= X
falso ou 5 >= 2
falso ou verdadeiro
verdadeiro
"JOS"
82
83
Tipo
numrica
numrica
numrica
literal
lgica
Contedo
2
5
9
"MARIA"
FALSO
Do It Right
Think
c) no SIM e quociente(Z,Y) + 1 = X
no falso e quociente (9,5) + 1 = 2
no falso e verdadeiro
verdadeiro
Herman Hollerith
Fundador da IBM
85
Introduo ao Scilab
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
Parte 1
86
Scilab
87
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).
89
Scilab
Scilab
Ambiente
Areas:
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
Fsica
Sistemas complexos
Processamento de imagens
Controle e processamento de sinais
Automao industrial
Controle de processos
Computao grfica
Matemtica
Modelagem biolgica
...
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
90
O ambiente Scilab
91
Prompt de Comandos
92
93
94
95
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;
Os nomes das variveis so escolhidos pelo
programador, respeitando as regras:
97
Variveis
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.';
Salve com o nome
else
Media
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)
Nomes invlidos:
1A
total de alunos
funcionrios
98
Teste!!!!!!!!!!
99
Navegao
Setas de Direcionamento
: Disponibiliza no prompt os comandos
digitados anteriormente, do ltimo comando
digitado ao primeiro.
: Disponibiliza os comandos digitados
anteriormente, do atual ao ltimo comando
digitado.
: Avana o cursor um caractere.
: Retorna o cursor um caractere.
execute
Media
100
101
Operadores
Aritmticos
Adio: +
Subtrao: Multiplicao: *
Diviso: /
Potenciao: ^
De atribuio
Atribuio: =
Booleanos
Verdadeiro: %t
Falso : %f
Prioridade*
Conjuno e: &
Negao no: ~
Disjuno ou: |
Relacionais
Igualdade: ==
Diferente de : ~= ou <>
Menor que: <
Menor ou igual: <=
Maior que: >
Maior ou igual: =>
Associatividade
Potenciao
Multiplicao
Diviso
Adio
Subtrao
102
Precedncia de operadores
103
Exerccio
Qual o valor de x e y aps os comandos?
Operao
a) x = 8^1*3
b) y = 2*x*3
a) 2+10/5
b) A+B/C+D
c) R*3+B^3/2+1
Qual o valor de a, b, c e d?
a)
b)
c)
d)
104
a = 2^3*4
b = 2^(3*4)
c = 2^3^4
d = (2^3)^4
105
Utilizao bsica
Comando
-->a = 2^3*4
a =
32.
clear
clear x
-->b = 2^(3*4)
b =
4096.
-->c = 2^3^4
c =
2.418D+24
-->d = (2^3)^4
d =
4096
help ou F1
F1 x
.
[ ] ou { }
//
.. ou ...
Notao Scilab (Java, C, ...)
24
para 2,418 x 10
Ao
Separa decimais
Constroem vetores e matrizes
Faz comentrios
Indica que a linha continua na prxima linha
106
Raiz Quadrada
Exponencial
Ao
gsort(x)
gsort(x,"lc",
"i")
format(x)
107
Fatorial
valor absoluto
Fatorao
Diferena de conjuntos
108
Comando
sqrt(x)
exp(x) ou %e^x
factorial(x)
abs(x)
factor(x)
setdiff(A,B)
ceil(x)
floor(x)
109
Funes trigonomtricas
Funo
Comando
(radianos)
Comando
(graus)
Seno
sin(x)
sind(x)
Comando
Logaritmo base 10
log10(x)
Logaritmo base 2
log2(x)
Cosseno
cos(x)
cosd(x)
Logaritmo natural
log(x)
Tangente
tan(x)
tand(x)
Inversa do Seno
asin(x)
asind(x)
modulo(x,y)
Inversa do Cosseno
acos(x)
acosd(x)
lcm(int32([x,y]))
Inversa da Tangente
atan(x)
atand(x)
gcd(int32([x,y]))
Secante
sec(x)
secd(x)
Cossecante
csc(x)
cscd(x)
Cotangente
cotg(x)
cotd(x)
Primos at o valor x
primes(x)
Resto da diviso
round(x)
111
110
Funo
Notao
Exemplo
Resultado
Constante
Resto da Diviso
modulo
modulo(8, 3)
nmero .
%pi
innito .
%inf
Raiz Quadrada
sqrt
sqrt(32)
5.6568542
Raiz Ensima
Valor Absoluto
^(1/n)
abs
8^(1/3)
abs(-8)
2
8
cos
tan
sin
cos(30)
tan(7.3456)
sin(%pi)
0.1542514
1.7945721
1.225D-16
Coseno
Tangente
Seno
Notao
%i
%e
%t ou %T
%f ou %F
112
113
Exerccio
Elementos bsicos
Nmeros, Vetores e Matrizes
Uma matriz pode ser
Um escalar (nmero): matriz com dimenso
1x1
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
b)
c)
d)
Exemplo
Calcular a equao do segundo grau: ax2 + bx + c.
As razes da equao so dadas por:
x1 , x 2 =
b b 2 4 ac
2a
Resolvendo a equao: x2 + 4 x + 13 = 0
116
117
Exemplo
Exemplo
x1 , x 2 =
-->g
!--error 4
undefined variable : g
b b 2 4 ac
2a
-->g = 1:5
g =
1. 2. 3.
Resolvendo a equao: x2 + 4 x + 13 = 0
-- > a = 1, b = 4 , c = 13
4.
5.
-->g*g
!--error 10
inconsistent multiplication
x1 = -2.00 + 3.000i
x2 = -2.000 3.000i
118
Exerccios
119
Exerccios
4. Escreva as declaraes aritmticas para o clculo
das seguintes frmulas:
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
120
121
Exerccios
4. Para u = 1 e v = 3, avalie as expresses
a) 4u
b) _2v-2___
c) v3___
d)
2
3
3
3v
(u + v)
v u
Exerccios
6. Qual a primeira operao a ser
4_v
3
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
122
Vetores e matrizes
123
x:y:z
linspace(x,y,n)
124
Ao
125
Vetores
Vetores
Exerccios:
Declarao de vetores:
d) xt = x
e) yt = y
c) z = [1;2;3]
f) zt = z
a) i = k + w
b) J = k - w
c) Transpostas de i e j
d) m = i*j
e) n = i*j
f) Verifique se m = n
126
127
Vetores
Vetores
quantidade de elementos):
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
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)
128
129
Exerccios
Matriz
130
Exemplo
131
Exerccios
Defina as seguintes matrizes no Scilab:
1
A = 3
7
2
4
8
3
6
9
2
B = 8
14
4
10
16
A = [1 2 3; 3 4 6; 7 8 9]
6
12
18
1
X=
10
100
1000
1
10
100
1000
1
1
10
10
100
100
1000 1000
E = A.*B
D= A/B
F = A./B
133
Exerccios
X=
10
10
12
14
16
18
20
11
13
15
17
19
25
30
35
40
45
50
5 10
15 20
Comando
A\b
A
A-1 ou inv(A)
det(A)
diag(A)
diag(A)
Ao
Inversa da matriz A
Determinante da matriz A
Gera uma matriz diagonal com
os valores do Vetor A
Extrai a diagonal principal da
matriz A
134
Vetores e Matrizes
135
Vetores e Matrizes
Comando
Operador
Operao
+
-
Soma
Subtrao
*
^
.*
./
.^
Multiplicao
Potenciao
Multiplicao valor por valor
Diviso valor por valor
Potenciao valor por valor
eye(m,m)
max(A)
min(A)
Ao
Gera uma matriz identidade de tamanho m
Extrai o maior valor da matriz A ou do vetor A
Extrai o menor valor da matriz A ou do vetor A
mean(A)
trace(A)
da
ones(n,m)
gsort(x)
gsort(x,"lc","i")
137
Vetores e Matrizes
Comando
Vetores e Matrizes
Ao
Comando
A($)
A($, :)
rand(n,m)
A(: , $)
Ao
Acessa o ltimo valor da matriz A
Acessa a ltima linha da matriz A
Acessa a ltima coluna matriz A
A(i , :)=[]
A(: , j)=[]
A($)=[]
A($)=[]
138
Vetores e Matrizes
Comando
A(i , :)=x
A(: , j)=x
A(i , j)=x
length(A)
size(A)
139
Matriz - Exemplo
Ao
da
da
No Scilab:
da
-->A = [1 2 3; 4 5 6; 7 8 9]
M =
da
1.
4.
7.
2.
5.
8.
3.
6.
9.
141
Exemplo
Exemplo
Dada a matriz A
Dimenso: length(A)
Determinante: Dt = det(A)
Diagonal: Dg = diag(A)
Exemplo
143
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
Matriz transposta: At = A
Matriz com nmeros aleatrios 3x4: Aa = rand(3,4)
145
Exerccios
Exerccios
5. 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
B = [7;8;9], Determine:
a.
b.
c.
d.
e.
AB
BA
A x identidade(A)
A*ones(A)
A*ones(A) + identidade(A)
Exerccios
10. Dadas as matrizes
A=
B=
147
134689
234913
333653
887992
982341
113879
a) C = A + B
222345
900123
012378
192356
890123
423455
e) C = A + rand(B)
b) C = A*B
c) C = 10*A + 5*B
d) C = A + B*%i
f) Determinante de A
g) Transposta de B
h) Diagonal de A
i) Inversa de B
148
149
Exerccio
Soluo do sistema:
2X
2
X + 3y + 3z = 2
4x + 3y+ 2z = 1
3x + 7y + 9z = 5
1x + 3y = 5
3x + 4y = 2
--> A=[1 3;3 4]
--> b=[5;2]
--> x=inv(A)*b
--> w = A\b
--> y = A^(-1)*b
--> bc = A*x
150
Sistemas lineares
x1 + 2x2 + x3 = 5
-x1 +5x2 - 3x3 = 0
4x1 - 2x2 + x3 =3
151
Exerccio
1 2 1
-1 5 -3
4 -2 1
A
x1
x2
x3
*
5
0
3
= B
Soluo : X = A-1. B
-->
-->
-->
-->
152
153
Exerccio
Exerccio
A=
-1
1
2
3 -1
0
-1
3
4
--> b = [2; 6; 4]
b=
2
6
4
--> x = A\b
x=
1.25
- 1.25
2.25.
154
Polinmios
155
Polinmios
Comandos
Ao
x=poly(0,x)
156
157
Polinmios
Polinmios
Comandos/Operadores
Ao/Operao
+,-,*,^
Soma, subtrai, multiplica e
eleva a uma potncia,
respectivamente
[Resto,Quoc]=pdiv(p,d) Divide o polinmio p pelo
polinmio d
roots(p)
Calcula
as
razes
do
polinmio p
horner(p,x)
Calcula
o
valor
do
polinmio p para o valor de
x
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
158
Polinmios
159
Polinmios
p=
2
2 - 3s + s
-->
-->r = roots(q)
r=
- 0.5
160
161
Polinmios
-->s = p + q // Adio
-->d = p / q // Diviso
d=
2
2 - 3s + s
----------1 + 2s
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
162
Polinmios
163
Exerccio
// definindo o polinmio
1.
p=
2
5 - 3x + x
-->h = horner(p, 2)
Dados os polinmios:
y = 6x3 + 5x2 + 4x + 1
z =7x4 + 5x3 +3x
Calcule:
a)
b)
c)
d)
e)
// polinmio em x = 2
h=
3.
164
y+z
y2 + 3z
z*y/(z3)
y*z
z/y
165
Exerccio
Funes Matemticas
2. Dados os polinmios:
Calcule:
a)
b)
c)
d)
suas razes
os coeficientes
o valor para x = 4
o resto e o quociente das divises y/z e z/y
Comandos
Ao
function
y=f(x),y=10+2*x,endfunction
Define a funo
f(x)=10+2x
Define a funo
g(x,y)=x2+y2xy+5
Calcula o valor
da funo, dado
x ou x,y
f(x), g(x,y)
Exerccios
Exerccios
1. Resolva o sistema linear
e) h(x,y)=x2+y2+2,5xy-x-2y+2.Calcule h(-1,3)
f) g(x) = e-22x . Calcule g(0)
x!
g) Seja a funo f(x) = x2+2x-1. Calcule f(x) para x=(1
3 4 5 6 7 8).
h) Seja a funo h(x)= tangente(2). Calcule h(45).
i)
j)
169
2x + 2y + 2z = 20
2x 2y + 2z = 8
2x 2y 2z = 0
2. Calcule o seno, o coseno, a tangente, a raiz
quadrada e a raiz cbica de x/2.
3. Calcule o logaritmo e a raiz quadrada de -1.
2
Derivadas e Integrais
Exerccios
5. Calcule o valor da funo
sin(x+pi/10)cos(x) entre -pi e pi,
considerando um incremento de 0.1
Comandos
Ao
derivat(p)
Calcula a derivada de um
polinmio p
intg(x0 , x1 , f)
Calcula a integral da funo
f(x) no intervalo (x0 , x1)
integrate(expr, v, x0 ,x1 ) Calcula a integral de expr
no intervalo (x0 , x1)
.
Exemplo
173
Exemplo
-->function y=f(x),y=x*sin(30*x)/sqrt(1((x/(2*%pi))^2)),endfunction
-->I=intg(0,2*%pi,f)
I =
- 2.5432596
174
175
Exemplo
Exerccios
1.
a)
b)
c)
d)
e)
f)
176
Exerccios
177
Grficos
Comandos
Ao
plot(x,y)
179
Grficos
Grficos
Comandos
scf
scf(x)
Ao
Cria um ambiente (janela) grfico
Cria
um
ambiente
grfico
identificado pelo valor x.
clf
Limpa o ambiente grfico
clf(x)
Limpa
o
ambiente
grfico
identificado pelo valor x
subplot(m,n,p) Cria um ambiente matricial para a
construo de mais de um grfico na
mesma janela, onde:
m - quantidade de colunas
n - quantidade de linhas
p - posio do grfico
Comandos
xtitle (titulo)
Ao
Apresenta o ttulo do
grfico
legend(legenda1, legenda2,) Cria legenda no
grfico
bar(x)
Constri grfico de
bar(x,y)
colunas.
barh(x)
Constri grfico de
barh(x,y)
barras horizontal.
pie(x)
Constri grficos de
setores (pizza)
180
181
Exemplo
Exemplo
1. Desenhe a funo f(k) = sen(k) no intervalo
0k10.
--> clf
--> k=0:0.1:10;
--> plot (k,sin(k))
0.8
0.6
--> clf
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
10
-->y = 2 * %e ^ (-0.2*x);
-->plot(x,y)
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
10
183
Exemplo
Exemplo
plot2d (x,y,style,xtitle,rect,frameflag,nax,axesflag,logflag,leg)
scf
opcionais
t = 0:0.1:10;
clf
x = [-2*%pi:0.1:2*%pi];
y = sin(x);
subplot(1,2,1)
plot2d(x,y);
subplot(1,2,2)
plot2d(x,y,-1);
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);
184
Exemplo
185
Exemplos
bar (x,width,color,style)
barh (x,width,color,style)
pie (x,[sp],[txt])
scf
x = [1, 2, 3, 4, 5]; y = [5, 3, 1,-1, 1];
subplot(221)
bar(x);
subplot(222)
barh(x,y,'red')
subplot(223)
pie(x)
subplot(224)
pie(x,[0,1,0,0,1], ['um','dois','tres','quatro','cinco'])
scf
x = 2 : 0.1 : 2
y = 2 : 0.1 : 2
z = (x^2)*y^3
plot3d(x, y, z)
186
187
Grficos
Grficos
Na aba de X
Aparncia do Grfico
Text: identifica a
abscissa.
Font size/Color: tamanho
e cor da fonte.
Font style: tipo da fonte
Location: coloca o eixo da
abscissa na origem.
Grid color: coloca grade
vertical no grfico.
188
Grficos
189
Grficos
Na aba de Y
Na aba Style
191
Grficos
Exerccios
Salvando um Grfico
Aps concludo, um grfico pode ser salvo
de duas maneira:
a)
b)
c)
d)
e)
192
193
Introduo
Programao
Do It Right
Think
Algoritmos
Herman Hollerith
Fundador da IBM
194
Algoritmo
Passo
Passo
Passo
Passo
Ir at um banco 24 horas.
Colocar o carto.
Solicitar a quantia desejada.
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.
1:
2:
3:
4:
196
197
Algoritmo - exemplos
Representao de Algoritmos
Propriedades de um algoritmo:
2. Fazer um sanduche
3. Trocar uma lmpada
Teste de mesa
4. Ir para a escola
198
199
Exemplo de algoritmo
Mtodo para construo de algoritmos
a) Descrio narrativa
Passo 1: Receber os dois nmeros que sero somados.
Passo 2: Somar nmeros.
Passo 3: Mostrar o resultado obtido.
c) Pseudocdigo
b) Fluxograma
4. Definir o processamento
ALGORITMO soma
DECLARE N1, N2, S : NUMRICO
INICIO
LEIA (Digite dois nmeros, N1, N2)
S N1 + N2
ESCREVA (Soma = , S)
FIM
Incio
N1, N2
S = N1 + N2
S
Fim
205
Estrutura de um algoritmo
Dados de
entrada
Processamento
Dados de
sada
comando 1;
comando 2;
....
comando n;
fim.
206
207
Estrutura de um algoritmo
Algoritmos
Componentes Bsicas de um Pseudocdigo
Algoritmo soma
declare A, B, C : numrico;
Incio
leia (Informe dois nmero:, A, B);
C A + B;
escreva(O valor da soma :, C);
Fim.
Componente
Significado
Declare
Escreva
Leia
Se, ento, seno
Enquanto, para
208
Atribuio
209
Exerccios
:= =
xx+2
xx-6
x x/2
x2+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?
214
215
Comando de sada
Comando de entrada
Palavrachave
Palavrachave
escreva ( <expresso> );
leia (a)
leia (g, r, b)
leia (Digite seu nome: , nome)
escreva (x)
escreva (Contedo de Y = , y)
escreva(O fatorial de, N, " ", fat);
216
Exerccio
217
Exerccio
218
219
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;
...<nvel 1>
.......<nvel 2>
Comandos do nvel 2
220
221
Estrutura Sequencial
Estruturas
Estrutura sequencial;
Estrutura condicional;
Estrutura de repetio;
Algoritmo SEQUNCIA;
declare <lista de variveis>;
incio
Os comandos sero
<comando 1>
executados na ordem
<comando 2>
em que aparecem.
...
<comando n>
fim
222
223
Estrutura Sequencial
Exerccios
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.
224
225
Controle Condicional,
Deciso ou
Verdadeira
comandos
Falsa
Seleo
Permite a escolha entre blocos de
comandos alternativos.
229
se <condio>
[ento]
<instruo para condio verdadeira>
fim-se
...
Comandos B
Falsa
Condio
Verdadeira
231
Comandos A
232
233
Bloco de Comandos
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
Aninhamento de Estruturas
235
236
237
Exerccios
Exerccios
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;
238
Estruturas de Repetio
239
Condio no incio
condio
Verdadeira
comandos
Falsa
242
Interrupo no incio
Sintaxe
leia(Nota)
Total 0
N0
enquanto Nota<>-1
Total Total + Nota
NN+1
leia (Nota)
fim-enquanto
se N > 0
Media Total / N
escreva ( Media )
seno
escreva ( Notas no informadas)
fim-se
Exerccios
244
Varivel de Controle
1
2
3
N 1 N
+
+
+
+ ... +
N N 1 N 2
2
1
245
249
Varivel de controle
Varivel de Controle
Sintaxe
Exemplo 1
para X 1 : 10 faa
escreva ( X )
fim-para
Exemplo 2
z0
para X 1 : 5
leia ( Y )
zz+Y
fim-para
x z/X
Escreva (x)
251
250
Vetores
Exerccios
1.
2.
3.
4.
Nome:
Declarao
254
Vetores
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
Representao
declare v[8] : inteiro
2
3
4
5 6
7
8
elemento 1
varivel V[1] V[2] V[3] V[4] V[5] V[6] V[7] V[8]
valor
56
30
50
17
87
255
256
Algoritmo M10
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
257
Algoritmo M10
declare I : inteiro;
declare 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
258
Matrizes
Matrizes
Representao
declare m[4,4] : inteiro
1
coluna
1
...
1
linha
coluna
linha
2
...
varivel
Declarao
declare nome[linha, coluna] : tipo
varivel
259
Exemplo
260
Exerccios
* 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
261
1.
2.
Do It Right
Think
Herman Hollerith
Fundador da IBM
LDA 11A810A0
C=A+B
LDB 22345A91
ADD A,B
STA 1234FE88
264
Exemplo 1: Asembly
265
Trecho de cdigo em C
a=5;
b=10;
c=a+b;
267
Introduo ao Scilab
Java
C
C
C++
Objective-C
PHP
Visual Basic
Python
Perl
JavaScript
Parte 2
268
269
scripts
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.
270
271
Programa da mdia
Clc limpa
a tela
272
273
Executando o programa
Executar.
.
274
media
275
input( )
possibilita a interao entre o usurio e o programa
Janela interativa:
Var = evstr(x_dialog (rtulos, valor_inicial))
Exemplo:
Receber um dado numrico
nu = input( Digite um numero qualquer: )
varivel
comando de
atribuio
string
277
Janela interativa:
Var = evstr(x_dialog (rtulos, valor_inicial))
Caixa de entrada:
Var = messagebox(msg, modal, question,
botes)
279
Caixa de entrada:
Var = messagebox(msg, modal, question,
botes)
%d , %i ou %g
%f ou %x.yf ou %g
%s
Exibe
Valor inteiro
Valor em ponto flutuante
Valor de um literal
Exemplo:
281
disp(varivel) ou disp(texto)
Exibe na tela o valor da varivel ou string no
formato definido pelo usurio
messagebox(msprintf(gettext(texto), digitar
as variveis separada por vrgula), digitar o
nome da janela entre aspas)
A formatao do msprintf a mesma do printf.
Exemplo:
disp(Media Geral )
i=4
disp(i)
nome = "maria";
disp ("Seu nome " + nome)
v=10
disp ("A velocidade final " + string(v))
Exemplo:
messagebox(msprintf(gettext("Nome: %s
\nEndereo: %s \n CPF: %d \n Peso: %3.2f Kg
\n Altura: %1.2f m \n Idade: %d anos"),
n,e,cpf,z(1),z(3),z(2)),"Cadastro");
282
283
Exemplo
Exemplo
285
Mdia...
// Interface
clear clc
n=evstr(x_dialog("Digite seu nome entre aspas e clique Ok", ""));
e=evstr(x_dialog("Digite seu endereo entre aspas e clique Ok", ""));
cpf=evstr(x_dialog("Digite seu cpf e clique Ok", ""));
z=evstr(x_dialog("Digite seu peso, sua idade e sua altura separados
por vrgula e clique Ok", ""));
c=messagebox("Qual o seu curso?", "modal", "question",
["Engenharia Civil", "Engenharia Qumica", "Engenharia Ambiental"
]);
w=messagebox("Qual a sua faixa etria?", "modal", "question",
["11-20", "21-40", "41-60", "Mais de 60" ]);
messagebox(msprintf(gettext("Nome: %s \nEndereo: %s \n CPF:
%d \n Peso: %3.2f Kg \n Altura: %1.2f m \n Idade: %d anos"),
n,e,cpf,z(1),z(3),z(2)),"Cadastro");
286
287
Operadores Lgicos
if condio
comandos1;
else
comandos
end
Operador
if condio1
comandos1;
else
if condio2
comandos2;
else
comandos3;
end
end
Descrio
&
ou
no
A&B
A|B
~A
~B
288
Operaes lgicas
289
Exemplo do comando if
// Clculo da Mdia
-->v = %t, f = %f
v =
T
f =
F
-->~v
ans =
F
-->v | f
ans =
T
// Autor: Gilka
-->v & f
ans =
F
m = (n1 * 2 + n2 * 3)/5;
clear, clc
nome = input("Nome = ", "s");
n1 = input("Nota 1 = ");
n2 = input("Nota 2 = ");
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)
-->a = 7; b = 8; x = a > b
x =
F
else
printf("\n %s Reprovado - Mdia %.1f", nome, m)
end
end
290
291
Mdia...
Execuo do programa
292
293
O que faz?
// Programa exerccio : O que faz?
Formato:
while condio
comandos;
end
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)
294
295
// Clculo da Mdia
m = (n1 * 2 + n2 * 3)/5;
// Autor: Gilka
if m >= 7 then
clear, clc
else
n1 = input("Nota 1 = ");
if m >= 3 then
else
n1 = input("Nota 1 = ");
end
end
n2 = input("Nota 2 = ");
while n2 < 0 | n2 > 10 then
printf("\n Nota 1 Invlida %.1f",n1)
n2 = input("Nota 1 = ");
end
296
297
Mdia...
298
299
300
301
Para pensar...
302
n = 4;
while n <= 4
printf ("\n x = %g", n);
n = n 1;
end
2)
n = 1;
while n <= 4
printf ("\n x = %g", n);
end
303
Exemplo
Formato:
for var = inicio : fim
comandos;
end
305
for i = 1:4
printf ("\n x = %g", n);
end
for i = 4: -1 :1
printf ("\n x = %g", n);
end
306
307
Exemplo
308
309
Exerccios
311
Exerccios
Exerccios
f ( x ) = ax 2 + bx + 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.
S=
1
2
3
N 1 N
+
+
+ ... +
+
2
1
N N 1 N 2
312
313
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.
Do It Right
Think
Herman Hollerith
Fundador da IBM
s =
x2 x3 x4 x5 x6 x7
+ + + ...
1! 2! 3! 4! 5! 6!
314
315