Upload
internet
View
148
Download
22
Embed Size (px)
Citation preview
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);