A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Manipulação de informação

Apresentações semelhantes


Apresentação em tema: "Manipulação de informação"— Transcrição da apresentação:

1 Manipulação de informação
Algoritmos computacionais

2 Sumário Algoritmos não computacionais Algoritmos computacionais
Computador simplificado Linguagem assembler Programas em assembler Bases de Numeração Números binários Programas em linguagem máquina Linguagem estruturada Variáveis Operadores aritméticos Leitura e escrita Funções

3 Algoritmos não computacionais

4 Algoritmos não computacionais
Missionários e canibais Algoritmo Escrito numa folha de papel A4 A5 Duas folhas Letra manuscrita Possivelmente ilegível Intruções Numeradas Com marcas Com desenhos Intruções ambíguas Vai para A Rema para A Navega para A Atravessa o rio Executor Aluno Inteligente Problema Resolvido

5 Componentes dos algoritmos
Dados Nº de missionários no lado A Nº de missionários no lado B Nº de canibais no lado A Nº de canibais no lado B Posição do Barco Situação inicial (0,0,0) / (3,3,1) Situação final (3,3,1) / (0,0,0) Instruções Embarcar Missionário Canibal Desembarcar Atravessar o rio (1,1,1) / (2,2,0) (1,0,0) / (3,2,1) As instruções manipulam os dados

6 Algoritmos não computacionais
Formato ambíguo Instruções ambíguas Definição das instruções disponíveis Escritos em linguagem natural Passível de várias interpretações Executado por pessoas Entendem a linguagem natural Inteligentes e conseguem resolver ambiguidades Estão inseridas no contexto do problema Conseguem adivinhar passos intermédios

7 Algoritmos computacionais
Programação do computador SIMPLEX

8 Computador Simplex

9 Computador Simplificado
Memória Endereço Local físico da memória Conteúdo Intruções Mov Cop Dados 10 20 Vazias Processador sequencial Executa uma instrução Passa para a instrução seguinte

10 Intruções do processador
Acções do computador SIMPLEX Manipular dados Ler Atribuir Copiar Imprimir Executar instruções Fazer operações aritméticas Somar , Subtrair, Multiplicar, dividir Fazer operações lógicas > , = , < Escolha entre várias instruções. SE Repetir um conjunto de instruções Saltar Definir a sintaxe da linguagem

11 Sintaxe da linguagem (assemblex)
Nº Mnemômica Descrição 1 LER Ei Ler a entrada para Ei LER c0 2 COP Ei Ej Copiar conteúdo de Ei para Ej COP C0 C2 3 ATR Ei Val Atribuir a Ei o valor Val ATR C2 3.14 4 IMP Ei Imprimir Ei IMP C0 5 SOM Ei Ej Ek Somar Ei e Ej e guardar em Ek SOM C0 C1 C2 6 SUB Ei Ej Ek Subtrair Ei por Ej e guardar em Ek SUB C0 C1 C2 7 MUL Ei Ej Ek Multiplicar Ei e Ej e guardar em Ek MUL C0 C1 C2 8 DIV Ei Ej Ek Dividir Ei por Ej e guardar em Ek DIV C0 C1 C2 9 SLT Ei Saltar para a célula Ei SLT AO 10 SE Ei > Ej Ek Se Ei maior que Ej, saltar para Ek SE C0 > C1 A0 11 SE Ei < Ej Ek Se Ei menor que Ej, saltar para Ek SE C0 < C1 A0 12 SE Ei = Ej Ek Se Ei igual Ej, saltar para Ek SE C0 = C1 A0 13 FIM Parar a execução das instruções

12 Exemplo de um programa Calcular a área do rectangulo Algoritmo
Ler lado 1 Ler lado 2 Area = lado1 * lado 2 Imprimir area Lado 1 Lado 2 Assemblex Ler C0 Ler C1 MUL C0 C1 C2 IMP C2 FIM

13 Execução de um programa
10 20 200 10 200 20 Programa Ler C0 Ler C1 MUL C0 C1 C2 IMP C2 FIM

14 Nova Execução de um programa
5 10 50 5 50 10 Programa Ler C0 Ler C1 MUL C0 C1 C2 IMP C2 FIM

15 Exercício Nº INSTRUÇÃO 1 LER Ei 2 COP Ei Ej 3 ATR Ei Val 4 IMP Ei 5 SOM Ei Ej Ek 6 SUB Ei Ej Ek 7 MUL Ei Ej Ek 8 DIV Ei Ej Ek 9 SLT Ei 10 SE Ei > Ej Ek 11 SE Ei < Ej Ek 12 SE Ei = Ej Ek 14 FIM Calcular a nota Final da disciplina de IP dada a nota prática e a nota teórica Algoritmo Ler nota prática Ler nota teórica nota final nota prática 40% nota teórica 60% Imprimir nota final

16 Exercício Assemblex Ler D0 Ler D1 ATR D2 0.4 ATR D3 0.6 MUL D0 D2 E0
SOM E1 E2 E3 IMP E3 FIM

17 Exercício 10 20 16

18 Transformar instruções, dados e endereços em números
Bases de Numeração Transformar instruções, dados e endereços em números

19 Computador digital O computador para processar e armazenar informação utiliza a linguagem binária Converter para binário Instruções – número da instrução Endereços – endereços sequenciais Dados são sempre numeros Linguagem binária Bit = digito binário Pode assumir dos valores diferença de potencial baixo Ausência de energia Campo magnético negativo buraco 1 diferença de potencial Alto presença de energia Campo magnético positrivo Sem buraco

20 Representação digital
Acesa Dois Bits Apagada Bit 2 estados Acesa Apagada 4 estados

21 Representação digital da informação (byte)
28= 256 Estados diferentes 1 byte = 8 bits Unidade fundamental de informação n bites representam 2n estados

22 Conversão de decimal para binário
8 bits = 8 divisões

23 Conversão de binário para decimal
1 BYTE 0 * *26 + 0*25 + 1*24 + 1*23 + 1*22 + 1* = 94 2 BYTES Conversor de Bases

24 Overflow Ocorre quando a número a armazenar excede a capacidade de armazenamento Dá origem a erros Exemplo de armazenamento num byte Numero a armazenar 400 Número armazenado 144 Conversor de Bases

25 Representação binária de números negativos
Algoritmo para conversão de números negativos para binário Subtrair uma unidade ao número positivo Fazer a conversão para binário Inverter os bits Conversor de Bases

26 Representação binária de números negativos

27 Representação de números reais
Parte decimal,parte fraccionária 120,35 Parte decimal Número inteiro Parte fraccionária Notação científica 1,2035 E 2 IEEE Standard 754 Floating Point Numbers Mantissa Número inteiro (1) Representação fraccionária do número inteiro (0,2035) Expoente Número inteiro (2) Sinal (0)

28 Representação de números reais

29 Conversão de caracteres
Tabela ASCII NULL – 0 Espaço – 32 Zero – 48 A – 65 a - 97 Á – 143 á - 160

30 Conversão de Instruções
Endereços de memória

31 Conversão de Instruções
Endereços de memória Instruções

32 Programa em linguagem máquina
Assembler Ler C0 Ler C1 MUL C0 C1 C2 IMP C2 FIM Linguagem máquina 0110

33 Representação física dos dados
Memória Níveis de tensão Maior tensão corresponde a 1 Menor tensão corresponde a 0 Disco ou fita magnética Inversão da orientação do campo magnético numa camada de oxido de ferro Orientação positiva corresponde a 1 Orientação negativacorresponde a 0 Discos ópticos (CD , DVD) Pequenos buracos queimados pelo lases num filme de telúrio Buraco corresponde a 1 Sem buraco correspinde a 0

34 Linguagens de alto nível
Linguagem estruturada

35 Substituição de endereços por nomes
Calcular a área do rectângulo Algoritmo Ler lado 1 Ler lado 2 Area = lado1 * lado 2 Imprimir area Linguagem de alto nível Ler lado1 Ler lado2 area <- lado1 * lado2 Escrever area Assembler Ler C0 Ler C1 MUL C0 C1 C2 IMP C2 FIM Linguagem máquina 0110

36 Tipos de dados Variáveis Inteiro Real Caracter Texto Lógico Um nome
Um Tipo Um só valor Linguagem de alto nível Ler lado1 Assembler Ler C0 máquina

37 Tipos de dados

38 Declaração de variáveis
Onde ? Antes da sua utilização Porquê? Para o compilador reservar um espaço de memória Como ? Definir utilizando a instrução variavel Variavel tipo nome Variavel tipo nome1, nome2, … Omitindo a instrução variavel tipo nome tipo nome1, nome2, … Exemplos Variavel inteiro lado Variavel real lado1 , lado2 Caracter sexo Logico repetente, trabalhador

39 Regras dos nomes de variáveis
Pode ser constituído por letras do alfabeto por dígitos e pelo caracter _ (underscore) O primeiro caracter não pode ser um dígito As letras maiúsculas e minúsculas representam caracteres diferentes Não pode ter o nome de uma palavra reservado da linguagem Deve ser descritivo daquilo que armazena Caso tenha mais que uma palavra utilizar o caracter _ para unir as palavras ou capitular as iniciais Não é aconselhado A utilização de caracteres acentuados Começar por _ Ter apenas letras maiúsculas

40 Exercício Quais dos seguintes nomes são nomes válidos de variáveis?
idade Num_Cliente A1b2c3 7dias Vinte% Sim?não _alfa Variavel Nome Principal Cliente NomePrincipalCliente Nome_Principal_Cliente

41 Ler e escrever Instrução ler Instrução escrever Utilização
Ler nome_da_variável Instrução escrever escrever nome_da_variável escrever “texto” escrever “texto” , nome_da_variável escrever nome_da_variável, “texto” , Separar os elementos por virgulas

42 Exemplo de Ler e escrever
Programa Ola Mundo inicio escrever "ola mundo" fim Programa cordial inicio Texto nome escrever " Qual o seu nome" ler nome escrever "Benvindo " , nome fim

43 Atribuição de Valores – operador <-
variavel <- expressão Exemplos Soma <- 10 saldo <- soma + 1 area <- lado1 * lado2 NOTA O operador = (igual) é o operador de comparação e devolve verdadeiro ou falso O operado <- é o operador de atribuição e significa que a variável passa a ter um novo valor

44 Operadores Aritméticos
Variáveis numéricas Unários - (menos) Binários + (adição) - (subtracção) * (multiplicação) / (divisão) ^(potenciação) Variáveis Texto Binário + ( concatenação) Prioridade dos operadores Prioridade 1 ^ Prioridade 2 * / Prioridade 3 + - Os parêntesis alteram a prioridade

45 Expressões matemáticas/Computacionais
Distancia entre dois pontos Matemática Computacional D <- ( (x1 – x2)^2 + (y1 – y2) ^2 ) ^0.5 (x2,y2) (x1,y1)

46 Expressões matemáticas/Computacionais
Zeros de uma equação de segundo grau Matemática Computacional X1 <- ( -b + ( b^2 – 4*a*c) ^0.5 )/ ( 2 * a) X2 <- ( -b - ( b^2 – 4*a*c) ^0.5 ) / ( 2 * a)

47 Expressões matemáticas/Computacionais
Fórmula Matemática Expressão Computacional X <- (2*3.14*R^2 -5)/ ((3.14*R)/6)^(1/3) + (4/3)* 3.14*R^3

48 Área do rectangulo Programa Área do rectângulo inicio
real lado1, lado2, area escrever "introduza o lado 1" ler lado1 escrever "Introduza o lado 2" ler lado2 area <- lado1 * lado2 escrever " A área é " , area fim

49 Exemplo de Concatenação
Programa cordial inicio Texto nome, apelido, nome_completo escrever "Qual o seu primeiro nome" ler nome escrever "Qual o seu apelido" ler apelido nome_completo <- nome + " " + apelido escrever "Benvindo " , nome_completo fim

50 Exercício Construa um programa que calcule a área e o perímetro de um círculo

51 Exercício Construa um programa que calcule a área e o volume de um paralelepípedo

52 Exercício Construa um programa que calcule a distância de um ponto à origem num plano 2D

53 Exercício Construa um programa que calcule o tempo de trabalho de um trabalhador dado a hora de entrada e a hora de saída. 08:30:00 Entrada 4:30:10 Tempo de trabalho 13:00:10 Saída


Carregar ppt "Manipulação de informação"

Apresentações semelhantes


Anúncios Google