Anda di halaman 1dari 4

UFRGS INSTITUTO DE INFORMTICA DEPARTAMENTO DE INFORMTICA APLICADA INF01040 INTRODUO PROGRAMAO Prof. Luciano V.

Flores

Resumo de programao bsica no Matlab


Para escrever um programa:
Inicie o Matlab (pelo cone na rea de trabalho). No menu, selecione File > New... > M-file, ou clique no boto de novo arquivo (cone da folha em branco). Ser aberto o Editor do Matlab. Neste editor, edite o seu cdigo fonte (veja os comandos bsicos do Matlab abaixo). Para executar: Salve o seu programa, de preferncia na prpria pasta "work" que o Matlab sugere (ateno: no use espaos nem acentos no nome do seu arquivo, nem use o mesmo nome de uma varivel do programa). Volte para a janela de comandos do Matlab (a janela principal) e digite o nome do seu programa (sem o ".m"). O seu programa iniciar a execuo no ambiente do Matlab. Sempre que voc voltar janela do Editor e modificar seu programa, no esquea de salvar novamente! O Matlab estar sempre executando a ltima verso do programa que voc salvou.

Comandos bsicos de programao:


Ateno: Os sinais < e > servem para indicar algo que deve ser substitudo no comando. Ao usar o comando, substitua essas indicaes (inclusive os sinais < e >!) pelos elementos descritos entre < e >. Observe os exemplos de uso! EM PSEUDOCDIGO NO MATLAB O QUE FAZ % <comentrio> % no incio de uma linha faz com Exemplo: que essa linha seja ignorada na % Programa para calcular execuo do programa. Serve para % mdias aritmticas. Para incluir comentrios, anotaes, no % finalizar a entrada dos corpo do programa sem interferir na % trmos, digite "0". sua execuo. No Scilab usar // em vez de %. <varivel> = <valor> <varivel> = <valor>; Atribuio de valor a uma varivel. Exemplos: Ateno: a varivel que recebe o soma = 0; valor escreve-se sempre do lado soma = soma + valor_lido; esquerdo! O <valor> qualquer media = soma / 4; coisa que resulte em algum valor: pode ser uma constante (um nmero, direto), um clculo (usando variveis ou no), uma outra varivel (copia o valor para a varivel da esquerda). Ler <varivel> <varivel> = input('<mensagem>'); Entrada de dados (ler do teclado). A (S para variveis Exemplo: <mensagem> escrita na tela e o numricas!) n1 = input('Digite um numero: '); Matlab aguarda a digitao do dado. Aps o "Enter" o Matlab atribui o valor lido <varivel>. No Scilab provoca um aviso ("Warning..."). Ignore. Ler <varivel> <varivel> = input('<mensagem>', 's'); Entrada de dados (ler do teclado). A (Varivel do tipo texto.) Exemplo: <mensagem> escrita na tela e o n1 = input('Digite seu nome: ', Matlab aguarda a digitao do dado. 's'); Com o parmetro 's' o Matlab vai esperar por um dado alfanumrico (um texto ou um caractere). Aps o "Enter" o Matlab atribui o valor lido <varivel>. No Scilab provoca um aviso ("Warning..."). Ignore.

Mostrar <varivel>

disp(<varivel>); Exemplo: disp(soma); Mostrar "<mensagem>" disp('<mensagem>'); Exemplo: disp('Total calculado: '); clc;

Sada de dados (mostrar no monitor). O valor da <varivel> escrito na tela. Mostrar um texto na tela (sada de dados). A <mensagem> escrita na tela. Comando para limpar a tela. til no incio do programa, para comear com a tela em branco antes de escrever qualquer coisa. No funciona no Scilab.

Operaes lgicas com operadores relacionais Exemplo: (n1 == 10) "n1 igual a 10?" = Exemplo: (n1 > 0) "n1 maior que 0?" > Exemplo: (n1 < 0) "n1 menor que 0?" < Exemplo: (n1 >= 1) "n1 maior ou igual a 1?" Exemplo: (n1 <= 100) "n1 menor ou igual a 100?" Exemplo: (n1 ~= 0) "n1 diferente de 0?" Operadores lgicos (<teste>) & (<teste>) E (and) (<teste> uma operao lgica) (<teste>) | (<teste>) OU (or) (<teste> uma operao lgica) ~(<teste>) NO (not) (<teste> uma operao lgica) Operadores aritmticos + Soma. Subtrao. * Multiplicao. / Diviso. 2^5 25 Exponenciao. sqrt(<nmero>) Raiz quadrada de <nmero>. Estruturas de deciso Se <teste> if <teste> <instrues opcionais> end Se o <teste> resultar verdadeiro, ento <instrues Exemplo: ento executar as <instrues if (n1 >= 1) & (n1 <= 10) opcionais> opcionais> (at o end) e seguir disp('Numero entre 1 e 10.'); adiante. Seno, simplesmente end ignorar as <instrues opcionais> e seguir para a prxima instruo no programa (aps o end). Usada para decidir se um conjunto de instrues opcionais deve ser executado ou no, dependendo do valor de algum dado ou de algum resultado que j tenha sido calculado no programa. O <teste> uma operao lgica para testar o valor desse dado ou resultado anterior.

Se <teste> ento <alternativa 1 de instrues> seno <alternativa 2 de instrues>

if <teste> <alternativa 1 de instrues> else Se o <teste> resultar verdadeiro, <alternativa 2 de instrues> end ento executar a <alternativa 1 de Exemplo: instrues> (at o else) e seguir if (n1 < 0) adiante (aps o end). Seno, ignorar disp('Numero negativo.'); a <alternativa 1 de instrues> e else executar a <alternativa 2 de disp('Positivo ou zero.'); instrues>. end Usada para decidir entre duas alternativas de instrues. Um dos dois conjuntos de instrues ser executado e o outro no, dependendo do valor de algum dado ou de algum resultado que j tenha sido calculado no programa. O <teste> uma operao lgica para testar o valor desse dado ou resultado anterior. Estruturas de repetio (ver apostila de Lgica, cap. 7) Para <varivel> = for <varivel> = <valor inicial>:<valor final> A <varivel> inicializada com <valor inicial> at <valor <instrues> end <valor inicial>. Aps cada execuo final> Exemplo (mdia de 50 nmeros): das <instrues> (at o end), soma = 0; repetir <instrues> somado 1 <varivel> e repetem-se for contagem = 1:50 as <instrues>, continuando assim n = input('Proximo num.: '); at que a <varivel> tenha atingido soma = soma + n; o <valor final>. Nesse momento, end param as repeties e o programa media = soma / 50; prossegue aps o end. disp(media); Esta estrutura cria um contador automtico, que vai contando as repeties desde o <valor inicial> at o <valor final>. Deve ser usada quando o nmero de repeties j conhecido antes delas iniciarem. O valor da <varivel> pode ser usado em alguma das <instrues>, mas evite modific-lo! O <valor inicial> e/ou o <valor final> tambm podem ser indicados por variveis. Enquanto <teste> while <teste> <instrues> end Se o <teste> resultar verdadeiro, repetir <instrues> Exemplo (achar o maior de uma seqncia de ento executar as <instrues> (at nmeros terminada por 0): o end) e em seguida fazer o <teste> n = input('Proximo numero: '); novamente. Este ciclo prossegue at omaior = n; que algum <teste> resulte falso. while (n ~= 0) Nesse momento, param as repeties if (n > omaior) e o programa continua aps o end. omaior = n; Assim como nas estruturas de end % do if! deciso, o <teste> uma operao n = input('Proximo num.: '); lgica que aqui determina se end devemos continuar a repetir disp(omaior); (resultado V) ou parar de repetir (resultado F) as <instrues>. Devemos garantir que o dado testado na op. lgica tenha seu valor modificado por alguma das <instrues> repetidas, seno nunca teremos um resultado F no teste e a repetio permanecer num ciclo infinito!

Anda mungkin juga menyukai