22
ABR
15
1
22
ABR
15
1
Workshop
Máquinas de Calcular
TI-NSpire Voyage 200 TI-84
Site: https://paginas.fe.up.pt/~ntiec/
E-mail: ntiec@fe.up.pt
22 e 23 de Abril de 2015
22
ABR
15
2
22
ABR
15
2
Abordar o problema
Desconstruir o problema
Esquematizar a resolução
Pensar em possíveis ramificações
Escrever o código
Testar
22
ABR
15
3
22
ABR
15
3
Tipos de Variáveis
Número,
o ex: 1
String,
o ex: ‘HEA300’
Matriz,
o ex: [5,3,4; 8,8,6; 9,1,2]
22
ABR
15
4
22
ABR
15
4
Criar Programa ou Função
TI-nspire Voyage Ti-84
Calculadora → Menu →
9: Funções e Programas →
1: Editor de programas →
1: Novo
Nome: “a”
Tipo:
- Programa
- Função
Acesso à biblioteca: Nenhum,
LibPriv ou LibPub (Mostrar no
Catálogo)
APPS > Program Editor > 3:
New
1. Programa
nome()
Prgm
*Código*
EndPrgm
1. Função
nome(var1,var2)
Func
*calculo*
EndFunc
PRGM >NEW> Create New
1. Programa
Name=...
*Códico*
2. Função
“Y=”
*Escrever função*
22
ABR
15
5
22
ABR
15
5
Input
TI-NSpire ´ Voyage 200 TI-84
1.
Request “Descrição”,var
2.
RequestStr “Descrição”,var
1.
Input “Descrição”,var
2.
Dialog
Title “titulo da caixa”
Request “Variavel 1”,var1
Request “Variavel 2”,var2
Dropdown
“nome”,{‘Sim’,’Nao’},var
EndDlog
expr(var1) → var1
[….]
1.
Input “Descrição”,var
2.
Prompt var1,var2,...
22
ABR
15
6
22
ABR
15
6
Output
TI-NSpire Voyage 200 TI-84
1. Disp 1+1
Disp “texto”
Disp “&string(texto)&”, var
2. Text “texto
“&string(var)&”texto”
1. Disp “1+1 =”,1+1
Disp “”&string(1+1)””
2. Output 15,25, “Texto”
3. Dialog
Text “texto de saida
“&string(var)&””
Enddlog
1. Disp 1+1
2. Disp “texto”
3. Disp “texto”,var
22
ABR
15
7
22
ABR
15
7
Controlo: If
Problema: Levo guarda-chuva?
Solução:
Se está a chover:
SIM
Se está sol:
Não
22
ABR
15
8
22
ABR
15
8
Controlo: If
TI-NSpire Voyage Ti-84
If x>0 Then
Disp “x é positivo”
ElseIf x=0 Then
Disp “x é nulo”
Else
Disp “x é negativo”
EndIf
If x>0 Then
disp ‘x é positivo’
Elseif x=0 Then
disp ‘x é nulo’
Else
disp ‘x é negativo’
Endif
If x>0
Disp “x é positivo”
If x=0
Then
Disp “x é nulo”
Disp “x é zero”
Else
Disp “x é negativo”
End
22
ABR
15
9
22
ABR
15
9
Controlo: For
Situação: Comecei em 5º numa corrida
Acção:
Para o corredor de 1 a 4
Apanha-lo
Ultrapassá-lo
22
ABR
15
10
22
ABR
15
10
Controlo: For
TI-NSpire Voyage Ti-84
For i,1,10,1
2^i → a
Disp “&string(a)&”
EndFor
For i,1,10,1
2^i → a
disp ‘’&string(a)&’’
Endfor
For(i,1,10,1)
2^i → a
Disp a
End
22
ABR
15
11
22
ABR
15
11
Controlo:While
Problema: Hoje quero ganhar um prémio
Solução:
Enquanto não ganhar prémio:
Comprar uma raspadinha
Raspar a raspadinha
Ver se ganhei prémio
22
ABR
15
12
22
ABR
15
12
Controlo:While
TI-NSpire Voyage 200 TI-84
no_da_sorte := 7
a := randInt (1,100)
While no_da_sorte ≠ a
a := randInt(1,100)
Disp “Tenta novamente”
EndWhile
Disp i
no_da_sorte = 7
a = rand(100)
While a≠no_da_sorte:
a = rand(100)
Disp “Tenta novamente”
EndWhile
Disp “Precisei de
“&string(i)&” tentativas para
ganhar”
N=7
randInt(100,1)→A
While A≠N
randInt(100,1)→A
Disp “Tenta novamente”
End
Disp “Precisei de i
tentativas para ganhar”
Disp i
22
ABR
15
13
22
ABR
15
13
Controlo: Go To Label
Saltar entre partes do programa.
Situação comum:
Após correr uma parcela do programa, voltar ao início
(menu geral do programa)
22
ABR
15
14
22
ABR
15
14
Controlo: Go To Label
TI - NSpire Voyage 200 TI-84
randInt(1,2)→a
If a=1 Then
Goto 1
Disp "Cara"
Stop
Lbl 1
Disp "Coroa"
EndIf
rand(2)→a
If a=1 then
Goto Cara
elseif a=2 then
Goto Coroa
EndIf
Lbl Cara
Disp “Cara”
Lbl Coroa
Disp “Coroa”
randInt(1,2)→A
If A=1
Goto 1
Disp “Cara”
Stop
Lbl 1
Disp “Coroa”
End
22
ABR
15
15
22
ABR
15
15
Exercícios
Algoritmos
22
ABR
15
16
22
ABR
15
161616
Ex 1 - Calcular a Inércia de um perfil
retangular
Título: Calcular a Inércia de um perfil retangular
Input: Pedir as medidas geométricas do perfil
b – base (m)
h – altura (m)
Fazer o cálculo (expressão): (b*h^3)/12
Output: Mandar a Inércia
22
ABR
15
17
22
ABR
15
171717
Ex 2 - Calcular a Inércia de um perfil
triangular
Título: Calcular a Inércia de um perfil triangular
Input: Pedir as medidas geométricas do perfil
b – base (m)
h – altura (m)
Fazer o cálculo (expressão): (b*h^3)/36
Output: Mandar a Inércia
22
ABR
15
18
22
ABR
15
181818
Ex 3 - Calcular a Inércia de um perfil
circular
Título: Calcular a Inércia de um perfil circular
Input: Pedir as medidas geométricas do perfil
r – raio (m)
Fazer o cálculo (expressão): (pi*r^4)/4
Output: Mandar a Inércia
22
ABR
15
19
22
ABR
15
191919
Ex 4 - Juntar programas
Título: Calcular inércia de retângulo, triângulo ou círculo
Input: Pedir qual a secção a calcular
Segundo o input, ir buscar o programa correspondente
Output: Mandar a inércia
22
ABR
15
20
22
ABR
15
202020
Ex 5 - Cálculo de Médias
Título: Calcular a média de 3 notas
Input: Pedir 3 notas
x1 – 1ª nota
x2 – 2ª nota
x3 – 3ª nota
Condições
Se x1,x2,x3 < 20 e x1,x2,x3 > 0
então:
Fazer o cálculo da média (M):
Se M >= 10,0 então
Output: “Aprovado”
Se M =< 5,0 então
Output: “Reprovado”
Se 5,0 < M < 10,0 então
Output: “Possibilidade de ir a recurso”
Fim
Senão
Output: “Erro (as notas têm
que estar compreendidas entre 0 e 20)”
Fim
22
ABR
15
21
22
ABR
15
212121
Ex 6 - Função
Título: Definir função em que calcula a área de um círculo dado o seu
diâmetro
Definir:
area(diam) = (pi*diam^2)/4
22
ABR
15
22
22
ABR
15
222222
Ex 7 - Fórmula Resolvente
Título: Fórmula Resolvente
Input
i = nº vezes
For n=1 to i
Input a,b,c
Se a=0
Disp “ERRO - ‘a’ nao pode ser 0”
Se b^2-4*a*c ≤ 0 então
Disp “Sem raizes”
Senão
(-b + (b^2 - 4*a*c)^0.5)/(2*a) -> x1
(-b - (b^2 - 4*a*c)^0.5)/(2*a) -> x2
Disp “x1 e x2”

Apresentacao WS Máquinas

  • 1.
    22 ABR 15 1 22 ABR 15 1 Workshop Máquinas de Calcular TI-NSpireVoyage 200 TI-84 Site: https://paginas.fe.up.pt/~ntiec/ E-mail: ntiec@fe.up.pt 22 e 23 de Abril de 2015
  • 2.
    22 ABR 15 2 22 ABR 15 2 Abordar o problema Desconstruiro problema Esquematizar a resolução Pensar em possíveis ramificações Escrever o código Testar
  • 3.
    22 ABR 15 3 22 ABR 15 3 Tipos de Variáveis Número, oex: 1 String, o ex: ‘HEA300’ Matriz, o ex: [5,3,4; 8,8,6; 9,1,2]
  • 4.
    22 ABR 15 4 22 ABR 15 4 Criar Programa ouFunção TI-nspire Voyage Ti-84 Calculadora → Menu → 9: Funções e Programas → 1: Editor de programas → 1: Novo Nome: “a” Tipo: - Programa - Função Acesso à biblioteca: Nenhum, LibPriv ou LibPub (Mostrar no Catálogo) APPS > Program Editor > 3: New 1. Programa nome() Prgm *Código* EndPrgm 1. Função nome(var1,var2) Func *calculo* EndFunc PRGM >NEW> Create New 1. Programa Name=... *Códico* 2. Função “Y=” *Escrever função*
  • 5.
    22 ABR 15 5 22 ABR 15 5 Input TI-NSpire ´ Voyage200 TI-84 1. Request “Descrição”,var 2. RequestStr “Descrição”,var 1. Input “Descrição”,var 2. Dialog Title “titulo da caixa” Request “Variavel 1”,var1 Request “Variavel 2”,var2 Dropdown “nome”,{‘Sim’,’Nao’},var EndDlog expr(var1) → var1 [….] 1. Input “Descrição”,var 2. Prompt var1,var2,...
  • 6.
    22 ABR 15 6 22 ABR 15 6 Output TI-NSpire Voyage 200TI-84 1. Disp 1+1 Disp “texto” Disp “&string(texto)&”, var 2. Text “texto “&string(var)&”texto” 1. Disp “1+1 =”,1+1 Disp “”&string(1+1)”” 2. Output 15,25, “Texto” 3. Dialog Text “texto de saida “&string(var)&”” Enddlog 1. Disp 1+1 2. Disp “texto” 3. Disp “texto”,var
  • 7.
    22 ABR 15 7 22 ABR 15 7 Controlo: If Problema: Levoguarda-chuva? Solução: Se está a chover: SIM Se está sol: Não
  • 8.
    22 ABR 15 8 22 ABR 15 8 Controlo: If TI-NSpire VoyageTi-84 If x>0 Then Disp “x é positivo” ElseIf x=0 Then Disp “x é nulo” Else Disp “x é negativo” EndIf If x>0 Then disp ‘x é positivo’ Elseif x=0 Then disp ‘x é nulo’ Else disp ‘x é negativo’ Endif If x>0 Disp “x é positivo” If x=0 Then Disp “x é nulo” Disp “x é zero” Else Disp “x é negativo” End
  • 9.
    22 ABR 15 9 22 ABR 15 9 Controlo: For Situação: Comeceiem 5º numa corrida Acção: Para o corredor de 1 a 4 Apanha-lo Ultrapassá-lo
  • 10.
    22 ABR 15 10 22 ABR 15 10 Controlo: For TI-NSpire VoyageTi-84 For i,1,10,1 2^i → a Disp “&string(a)&” EndFor For i,1,10,1 2^i → a disp ‘’&string(a)&’’ Endfor For(i,1,10,1) 2^i → a Disp a End
  • 11.
    22 ABR 15 11 22 ABR 15 11 Controlo:While Problema: Hoje queroganhar um prémio Solução: Enquanto não ganhar prémio: Comprar uma raspadinha Raspar a raspadinha Ver se ganhei prémio
  • 12.
    22 ABR 15 12 22 ABR 15 12 Controlo:While TI-NSpire Voyage 200TI-84 no_da_sorte := 7 a := randInt (1,100) While no_da_sorte ≠ a a := randInt(1,100) Disp “Tenta novamente” EndWhile Disp i no_da_sorte = 7 a = rand(100) While a≠no_da_sorte: a = rand(100) Disp “Tenta novamente” EndWhile Disp “Precisei de “&string(i)&” tentativas para ganhar” N=7 randInt(100,1)→A While A≠N randInt(100,1)→A Disp “Tenta novamente” End Disp “Precisei de i tentativas para ganhar” Disp i
  • 13.
    22 ABR 15 13 22 ABR 15 13 Controlo: Go ToLabel Saltar entre partes do programa. Situação comum: Após correr uma parcela do programa, voltar ao início (menu geral do programa)
  • 14.
    22 ABR 15 14 22 ABR 15 14 Controlo: Go ToLabel TI - NSpire Voyage 200 TI-84 randInt(1,2)→a If a=1 Then Goto 1 Disp "Cara" Stop Lbl 1 Disp "Coroa" EndIf rand(2)→a If a=1 then Goto Cara elseif a=2 then Goto Coroa EndIf Lbl Cara Disp “Cara” Lbl Coroa Disp “Coroa” randInt(1,2)→A If A=1 Goto 1 Disp “Cara” Stop Lbl 1 Disp “Coroa” End
  • 15.
  • 16.
    22 ABR 15 16 22 ABR 15 161616 Ex 1 -Calcular a Inércia de um perfil retangular Título: Calcular a Inércia de um perfil retangular Input: Pedir as medidas geométricas do perfil b – base (m) h – altura (m) Fazer o cálculo (expressão): (b*h^3)/12 Output: Mandar a Inércia
  • 17.
    22 ABR 15 17 22 ABR 15 171717 Ex 2 -Calcular a Inércia de um perfil triangular Título: Calcular a Inércia de um perfil triangular Input: Pedir as medidas geométricas do perfil b – base (m) h – altura (m) Fazer o cálculo (expressão): (b*h^3)/36 Output: Mandar a Inércia
  • 18.
    22 ABR 15 18 22 ABR 15 181818 Ex 3 -Calcular a Inércia de um perfil circular Título: Calcular a Inércia de um perfil circular Input: Pedir as medidas geométricas do perfil r – raio (m) Fazer o cálculo (expressão): (pi*r^4)/4 Output: Mandar a Inércia
  • 19.
    22 ABR 15 19 22 ABR 15 191919 Ex 4 -Juntar programas Título: Calcular inércia de retângulo, triângulo ou círculo Input: Pedir qual a secção a calcular Segundo o input, ir buscar o programa correspondente Output: Mandar a inércia
  • 20.
    22 ABR 15 20 22 ABR 15 202020 Ex 5 -Cálculo de Médias Título: Calcular a média de 3 notas Input: Pedir 3 notas x1 – 1ª nota x2 – 2ª nota x3 – 3ª nota Condições Se x1,x2,x3 < 20 e x1,x2,x3 > 0 então: Fazer o cálculo da média (M): Se M >= 10,0 então Output: “Aprovado” Se M =< 5,0 então Output: “Reprovado” Se 5,0 < M < 10,0 então Output: “Possibilidade de ir a recurso” Fim Senão Output: “Erro (as notas têm que estar compreendidas entre 0 e 20)” Fim
  • 21.
    22 ABR 15 21 22 ABR 15 212121 Ex 6 -Função Título: Definir função em que calcula a área de um círculo dado o seu diâmetro Definir: area(diam) = (pi*diam^2)/4
  • 22.
    22 ABR 15 22 22 ABR 15 222222 Ex 7 -Fórmula Resolvente Título: Fórmula Resolvente Input i = nº vezes For n=1 to i Input a,b,c Se a=0 Disp “ERRO - ‘a’ nao pode ser 0” Se b^2-4*a*c ≤ 0 então Disp “Sem raizes” Senão (-b + (b^2 - 4*a*c)^0.5)/(2*a) -> x1 (-b - (b^2 - 4*a*c)^0.5)/(2*a) -> x2 Disp “x1 e x2”