Você está na página 1de 18

MAPPLE 5 COMANDOS II

Profa. Maristela Regina Weinfurter Teixeira

COMANDOS DE SELEO
Profa. Maristela Regina Weinfurter Teixeira

MAPPLE 5 - COMANDOS
COMANDO DE ATRIBUIO
restart; x:=123.456;

COMANDO IF
FORMA GERAL: do if: if <expr> then <seq-comandos> elif <expr> then <seq-comandos> elif <expr> then <seq-comandos> ... else <seq-comandos> fi

MAPPLE 5 - COMANDOS
COMANDO IF
i:=20: if i<10 then i elif i>3 then i+10 else i+20 fi; if i>40 then 40 elif i mod 2 = 1 then i:=7; se i for mpar else i:=i*4+1; fi;

COMANDOS DE REPETIO
Profa. Maristela Regina Weinfurter Teixeira

MAPPLE 5 - COMANDOS COMANDO while


j:=-1: while j<=4 do j:=j+2; j od;

MAPPLE 5 - COMANDOS COMANDO for-while

for j in [3,12,-1] do j od;

MAPPLE 5 - COMANDOS COMANDO for-while


for j in [3,12,-1,11] while j<>-1 do j od;

MAPPLE 5 - COMANDOS COMANDO for-do


for j from -1 by 2 to 5 do j od;

MAPPLE 5 - COMANDOS COMANDOS break e next


Comando break dentro de lao provoca sada da execuo do lao. Comando next dentro de lao provoca "pulo" da execuo do lao para prxima iterao.

MAPPLE 5 - COMANDOS
Problema 1: criar uma seqncia de nmeros e achar o seu mnimo
u:=rand(-10..20)/2.0; define a funo u() p/ gerar nmero em -10/2.0..20/2.0 k:=[seq(u(),j=1..5)]; cria uma seqncia na lista k minimo:=20/2.0: mnimo temporrio for j in k do if j>=minimo then next else minimo:=j fi note next nesta linha od; minimo; valor do mnimo

MAPPLE 5 - COMANDOS
COMANDO printf
printf(`%d %c \n`,2001,'X'); %d de Decimal, %c de Caractere 2001 X printf(`%g %g %g\n`,123,123/456,123456789); %g de Geral. Note que / diviso em real 123 .269737 1.234568e+08 x := 23;y := -x^2/x+0.123456; printf(`x ao quadrado = %d, y = %f y = %6.2f \n`,x^2,y,y); x ao quadrado = 529, y = -22.876544 y = -22.88

MAPPLE 5 - COMANDOS
PROCEDIMENTOS ou FUNES e VARIVEIS LOCAIS
Como definir procedures ou procedimentos
Procedimentos so muito teis para estender a capacidade computacional do Maple. A grosso modo, uma definio de procedure uma expresso vlida qual podemos associar um nome. O comando a seguir atribui o nome ao procedimento definido pelo usurio. Ele soma os seus dois argumentos, e .

f := proc( x, y ) x + y; end; Para calcular com os argumentos 3 e 5. f( 3, 5 );

MAPPLE 5 - COMANDOS
PROCEDIMENTOS ou FUNES e VARIVEIS LOCAIS
Podemos calcular com argumentos simblicos. f( gato, rato ); ImparPar:=proc(n) declarao da funo ImparPar entrada: n; sada: 1 se n mpar, ou 0 se n par if( n mod 2=0 ) then RETURN (0) note o = 0 para comparar com zero else RETURN(1) fi; end; fim de ImparPar Agora uso a funo: for k from 1 to 5 do ImparPar(k) od;

MAPPLE 5 - COMANDOS
Varivel local existe s durante a execuo do procedimento dentro do qual foi declarada. A seguir o procedimento que calcula os polinmios de Chebyshev de grau 0 at > Chebyshev := proc( n ) local p, k; p[0] := 1; p[1] := x; if n<=1 then RETURN(eval(p)) fi; for k from 2 to n do p[k] := expand( 2*x*p[k-1] - p[k-2] ) od; RETURN(eval(p)) end;

Usando a funo podemos calcular os primeiros 5 polinmios de Chebyshev. > x:='x';; tab := Chebyshev(5); > eval(tab); > lis:=entries(tab); contri lista com os elementos da tabela > lis[4];

MAPPLE 5 - COMANDOS
Exemplos de nmeros primos e nmeros aleatrios com rand() Exemplo com nmero primo. > ithprime(10); # dcimo primo > p:=29; > while p>2 do p:=prevprime(p) od;

MAPPLE 5 - COMANDOS
Nmeros aleatrios com rand() > u:=rand(1..2); # ou 1 ou 2 sorteado > s:=[seq(u(),j=1..6)]; > conta:=0: > for j in s do if j=2 then conta:=conta+1 fi od; > conta;

MAPPLE 5 - COMANDOS
Nmeros aleatrios com rand() > u:=rand(1..2); # ou 1 ou 2 sorteado > s:=[seq(u(),j=1..6)]; > conta:=0: > for j in s do if j=2 then conta:=conta+1 fi od; > conta;

Você também pode gostar