christopher freire souza 1. tópicos preliminares tipos primitivos comando de atribuição...

Post on 18-Apr-2015

145 Views

Category:

Documents

22 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Tópicos PreliminaresChristopher Freire Souza

1

Programa

• Tópicos Preliminares• Tipos Primitivos• Comando de Atribuição• Variáveis Estáticas (Constantes)• Variáveis Dinâmicas• Expressões Aritméticas• Expressões Relacionais• Expressões Literais• Comandos de Entrada, Saída e Ajuda• Blocos (Scripts)

2

Tipos de Informação (Tipos Primitivos)

• São os tipos básicos de informação usados para armazenar os dados utilizados pelo programa computacional.

• Inteiro – Informação numérica que pertença ao conjunto dos números inteiros relativos (negativa, nula ou positiva)

• Real – Informação numérica que pertença ao conjunto dos números reais (negativa, nula ou positiva)

• Caracter – Informação composta por um conjunto de caracteres alfanuméricos: numéricos (0...9), alfabéticos (A...Z, a...z) e especiais (por exemplo. #, ?, @, &)

• Lógico – informação que pode assumir apenas duas situações (verdadeiro ou falso), (aceso ou apagado), (aberto ou fechado)

3

Comando de Atribuição

• Um comando de atribuição nos permite fornecer um valor a uma variável, em que o tipo de informação deve ser compatível com o tipo de variável.

4

A uma variável, associa-se um nome serve como referência ao dado armazenado

O conteúdo de uma variável pode ser numérico (inteiro e real), caractere, lógico, e

outros

Variáveis

• Na maioria das linguagens de programação, as variáveis precisam ser explicitamente declaradas. Na declaração de uma variável.

• O seu tipo e seu nome devem ser obrigatoriamente especificados.• Reserva-se um espaço na memória para armazenar um dado tipo de

informação e associa-se o nome da variável a este espaço

5

Exemplo – Declaração de variáveis

inteiro: a;real: x;caracter: s;logico: l;

a = 5;x = 8.34;s = ‘c’;l = VERDADEIRO;

Exemplo - Declaração de variáveis

real: x;caracter: s;logico: l;

x = 8.34;s = ‘c’;l = VERDADEIRO;x = ‘Clayton’s = FALSO

Variáveis

• Deve-se observar que na linguagem MATLAB:• Não é necessário declarar previamente as variáveis• A declaração de variáveis é feita implicitamente quando a

variável está sendo usada pela primeira vez no programa computacional.

• Não existe uma ≠ entre números inteiros e reais• tratados de uma mesma forma: variáveis numéricas

6

Exemplo – Variáveis no MATLAB

a = 5; % variável numéricab = 8.35; % variável numéricas = ‘c’; % caracterel = 1; % variável lógicav = ‘casa’; % seqüência de caracteres (string)

Variáveis

• As seguintes regras básicas devem ser atendidas no uso de variáveis no MATLAB.

• Palavra única (sem espaços);• Maiúscula Minúscula;• Tamanho máximo = 31 caracteres;• Nome deve ser iniciado com letra;• Palavras-chaves (reservadas da linguagem) não podem

ser usadas.

7

Exemplo – Número como Caractere

>> A = ‘1’; % caractere>> B = 1; % valor numérico 1

% A e B são diferentes>> function = 10;

Tipos de Variáveis

8

Variáveis Estáticas (Constantes)

Variáveis Dinâmicas

Variáveis Estáticas (Constantes)

9

• Não sofrem alterações no decorrer do tempo• seu valor é o mesmo do início ao final da execução do

programa• Uma constante pode ser

• número• valor lógico• seqüência de caracteres quaisquer

• com algum significado para o problema em estudo.

• Numérica, lógica ou literal

• Pi = 3.1415926535897....

Constante Numérica

10

Sistema decimal número com parte fracionária ou não.

Ex.: 25

3.14

7.8E3 {7.8 x 103}

2.5E-3 {2.5 x 10-3}

Constante Lógica

11

É um valor lógicoverdadeiro ou falso

Usado em proposições lógicas será visto mais adiante

Constante Literal

12

Ex.:‘Seu nome’‘12345678’‘@A%b*’‘05/03/2009’

Pode ser qualquer seqüência de caracteres com algum significado para o problema Letras, dígitos, símbolos especiais

Variáveis Dinâmicas

Uma variável é classificada como dinâmica quando tem a possibilidade de ser alterada em algum instante no decorrer da execução do algoritmo em que é utilizado

13

Operações entre variáveis

Operações aritméticas

Operações relacionais

Operações lógicas

14

Operadores Aritméticos

Conjunto de símbolos que representam as operações básicas da matemática. Os tipos básicos usados no MATLAB são:

Além destes, existem outros importantes operadores que podem ser usados na elaboração de programas computacionais.

15

Soma +Subtração -

Multiplicação *Divisão /

Potenciação ^Resto de divisão mod(x,y)

Radiciação sqrt(x)

16

Observação 01:

Não é permitido omitir o operador de multiplicação

Ex.: AB+C

AB é o nome de uma variável?ou é a multiplicação entre os conteúdos de duas variáveis?

Observação 02:

Por uma questão de uniformidade, na elaboração de algoritmos, não é permitido o uso de outros símbolos para as operações acima, a exemplo de “” e “÷” para multiplicação e divisão, respectivamente.

Prioridades dos Operadores Aritméticos

Existe uma ordem que define a precedência (hierarquia) entre os operadores aritméticos, como pode ser visto na tabela abaixo:

17

Parênteses mais internos^, sqrt*, /, mod+, -

Exemplo:

5 + 9 + 7 + 8/45 + 9 + 7 + 223

Exemplo:

1 + 5 + (2 + 3) * 41 + 5 + 5 * 41 + 5 + 2026

Operadores Relacionais

Os operadores relacionais são usados para comparar valores de variáveis do mesmo tipo.

O resultado produzido por um operador relacional é um (1) ou zero (0).

No MATLAB, não existe explicitamente o operador lógico VERDADEIRO ou FALSO. Se o resultado de uma comparação for falso, produz o valor zero. Caso contrário, produz o valor um.

18

Operadores Relacionais

Os operadores relacionais do MATLAB são:

19

< Menor que<= Menor ou igual a> Maior que

>= Maior ou igual a== Igual a~= Diferente de

Cuidado!

Operadores e Expressões Relacionais

Exemplos:

As expressões relacionais são aquelas cujos operadores são relacionais e cujos operandos são relações, variáveis ou constantes do tipo lógico.

20

Exemplo:

2 * 4 == 24 / 38 == 8

1

Exemplo:

>> vf = (4*5+3) + 4 == 20/4 + 15;>> vf

vf = 0

Exemplo:

A = 3;B = 2; (A + B) > 3 Expressão Relacional

Operadores Lógicos

A Álgebra das Proposições define três conectivos usados na formação de novas proposições a partir de outras já conhecidas.

Estes conectivos são os operadores lógicos utilizados na formação de proposições lógicas compostas. No MATLAB, tais operadores são representados pelos seguintes comandos: 21

& e Conjunção| ou Disjunção~ não Negação

Operadores Lógicos

22

A conjunção (&) de duas proposições é verdadeira se e somente se ambas as proposições são verdadeiras.

A disjunção (|) de duas proposições é verdadeira se e somente se, pelo menos uma delas for verdadeira.

Dada uma proposição p qualquer, uma outra proposição, chamada negação (~) de p, pode ser formada escrevendo-se “É falso que” antes de p ou, se possível, inserindo a palavra “não” em p.

Tabelas-Verdade

Negação ~

Conjunção &

Disjunção Não-Exclusiva |

23

A Não AFalso Verdadeiro

Verdadeiro Falso

A B A & BF F FF V FV F FV V V

A B A ou BF F FF V VV F VV V V

Expressões Lógicas

24

É possível ter mais de um operador lógico na mesma expressão.

Em alguns casos, conforme os valores envolvidos, a ordem em que são efetuadas as operações lógicas afeta o resultado final.

Assim, igualmente ao que acontece nas expressões aritméticas, também existe uma relação de prioridade entre os operadores lógicos.

Parênteses mais internos~&|

Cuidado:Prioridade maior que soma, subtração, multiplicação, divisão, resto e operações relacionaisTeste: ~2^0

Expressões Lógicas

As expressões lógicas são aquelas cujos operadores são lógicos ou relacionais e cujos operandos são relações, variáveis ou constantes do tipo lógico.

25

Exemplo:

2 < 5 & 15/3 == 5v & v

v

2 < 5 | 15/3 == 5v | v

v

2 < 5 | (~(15/3==5))v | (~v)

v | fv

Qual a diferença entre?

Operações Aritméticos

Operações Relacionais

Operações Lógicas

26

Substituição via Comando de Atribuição

Um comando de atribuição pode apagar um valor de uma variável e substituí-lo por um novo, quando uma mesma referência (nome) da variável é aplicada antes e após o igual.

Para evitar perder informação quando da troca de valores de duas variáveis, uma terceira variável se faz necessária.

27

Exemplo – Substituição de variáveis

b=3;b=b+4;

Exemplo – Troca de informação entre variáveisa=2;b=3;aux=a;a=b;b=aux;

Comandos de Entrada, Saída e Ajuda

Os algoritmos podem ser “alimentados” com dados para realizar operações e cálculos necessários para alcançar o seu objetivo. Ao final do algoritmo, o resultado deve ser informado ao usuário.É possível, também, obter ajuda sobre a função de um algoritmo, apresentando um cabeçalho que explique o objetivo do algoritmo antes do algoritmo em si.

28

Exemplo:% Este programa soma dois números fornecidos pelo usuárioV1 = input(‘Entre com o primeiro valor: ’);V2 = input(‘Entre com o segundo valor: ’);V = V1+V2;fprintf(‘A soma é: ’);disp(V);

Comando de Saída ‘fprintf’ O comando ‘fprintf’, diferentemente do

comando ‘disp’ possibilita mostrar texto e dados na tela possibilita imprimir dados em um arquivo Possibilita formatar a saída dos dados

A utilização do comando ‘fprintf’ para mostrar texto tem a seguinte forma:

fprintf (‘texto’)

29

Comando de Saída ‘fprintf’

O comando ‘fprintf’ não inicia uma nova linha.

Outros comandos podem ser utilizados no comando ‘fprintf’: \n começa uma nova linha; \b Backspace; \t tabulação horizontal

30

Comando de Saída ‘fprintf’ A utilização do comando ‘fprintf’ pode ser

feita para mostrar uma mistura de texto e dados numéricos.

Isso acontece, por ex., da seguinte forma:fprintf(‘texto % 5.2f texto adicional’, nome da

variável); onde o símbolo ‘%’ marca onde o número entra

no texto; ‘5.2f’ é a formatação da variável

31

Espaço reservado para variável(5 casas)

Espaço reservado para casas decimais(2 casas)

Tipo de dado(valor da variável – número real)

Comando de Saída ‘fprintf’ Outras opções de formato de dados são:

e: notação exponencial com letra minúscula E: notação exponencial com letra maiúscula f: notação com ponto fixo i: inteiro s: caractere

32

Exemplo:% Este programa soma dois números fornecidos pelo usuárioP1 = input(‘Entre com a nota da prova escrita: ’);P2 = input(‘Entre com a nota da prova prática: ’);AB = (P1+P2)/2;fprintf(‘\nR: média = %6.2f\n’, AB);

Comando de Saída ‘fprintf’O comando ‘fprintf’ permite inserir

mais de uma variável dentro do texto:

fprintf(‘texto %...%...’, variável1,variável2);

33

Exemplo:% Este programa soma dois números fornecidos pelo usuárioP1 = input(‘Entre com a nota da prova escrita: ’);P2 = input(‘Entre com a nota da prova prática: ’);AB = (P1+P2)/2;fprintf(‘\n Prova escrita: %5.2f \n Prova prática: %5.2f \n média = %6.2f\n’, P1, P2, AB);

Scripts

Seqüencia de comandos descritos no M-Editor

Acesso direto a variáveis no Workspace

Comandos-chave quando da execução de scripts: clear clc

Scripts podem ter dentre suas ações a execução de outros scripts 34

Scripts

35

Exemplo: Calcular a média aritmética de quatro notas semestrais quaisquer fornecidas por um aluno.

Neste exemplo, deve-se observar que o fluxo de execução é de cima para baixo.

N1 = input(‘Entre com a nota 1: ’);N2 = input(‘Entre com a nota 2: ’);N3 = input(‘Entre com a nota 3: ’);N4 = input(‘Entre com a nota 4: ’);

MA = (N1+N2+N3+N4)/4;

disp(‘A media e: ’);disp(MA);

Exercício

1 – Calcular a média aritmética de duas notas bimestrais quaisquer fornecidas por um aluno.2 – Refaça o programa, supondo que cada nota é composta por duas provas (uma escrita e uma didática).3 – Refaça o programa considerando um ponderador (peso) para as provas didáticas, a ser inserido pelo usuário.

36

Resolução

N1 = input(‘Entre com a nota 1: ’);N2 = input(‘Entre com a nota 2: ’);

MA = (N1+N2)/2;

disp(‘A media e: ’);disp(MA);

Exercício

4 – Elabore um programa que inverta a ordem dos algarismos de um número natural inferior a 1000. Exemplo: 009 → 900

37

Resolução

disp ('Este programa inverte a ordem dos algarismos de um número natural inferior a 1000.')disp ('Exemplo: 123 passa a 321')num=input('Insira número a ser invertido e pressione "Enter": ');unid=mod(num,10);deze=(mod(num,100)-mod(num,10))/10;cente=(num-mod(num,100))/100;numinv=unid*100+deze*10+cente;disp ('O número invertido é: ');disp (numinv);

top related