• Nenhum resultado encontrado

FísicaComputacional3

N/A
N/A
Protected

Academic year: 2021

Share "FísicaComputacional3"

Copied!
38
0
0

Texto

(1)

Física Computacional

2011-2

I N T R O D U Ç Ã O À L Ó G I C A D E P R O G R A M A Ç Ã O P R O F . L U Í S F E R N A N D O D E O L I V E I R A

UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO INSTITUTO DE FÍSICA ARMANDO DIAS TAVARES

(2)

Elementos de Informação

 Um algoritmo é uma sequência de ações dispostas

numa lógica tal que ao final da aplicação do

algoritmo, a solução do problema é encontrada.

 Por vezes, um algoritmo precisa manipular

informações.

 Por exemplo, no algoritmo da troca de lâmpadas, o

estado da lâmpada é uma informação.

(3)

Elementos de Informação

 Ao dizermos “a lâmpada está boa” ou “a lâmpada não

acende”, estamos elaborando uma informação.

 “boa”, “ruim”, “acende”, “não acende” não significam

nada isoladamente, mas, combinados aos termos

“lâmpada é” ou “lâmpada está”, se tornam

significantes.

 Na computação, os termos “boa”, “ruim”, “acende”,

“não acende” são valores constantes.

(4)

Elementos de Informação

 O estado da lâmpada testada poderia ser identificado

pelo signo (significante, símbolo) estado.

 Então, quando escrevemos no algoritmo a expressão

estado  “boa”, estamos informando algo

significante, ou seja, construindo uma informação, dizendo que o estado da lâmpada é boa.

 O signo estado pode assumir qualquer uma das

possibilidades (“boa”, “ruim”, “acende”, “não

acende”)

(5)

Elementos de Informação

 Então, o signo estado é uma variável que pode

assumir diferentes valores constantes.

 estado  “boa” ou estado  “ruim”

 estado  “acende” ou estado  “não acende”

 Quando o conteúdo de um signo não varia (não

muda), o signo é dito ser um dado constante ou simplesmente uma constante.

 Por exemplo, o signo pi cujo conteúdo seja o valor do

número  é uma constante.

(6)

Elementos de Informação

 Neste sentido, não faz sentido o conteúdo de pi

mudar ao longo de um algoritmo.

 Por exemplo, no cálculo do perímetro de um círculo,

poderíamos usar a constante pi e duas variáveis:

perímetro e raio.

 pi  3,1415927

 perímetro  2*pi*raio

(7)

Elementos de Informação

 Vale observar a regra que estamos usando para a

atribuição de um valor a uma variável ou um dado constante (o uso do símbolo ).

 Quando atribuímos um valor constante a uma

variável ou a uma constante, dizemos que estamos

inicializando a variável ou a constante.

 Ao inicializarmos uma constante, o conteúdo da

constante não pode mais mudar.

(8)

Elementos de Informação

 Ao inicializarmos uma variável, garantimos

condições iniciais dentro de uma lógica e admitimos que seu conteúdo seja alterado.

 Resumindo:

 Uma constante é um elemento de informação cujo valor, uma vez definido através da operação de atribuição, não pode mais ser alterado.

 Uma variável é um elemento de informação cujo valor inicial, definido através da operação de atribuição, pode ser alterado ao longo do algoritmo, segundo uma lógica.

(9)

Elementos de Informação

 Toda informação deve ter uma natureza, isto é, ser

uma informação numérica, uma informação literal

ou uma informação lógica.

 Uma informação numérica corresponde aos valores

numéricos (números) que podem ser inteiros, reais ou complexos.

 Uma informação literal corresponde a uma

sequência de caracteres (chamada de string).

(10)

Elementos de Informação

 Uma informação lógica corresponde aos valores de

um conjunto binário formado pelos valores lógicos constantes FALSO e VERDADEIRO.

 No algoritmo, toda constante e toda variável deve ser

declarada e a declaração deve discriminar a natureza do conteúdo que será atribuído a elas. Exemplo:

 declare pi numérico constante  declare perímetro numérico  declare raio numérico

 declare estado literal

(11)

Elementos de Informação

 Uma vez definida a natureza (o tipo) da constante ou

da variável, estas não poderão conter valores diferentes do tipo definido, ou seja

 uma constante numérica e uma variável numérica só podem

armazenar valores numéricos.

 uma constante literal e uma variável literal só podem

armazenar valores literais.

 uma constante lógica e uma variável lógica só podem

armazenar valores lógicos.

(12)

Elementos de Informação

 As constantes e as variáveis devem sempre ser

identificadas por um rótulo, um nome, uma

identidade, que as diferenciarão de outras constantes e variáveis.

 Por exemplo, pi é o nome da constante numérica (o

rótulo, o identificador) que receberá o valor . Raio e

perímetro são identificadores das variáveis que

receberão os valores do raio da circunferência e o perímetro calculado respectivamente.

(13)

Elementos de Informação

 Existe uma regra para a formação dos identificadores

de constantes e variáveis.

 Um identificador sempre começa com uma letra

(maiúsculo ou minúsculo) seguida de outras letras

ou números ou uma mistura de ambos.

13

identificador letra

letra número

(14)

Elementos de Informação

 Exemplo: raio, x5, Estado, a15b20, XYZ.

 O padrão que será adotado em FisComp para a

declaração de variáveis e constantes seguirá a seguinte formatação:

 A palavra chave “declare” sublinhado  O identificador

 O tipo da informação sublinhado (numérico, literal ou lógico)  O classificador de “constante” sublinhado (se for o caso)

 E, sendo uma constante, o valor deverá vir entre parênteses

(15)

Elementos de Informação

 Exemplo:

 declare raio numérico  declare estado lógico

 declare pi numérico constante (3,1415927)  declare extensão literal constante (“.txt”)  declare gravidade numérico constante (9,78)

15

declaração de variáveis e constantes

declare identificador tipo

constante (valor) ,

(16)

Expressões Aritméticas

 A manipulação das informações numéricas

(constantes e variáveis) se dá através de expressões aritméticas.

 O resultado de uma expressão aritmética é um

número.

 Essas expressões aritméticas se caracterizam por

utilizarem operadores aritméticos, tais como soma,

subtração, multiplicação, divisão e potenciação.

(17)

Expressões Aritméticas

 Cada um deste operadores é identificado pelos

símbolos:  Soma: „+‟  Subtração: „-‟  Multiplicação: „*‟  Divisão: „/‟  Potenciação: „**‟ 17

(18)

Expressões Aritméticas

 Numa expressão que misture vários operadores, os

operandos devem ser tratados segundo uma ordem

de precedência (importância, prioridade):

1. Potenciação (maior prioridade) 2. Multiplicação e Divisão

3. Soma e Subtração (menor prioridade)

 Assim como na matemática, o uso de parênteses

altera a ordem de precedência, impondo que os termos entre parênteses sejam tratados antes.

(19)

Expressões Aritméticas

 Agora, diferente da matemática, em um algoritmo,

não se usa colchetes „[ ]‟ nem chaves „{ }‟.

 Estes são substituídos por outros parênteses. Por

exemplo:

 z  a*((x+b*y)+((x+y)*(x-y)))**c

 A expressão matemática equivalente seria:

 z = a{(x+by)+[(x+y)(x-y)]}c

(20)

Expressões Aritméticas

 Então, a ordem de precedência dos operadores

aritméticos será:

1. Parênteses (maior prioridade) 2. Potenciação

3. Multiplicação e Divisão

4. Soma e Subtração (menor prioridade)

 Quando a expressão aritmética envolve operadores

de mesma precedência, a regra é operá-los da esquerda para a direita.

(21)

Expressões Relacionais

 Os operadores relacionais testam, como o nome diz,

a relação entre os operandos em termos de: “igual a”, “diferente de”, “maior que”, “maior ou igual a”,

“menor que”, “menor ou igual a”.

 Os símbolos dos operadores relacionais são:

 Igualdade: „=‟  Diferença: „≠‟

 Maior e Maior ou igual: „>‟ e „≥‟  Menor e Menor ou igual: „<‟ e „≤‟

(22)

Expressões Relacionais

 Alguns exemplos:  resultado de „5>4‟: VERDADEIRO  resultado de „5>5‟: FALSO  resultado de „5≥5‟: VERDADEIRO  resultado de „5≤5‟: VERDADEIRO  resultado de „5<4‟: FALSO  resultado de „4=5‟: FALSO  resultado de „4≠5‟: VERDADEIRO 22

(23)

Expressões Relacionais

 Os operandos das expressões relacionais podem ser

expressões aritméticas:

 resultado de „2+2=4‟: VERDADEIRO

 resultado de „2**2≠-8/2‟: VERDADEIRO  resultado de „3*(5-2)<(14/(5+2))*3‟: FALSO

 Os operadores relacionais também podem ser

aplicados aos dados literais segundo um conjunto de regras estabelecido como senso comum.

(24)

Expressões Relacionais

 Ao se comparar dois dados literais, se todos os

caracteres que compõem ambos os dados são idênticos, seguem a mesma ordem e possuem o

mesmo número de caracteres, então os dados literais são ditos serem “iguais”.

 Exemplo:

 resultado de “asdf”=“asdf”: VERDADEIRO  resultado de “asdf”=“afds”: FALSO

 resultado de “asdf”=“asd”: FALSO  resultado de “asdf”=“Asdf”: FALSO

(25)

Expressões Relacionais

 Qualquer caso diferente disso, os dados literais são

considerados diferentes entre si.

 Sendo diferentes, os dados literais ainda podem ser

comparados segundo o senso de “maior” e “menor”.

 Quando se compara dois caracteres diferentes, o

sentido de maior ou menor depende dos índices

correspondentes dos mesmos caracteres na tabela de caracteres (por exemplo, ASCII).

(26)

Expressões Relacionais

(27)

Expressões Relacionais

 Então, por exemplo, se comparamos os caracteres

“a” e “b”, diremos que “a” é menor que “b” pois o índice do caractere “a” é menor que o índice do caractere “b”.

 Um raciocínio simples é a localização dos caracteres

dentro do alfabeto.

 Como o “a” vem antes do “b”, então dizemos que “a”

é “menor” que “b”.

(28)

Expressões Relacionais

 Mas, ao compararmos o caractere “a” com o

caractere “A”, este último raciocínio falha.

 Então, o melhor mesmo é verificar o índice de cada

caractere, inclusive os caracteres numéricos e os

especiais, para saber quando um caractere vem antes do outro.

(29)

Expressões Relacionais

 E se dois dados literais seguem uma mesma

sequência inicial e diferem a partir de um

determinado ponto, o resultado da comparação

dependerá da comparação destes dois caracteres que diferem.

 Por exemplo, “abcd” e “abce”. Do “a” até o “c”, ambas

as sequências são idênticas. Diferem no quarto

caractere (“d” na primeira e “e” na segunda). Como “d” vem antes de “e”, o resultado seria que o primeiro dado é menor que o segundo.

(30)

Expressões Relacionais

 Resumindo, a comparação entre dados literais segue

a comparação dos índices de cada caractere numa tabela de caracteres adotada.

 Exemplos:  “a”>”b”: FALSO  “b”>”a”: VERDADEIRO  “A”≤“A”: VERDADEIRO  “A”<“a”: VERDADEIRO  “porteiro”<“porteira”: FALSO  “trabalhador”<“trabalhadora”: VERDADEIRO 30

(31)

Expressões Lógicas

 As expressões lógicas são expressões que combinam

resultados lógicos, ou seja, FALSO ou

VERDADEIRO.

 Estas expressões lógicas se caracterizam pelo uso de

operadores lógicos que são: e (conjunção), ou

(disjunção) e não (negação).

 Este operadores devem ser sublinhados para

diferenciá-los de outros elementos do algoritmo.

(32)

Expressões Lógicas

 A combinação dos operandos lógicos segundo um

operador lógico gera uma tabela de possibilidades chamada de tabela verdade.

 Considerando A e B variáveis lógicas:

32 A B A e B F F F F V F V F F V V V A B A ou B F F F F V V V F V V V V A não A F V V F

(33)

Expressões Lógicas

 Como o resultado de uma expressão relacional é um

valor lógico, diferentes resultados lógicos podem ser combinados com os operadores lógicos gerando

expressões lógicas.

 Por exemplo:

 (5>2) e (0,5>0) gera (V) e (V) cujo resultado é VERDADEIRO.  (“A”>“B”) ou (4<6) gera (F) ou (V) que gera VERDADEIRO.

(34)

Comandos (Ações)

 Além dos operadores e das expressões, todo

algoritmo utiliza comandos que efetivamente executam parte da solução lógica elaborada.

 Os comandos mais comuns são: de atribuição (que já

foi comentado), de leitura e de escrita.

 O comando de atribuição utiliza o operador de

atribuição () e copia o resultado gerado no termo da direita do operador no termo da esquerda.

(35)

Comandos (Ações)

 Se o termo a direita do operador de atribuição é uma

expressão aritmética, relacional ou lógica, é

necessário que a expressão seja resolvida antes da execução do comando de atribuição.

 O tipo da variável que recebe o resultado deve ser

coerente com o tipo do resultado.

 Por exemplo:

 a(“a”>”b”) e (5>2) equivale a a(F) e (V) que gera a(F).  x  5*y-z**3

(36)

Comandos (Ações)

 Os comandos de leitura e escrita permitem que as

variáveis declaradas no algoritmo recebam valores definidos fora do contexto do algoritmo.

 O comando de leitura usa a palavra ler que deve ser

sublinhada, por exemplo: ler x.

 O comando de escrita usa a palavra escrever que

também deve ser sublinhada: escrever “olá”.

(37)

Comandos (Ações)

 Os comandos de leitura e escrita podem tratar várias

variáveis simultaneamente, por exemplo:

 ler x, y, z

 escrever “Hoje são”, dia, “/”, mês, “/”, ano

 Os elementos da lista de variáveis são separados por

vírgulas.

 Não há restrição para o caso de se mandar escrever

algo que precise ser processado ainda.

(38)

Comandos (Ações)

 Por exemplo:

 declare a numérico  ler a

 escrever a**2

 Deve ser óbvio que, antes do comando escrever ser

executado, devemos calcular a**2 a partir do valor de

a fornecido no comando ler.

Referências

Documentos relacionados

O comportamento alimentar (CA) foi avaliado por uma escala Children’s Eating Atti- tude Test (ChEAT) – Maloney et al., 1998, versão para crianc¸ as e adolescentes adaptada do

Os substratos que demonstraram maiores IVG foram vermiculita e papel filtro, sendo que a vermiculita também propiciou maior porcentagem de germinação, indicando que esse substrato

Assim, dar aos pais a possibilidade de visitarem a sala de actividades/sala de aula dos seus filhos, utilizarem conjuntamente com eles o computador na realização de

A pesquisa pode ser caracterizada como exploratória e experimental em uma primeira etapa (estudo piloto), na qual foram geradas hipóteses e um conjunto de observáveis, variáveis

Veículos do casal Rogério Onofre e Dayse foram registrados em nome Cláudio Freitas; Houve várias trocas de mensagens suspeitas, tendo elas sido codificadas com nomes

No final, os EUA viram a maioria das questões que tinham de ser resolvidas no sentido da criação de um tribunal que lhe fosse aceitável serem estabelecidas em sentido oposto, pelo

Para analisar as Componentes de Gestão foram utilizadas questões referentes à forma como o visitante considera as condições da ilha no momento da realização do

Para tanto, a composição de silício orgânico, sulfato de glucosamina e MSM foi utilizada em teste de histocompatibilidade e aplicada em defeitos ósseos