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

37
Tópicos Preliminares Christopher Freire Souza 1

Upload: internet

Post on 18-Apr-2015

145 views

Category:

Documents


22 download

TRANSCRIPT

Page 1: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

Tópicos PreliminaresChristopher Freire Souza

1

Page 2: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 3: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 4: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 5: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 6: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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)

Page 7: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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;

Page 8: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

Tipos de Variáveis

8

Variáveis Estáticas (Constantes)

Variáveis Dinâmicas

Page 9: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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....

Page 10: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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}

Page 11: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

Constante Lógica

11

É um valor lógicoverdadeiro ou falso

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

Page 12: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 13: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 14: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

Operações entre variáveis

Operações aritméticas

Operações relacionais

Operações lógicas

14

Page 15: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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)

Page 16: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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.

Page 17: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 18: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 19: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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!

Page 20: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 21: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 22: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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.

Page 23: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 24: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 25: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 26: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

Qual a diferença entre?

Operações Aritméticos

Operações Relacionais

Operações Lógicas

26

Page 27: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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;

Page 28: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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);

Page 29: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 30: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 31: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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)

Page 32: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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);

Page 33: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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);

Page 34: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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

Page 35: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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);

Page 36: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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);

Page 37: Christopher Freire Souza 1. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões

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);