PC Fundamentos Revisão 4

Documentos relacionados
CAI Fundamentos Revisão 5

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

3 Sistemas de Numeração:

Sistemas de Numeração

Trabalho compilado da Internet Prof. Claudio Passos. Sistemas Numéricos

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Exemplo de Subtração Binária

Sistemas de Numerações.

Introdução aos cálculos de datas

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

1. Sistemas de numeração

Introdução à Lógica de Programação

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

Sistemas de Numeração

Lógica de Programação

Introdução à Lógica de Programação

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Hardware de Computadores

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Curso de Hardware Aula 01 Tema: Sistema de Medidas Por: Edmilson de Oliveira Reis Revisado em: 02/03/2012

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

Representação de Dados e Sistemas de Numeração

3. Tipos de Dados, Constantes e Variáveis.

SISTEMAS DE NUMERAÇÃO

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores

Projeto e Desenvolvimento de Algoritmos

Algoritmos e Programação de Computadores

CAPÍTULO 6 ARITMÉTICA DIGITAL

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

2. Sistemas de Numeração, Operações e Códigos. 2. Sistemas de Numeração, Operações e Códigos 1. Números Decimais. Objetivos.

Algoritmos e Programação _ Departamento de Informática

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr.

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

Aula 3 - Sistemas de Numeração

Matemática - UEL Compilada em 18 de Março de Prof. Ulysses Sodré Matemática Essencial:

Representação de Dados

Capítulo 2. Numéricos e Códigos Pearson Prentice Hall. Todos os direitos reservados.

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Arquitetura de Rede de Computadores

Introdução à Engenharia de

Aula 2 Modelo Simplificado de Computador

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Codificação 1. Introdução. C 2 R r {! + codificação

13 Números Reais - Tipo float

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

ULA Sinais de Controle enviados pela UC

Sistemas de Numeração

PRONATEC FUNDAMENTOS DE HARDWARE. Prof. Kilmer Pereira

Aula 2 Variáveis. Precisamos armazenar os tipos de dados da aula anterior (inteiros, reais, literais e lógicos) em memória. Como fazer?

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

2. Representação Numérica

Fabio Bento

Linguagem algorítmica: Portugol

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2

AEDI Fundamentos Revisão 1

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Lista de Exercícios Sistemas de Numeração

Informática Fundamentos em C++ Revisão 1

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Representação de Dados

Arquitetura de Computadores. Tipos de Instruções

Aula 6 Aritmética Computacional

Algoritmos Computacionais ( Programas )

Unidade 5: Sistemas de Representação

Microsoft Excel 2007

Sistemas numéricos. Prof. Leandro Tonietto Introdução a computação e suas aplicações Curso de Segurança da Informação UNISINOS ago-09

Conceitos Importantes:

LÓGICA DE PROGRAMAÇÃO

Controladores Lógicos Programáveis CLP (parte-3)

centena dezena unidade

Sistemas de Numeração

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

20 Caracteres - Tipo char

Organização de Computadores. Cálculos Binários e Conversão entre Bases Aritmética Binária

Componentes da linguagem C++

Vamos exemplificar o conceito de sistema posicional. Seja o número 1303, representado na base 10, escrito da seguinte forma:

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS

Sistemas Numéricos e a Representação Interna dos Dados no Computador

Resolução de problemas e desenvolvimento de algoritmos

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

REPRESENTAÇÃO DE DADOS E SISTEMAS DE NUMERAÇÃO

ESTRUTURA CONDICIONAL

Aritmética Binária e. Bernardo Nunes Gonçalves

Introdução à Informática

Notas de aula #1 SISTEMAS NUMÉRICOS

Sistemas de numeração

EQUAÇÃO DO 1º GRAU. 2 melancias + 2Kg = 14Kg 2 x + 2 = 14

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

Conversão de Bases e Aritmética Binária

Resumo da Matéria de Linguagem de Programação. Linguagem C

Sistema de Numeração e Códigos. Sistemas de Informação CPCX UFMS Prof. Renato F. dos Santos

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 4 PROF. MARCELO LUIZ SILVA (R E D)

Informática Aplicada à Química. Sistemas de Numeração Representação de Dados

3. Arquitetura Básica do Computador

Transcrição:

exatasfepi.com.br PC Fundamentos Revisão 4 André Luís Duarte...mas os que esperam no Senhor renovarão as suas forças; subirão com asas como águias; correrão, e não se cansarão; andarão, e não se fatigarão.is 40:31

Fundamentos Sistema de numeração Tipos primitivos Expressões Tabela verdade Precedência de operações Constantes e variáveis Operador de atribuição 2

Sistema de numeração O ser humano usa sistemas de numeração e representação de linguagem para se comunicar No brasil usamos, geralmente, o sistema de numeração decimal e a língua portuguesa 3

Língua portuguesa As palavras na língua portuguesa são construídas a partir de um alfabeto prédefinido que é composto de 26 caracteres alfabéticos de a z tanto na forma minúscula quanto na forma maiúscula 4

Sistema de numeração decimal É o sistema que mais utilizamos no nosso dia-a-dia É o sistema que utiliza a base dez Composta pelos símbolos ou dígitos de 0 9 O principio fundamental é que dez unidade de qualquer ordem, formam uma unidade de ordem imediatamente superior 5

Exemplo Números 0 zero, 12 doze, 794 setecentos e noventa e quatro Formação de ordem superior 9 unidades + 1 unidade formam uma unidade de nível superior = uma dezena (10) 6

Formação dos números Combinação dos dez dígitos Apresentação de um número pode mudar, mas o valor numérico representado pela combinação de seus dígitos não 50 050 0050 7

Sistema de numeração binária Sistema utilizado pelo hardware do computador para executar as tarefas Composto pelos símbolos 0 e 1 Estão relacionados à ausência (0) ou presença (1) de sinal elétrico Cada dígito é chamado de bit (binary digit) 8

Sistema de numeração binária Um conjunto de oito (8) bits compõem um (1) byte, que é uma unidade de completa de informação Os bits são geralmente usados para representar velocidade de transmissão de dados Os bytes são geralmente usados para representar capacidade de armazenamento de dados 9

Representação binária Um byte pode ser representado na sua forma completa ou simplificada Valor decimal 6 0000 0110 110 2 Os números 0 afrente do primeiro dígito 1 não possuem valor significativo 10

Conversão de base Podemos converter tanto um número decimal em sua representação binária como o inverso Para converter um número decimal em sua representação binária, basta: Dividir o número decimal e seus quociente sucessivamente por 2 até que o quociente seja zero Pegar a sequencia inversa de todos os restos obtidos 11

Conversão decimal binário 53 10 = 110101 2 12

Exercícios de fixação Converta os números na base 10 em suas respectivas representações na base 2 0 1 2 4 32 121 98 16 9 77 13

Conversão binário decimal Para essa conversão, devemos atribuir a cada dígito um valor de base 2 e um expoente variando de 0 a 7 (8 dígitos) Calculamos o valor de cada expoente e multiplicamos pelo valor binário em cada posição Finalmente somamos todos os produtos obtidos 14

Conversão binário decimal 15

Conversão binário decimal 16

Exercícios de fixação Converta os números na base 2 em suas respectivas representações na base 10 00000000 00000001 11111111 01010111 10010001 101 1001 1010 1000 10 17

Tipos primitivos Tipos primitivos são os tipos usados para representar os dados Podem ser: Inteiro Real Caractere Lógico 18

Inteiro Todo dado numérico que pertença ao conjunto dos números inteiros relativos (negativos, nulo ou positivos) Exemplo..., -12,..., -3,..., 0,... 3, 4,... 19

Real Todo dado numérico que pertença ao conjunto dos números reais (negativos, nulo ou positivos) Exemplo..., -10.57,..., -3.0,..., 0.0,... 3.1,..., 4.775,... 20

Caractere Todo dado que pertença ao conjunto dos símbolos alfabéticos, numéricos e alfanuméricos São representados sempre entre aspas duplas Exemplo A, b, W, c,... 1, 4, -12, 888,... @, #, $,,,,,... 21

Caractere Podemos ter também o que chamamos de cadeia de caractere que é uma sequência de vários caracteres juntos Exemplo André Luís Duarte, 1234, TESTE 123 andre@bol.com.br #algoritmo 22

Lógico Todo dado que puder assumir apenas duas situações denominadas biestáveis Exemplo Aberto / Fechado (Open / Closed) Ligado / Desligado (On / Off) Entrada / Saída (In / Out) 1 / 0 Verdadeiro / Falso (V / F) 23

Exercícios de fixação Identifique os tipos de dados para cada item 12 A 2,45 17 True True André André 10 2 10 2 24

Expressões Usaremos três tipos de expressões básicas em nossos estudos: Expressão aritmética Expressão relacional Expressão lógica 25

Operadores Representam uma classe de operações que podem ser realizadas sobre constantes e/ou variáveis Vamos dividi-los em: Aritméticos Relacionais Lógicos 26

Expressão aritmética Uma expressão é considerada aritmética quando temos somente operadores aritméticos, constantes e variáveis numéricas envolvidas nela O resultado de uma expressão aritmética é sempre um número e depende dos tipos básicos envolvidos 27

Operadores aritméticos São os operadores usados para realizar as operações básicas aritméticas da matemática: Adição Subtração Multiplicação Divisão Potenciação Radiciação Resto da divisão Quociente da divisão 28

Operadores aritméticos Usado para indicar uma operação aritmética envolvendo um ou mais operandos O resultado de uma operação aritmética entre dois números é sempre um número 29

Operadores aritméticos O resultado de uma operação aritmética entre dois números é sempre um número inteiro ou real dependendo de duas situações: Tipos de dados envolvidos Operação realizada 30

Tipos de dados envolvidos Exemplos: Inteiro (+,-,*) Inteiro = Inteiro Inteiro (+,-,*) Real = Real Real (+,-,*) Real = Real Caractere + Caractere = Caractere 31

Operações realizadas Exemplos: Inteiro (/, rad, pot) Inteiro = Real Inteiro (/, rad, pot) Real = Real Real (/, rad, pot) Real = Real Inteiro div Inteiro = Inteiro Inteiro mod Inteiro = Inteiro div e mod nunca podem ser usados com valores do tipo Real 32

Adição Representado pela cruz (+), adiciona o valor do elemento à esquerda do operador ao valor do elemento à direita do operador Exemplo 1+2, x+4, a+b 33

Subtração Representado pelo traço (-), subtrai o valor do elemento à esquerda do operador ao valor do elemento à direita do operador Exemplo 21-4, x-y, a-10 34

Multiplicação Representado pelo asterisco (*), multiplica o valor do elemento à esquerda do operador pelo valor do elemento à direita do operador Exemplo 2*34, 8*x, j*z 35

Divisão Representado pela barra de divisão (/), divide o valor do elemento à esquerda do operador pelo valor do elemento à direita do operador Exemplo 1/2, 21/y, b/a 36

Potenciação Representado pela palavra pot, eleva o valor do primeiro parâmetro pela potência do valor do segundo parâmetro Exemplo pot(3,2), pot(x,2), pot(b,c) 37

Radiciação Representado pela palavra rad, calcula a raiz quadrada do valor passado como parâmetro Exemplo rad(9), rad(a), rad(x) 38

Resto da divisão Representado pela palavra mod, calcula o resto da divisão entre inteiros Exemplo 13 mod 2, x mod 4, a mod b 39

Quociente da divisão Representado pela palavra div, calcula o quociente da divisão entre inteiros Exemplo 13 div 2, x div 3, a div b 40

Exercícios de fixação Indique o tipo de dados resultantes de cada expressões, dados: x = 2, y = -1, z = 10 3+12 2-5 x/2 8-y x*y pot(y,z) rad(z) z/x z/y pot(y,x) 15 mod 2 15 div 2 17 mod 3 14 mod 7 41

Exercícios de fixação Calcule o resultados das expressões dados: x = 2, y = -1, z = 10 3+12 2-5 x/2 8-y x*y pot(y,z) rad(z) z/x z/y pot(y,x) 15 mod 2 15 div 2 17 mod 3 14 mod 7 42

Expressão relacional Uma expressão é considerada relacional quando temos a presença de operadores relacionais envolvidos na expressão O resultado de uma expressão relacional é sempre um valor lógico verdadeiro (V) ou falso (F) 43

Operadores relacionais São os operadores usados para relacionar valores entre si: = - igual a (2 = 3.44, a = 7, x = y) > - maior que (8 > 10, x > 7, a > b) < - menor que (12.77 < 2, y < 123, n < m) >= maior ou igual a (4,5 >= 2.1, 67 >= z, a >= x) <= - menor ou igual a (0 <= -3.5, u <= -2.4, l <= k) <> - diferente de (8 <> 8, a <> b, -x <> 9.6) 44

Exercícios de fixação Calcule o resultados das expressões dados: x = 2, y = -3, z = 10 3<12 2>=5 x<>2 8=y y>x z <= 33.5 y<x z>=x z<>y y=-3 45

Expressão lógica Uma expressão é considerada lógica quando temos a presença de operadores lógicos Negação: not (não)(,~) Conjunção: and (e)( ) Disjunção: or (ou)( ) O resultado de uma expressão lógica é sempre um valor lógico verdadeiro (V) ou falso (F) 46

Negação A negação de um valor lógico é o valor contrário A operação de negação é uma operação unária (aplicada sobre um operando) Exemplo not(v) = F not(f) = V 47

Conjunção A conjunção é verdadeira se e somente se os operandos são verdadeiros A operação de conjunção é uma operação binária (aplicada sobre dois operandos) Exemplo V and V = V V and F = F F and F = F 48

Disjunção A disjunção é falsa se, e somente se ambos os operandos forem falsos A operação de disjunção é uma operação binária (aplicada sobre dois operandos) Exemplo V or V = V V or F = V F or F = F 49

Tabela verdade Tabela verdade é um resumo das combinações possíveis para operações lógicas básicas OP VL RS VL OP VL RS VL OP VL RS NOT V F V AND V V V OR V V NOT F V V AND F F V OR F V F AND V F F OR V V F AND F F F OR F F 50

Exercícios de fixação Calcule o resultados das expressões dados: x = verdadeiro, y = falso x and F not(y) F or V y and not(x) x or y F or y V or x not(x and y) 51

Expressões compostas As expressões aritméticas, relacionais e lógicas podem ser combinadas entre si para formarem expressões mais complexas Para calcular expressões complexas devemos definir uma regra de precedência de operações 52

Precedência entre expressões Parênteses mais interno Expressões aritméticas Expressões relacionais Expressões lógicas 53

Precedência entre operadores aritméticos Parênteses mais interno pot rad * / div mod + - 54

Precedência entre operadores relacionais Operadores relacionais não possuem precedência uns sobre os outros Estes são resolvidos da esquerda para a direita na medida em que aparecem na expressão Os parênteses mais interno tem precedência sobre qualquer operador relacional 55

Precedência entre operadores lógicos Parênteses mais interno not and or 56

Exercícios de fixação Calcule o resultados das expressões dados: x = 5, y = -1 e a = F 2 * x y + 3 / (x + (y 1)) 2 + y < x mod 2 a and (15 / x >= 3) x <> y or not(a) not(x + y <> 5-1) and a 57

Exercícios de fixação Calcule o resultados das expressões dados: x = 2.5, y = -1 e a = V 2 * x (y / 2) = - 4.5 3 > x * y and not(a) a and not(8 / -2 <= -(y + 10 / (x 0.5))) not(rad(x * 40) <> pot(y,2) * 10) and a or F not(a) and F or (a and not(a)) 58

Constantes e variáveis Todo dado processado pelo computador deve estar armazenado em algum local Inicialmente iremos trabalhar com dados armazenados na memória RAM Dessa forma, para processarmos um dado no computador devemos colocá-lo na memória RAM 59

Constantes e variáveis Podemos considerar a memória RAM como uma matriz que armazena informações em suas posições (células) Cada posição da memória pode ser acessada através de seu endereço Logo se queremos saber qual o valor do dado armazenado na posição 0x0DFE devemos ler essa posição 60

Constantes e variáveis 00 01 02... 0A 0B 0C 0D... FA FB FC FD FE FF 01 A 3 25 26 27 28 0 0 0 02 4.5 0 0... 0 0A D N 0B -21 0C F... 1 4.4 FD 1 1 BA FF 43 FE 1 1-10 EA 0A 87 FF 1 1 1 5.8 10 00 61

Constantes e variáveis Imagine que você precisa entregar uma coisa para o professor André -22.311441-45.370543 62

Constantes e variáveis Com o endereço pode ajudar Rua Albino de Souza Cardoso, 94 63

Constantes e variáveis Onde mora o André Luís Duarte? Em uma região pequena, encontrar uma pessoa pelo nome ou apelido pode ser mais fácil do que com o seu endereço 64

Constantes e variáveis Sistema manipulam de forma mais rápida números e endereços Pessoas manipulam de forma mais fácil nomes e palavras Imagine ter que guardar onde você armazenou o valor 12 na memória para depois usá-lo? 65

Constantes e variáveis Por isso podemos relacionar à uma posição de memória um nome Suponha que á posição 0x0DFE foi dado o nome idade, logo, para saber o valor armazenado em 0x0DFE basta saber o que está armazenado na posição idade 66

Constantes e variáveis 00 01... 0D... FA FF... A 26 27 28 0 FD 1 43 idade FE 1-10 87 FF 1 5.8 00 67

Dado constante Todo dado primitivo é um valor constante, ou seja, não pode ser alterado em nenhum momento Por exemplo: A 10-43.5 falso 68

Constante Posição de memória constante é uma posição que possui nome, endereço e conteúdo e permite somente a operação de leitura Essa posição será denominada daqui para frente de constante Obs.: A constante deve ser iniciada em algum momento no programa mas depois disso não poderá ser alterada 69

Variável Posição de memória variável é uma posição que possui nome, endereço e conteúdo e permite operação de leitura e escrita Essa posição será denominada daqui para frente de variável 70

Formação de identificadores Já que podemos dar nomes para posições de memórias constantes e variáveis, quais nomes são válidos? As regras para formação de identificadores são: Devem começar com uma letra Podem ser seguidos por outras letras, números ou o caractere underline (_) Não devem possui caracteres alfanuméricos Não podem ser nomes reservados como pot, rad, div, mod, escreva, leia, etc 71

Diagrama de sintaxe Exemplos: Idade, N1, x, salario_bruto, Media_1, Raiz 72

Exercícios de fixação Dado os seguintes identificadores, assinale válido ou inválido para cada um Andre pot André pot_2 X1 div_a 1X N_#1 _Num1 B22_2 salário_bruto contato@fepi 73

Dica Sempre que possível use nomes nos identificadores que expliquem a sua função dentro do programa Assim, por exemplo, para criar um algoritmo que calcule as raízes da equação de segundo grau qual conjunto de identificadores seria melhor e porque? x, y, z, w, k, j a, b, c, delta, x1, x2 num_1, num_2, num_3, num_4, num_5 num_6 74

Operador de atribuição Usaremos um operador muito importante para a programação chamado de operador de atribuição Em algoritmo esse operador é representado pela seta à esquerda ( ) que dependendo da ferramenta de criação será (<-) 75

Operador de atribuição O operador de atribuição calcula a expressão à sua direita e armazena o resultado na variável à sua esquerda Uma das formas de escrever em uma posição de memória é usando o operador de atribuição Exemplo x pot(2,2) letra a Result 10 > 3 76

Exercícios de fixação Calcule o resultado das seguintes expressões dado ano_nascimento = 1986, a = 0, b = 1, c = 3 idade 2015 ano_nascimento delta pot(b,2) 4 * a * c resultado pot(2,2) <> rad(4) / (6 mod c) N a < b and b < c or not(true) 77

Exercícios de fixação Represente a ação do operador de atribuição do exercício anterior na forma matricial representando a memória do computador 78

Resposta idade 29 delta A 1 27 28 0 1 43 resultado 1-1253482 87 N F 1 5.8 00 79

Lixo de memória A memória RAM é uma memória volátil, o que significa que quando o computador é desligado os dados do meu programa são perdidos (e não apagados) Isso significa que quando o computador é novamente ligado, toda a memória está ocupada com dados anteriores ao desligamento que para nós é lixo 80

Lixo de memória Por isso, sempre que formos usar uma posição de memória, é uma boa prática inicializarmos ela com algum valor coerente Pense na seguinte situação: Salario resultado + 1000 Qual seria o resultado dessa operação levando-se em conta o estado da memória no exemplo anterior? 81

Estado da memória anterior 29 A 1 27 28 0 1 43 resultado 1-1253482 87 F 1 00 82

Resultado da operação na memória 29 A 1 27 28 0 1 43 resultado 1-1253482 87 salario F 1-1252482 00 83

Lixo de memória Levando em consideração o estado anterior da memória, teríamos que o salário receberá o valor -1252482 gerando uma incoerência no programa Para corrigir isso deveríamos ter algo como: resultado 2500 salario resultado + 1000 84

Estado da memória anterior 29 A 1 27 28 0 1 43 resultado 1 2500 87 F 1 5.8 00 85

Estado da memória anterior 29 A 1 27 28 0 1 43 resultado 1 2500 87 salario F 1 3500 00 86

Lixo de memória Via de regra, sempre que uma variável estiver do lado direito do operador de atribuição e não foi acessada por um comando leia (descrito no próximo capítulo) antes de ser usada, ela deve ser inicializada 87