Ementrio Noes de hardware e software Conceito de
- Slides: 58
Ementário • Noções de hardware e software. • Conceito de algoritmo e programação. • Algoritmos: representação, técnicas e estruturas de elaboração. Técnicas de projeto e desenvolvimento de algoritmos. • Representação de dados. Tipos de dados. Cadeia de caracteres, vetores e registros. Instruções simples e compostas. Subprogramação. Recursividade. Elaboração e implementação de programas em uma linguagem estruturada de alto nível. Alocação dinâmica de memória. Listas lineares, pilha, fila, árvores e grafos. • Métodos de ordenação. • Definição e manipulação de arquivos externos. • Aplicações práticas utilizando uma linguagem estruturada de alto nível (Pascal e C).
Introdução • Todo trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. – instruções, comandam o funcionamento da máquina e determinam a maneira como devem ser tratados os dados. – dados, correspondem à porção das informações a serem processadas pelo computador.
Tipos de Dados • os dados são representados pelas informações a serem tratadas (processadas) por um computador. – numéricos • inteiro • real – literais – lógicos (booleanos) integer real char / string boolean
Tipos Primitivos (ou básicos) Numérico Inteiro Real Literal Lógico
Tipo Inteiro • dados numéricos positivos ou negativos, excluindo-se destes qualquer número decimal ou fracionário {. . . , -3, -2, -1, 0, 1, 2, 3, . . . }
Tipo Inteiro - Exemplos 0 número inteiro zero 7 +7 número inteiro positivo sete -7 número inteiro negativo sete
Tipo Real (1/2) • dados numéricos positivos ou negativos e números decimais ou fracionários 12. 05 - n° real positivo com duas casas decimais 255. - n° real positivo com zero casas decimais 0. 75 - n° real positivo com duas casas decimais -11. 3 - n° real negativo com uma casa decimal -0. 55 - n° real negativo com duas casas decimais
Tipo Real (2/2) • Há uma diferença entre 0, que é um dado do tipo inteiro, e 0. (ou. 0 ou 0. 0) que é um dado do tipo real. Portanto, a simples existência do ponto decimal serve para diferenciar um dado numérico do tipo inteiro de um do tipo real. 0. 0 - n° real com uma casa decimal 0. - n° real com zero casas decimais
Tipo Real - Exemplos (1/2) 0. 0. 00000 E+00 número real zero 0. 50 +0. 5 0. 75 número real positivo zero ponto cinco número real positivo zero ponto setenta e cinco 7. 500000 E-01 número real positivo zero ponto setenta e cinco -0. 5 número real negativo zero ponto cinco -0. 50 número real negativo zero ponto cinco -5. 00000 E-01 número real negativo zero ponto cinco
Tipo Real - Exemplos (2/2) -0. 75 número real negativo zero ponto setenta e cinco -7. 500000 E-01 número real negativo zero ponto setenta e cinco 7. 0 7. +7. 7. 00000 E+00 número real positivo sete -7. 0 número real negativo sete -7. 00000 E+00 número real negativo sete
Tipo Literal (1/2) • sequência de caracteres contendo letras, dígitos e/ou símbolos especiais (tabela de códigos ASCIIAmerican Standard Code for Information Interchange) • caracter, alfanumérico, cadeia de caracteres, ou ainda, do inglês, string • os dados literais são representados nos programas pela coleção de caracteres, delimitada em seu início e término com a aspas simples (')
A Tabela ASCII (American Standard Code for Information Interchange) é usada pela maior parte da indústria de computadores para a troca de informações. Cada caractere é representado por um código de 8 bits, ou seja, um byte. 28 = 256 caracteres: 0 31 Caracteres de Controle 32 127 ASCII Normal 128 255 ASCII Estendida
Tipo Literal (2/2) • o tipo literal possui um comprimento dado pelo número de caracteres nele contido 'Brasil' - literal de comprimento 6 '255. ' - literal de comprimento 4 '-0. 55' - literal de comprimento 5 '' - literal nula, comprimento 0 '0' - literal de comprimento 1
Tipo Lógico (ou booleano) • representam dois únicos valores lógicos possíveis – falso, negativo, 0, false – verdadeiro, positivo, 1, true • booleanos – devido a significativa contribuição de BOOLE à área da lógica matemática • flags, sinalizadores, aberto/fechado, . . .
Programa = Algoritmo + Estrutura de Dados A todo momento durante a execução de qualquer tipo de programa os computadores estão manipulando informações, representadas pelos diferentes tipos de dados, armazenadas em sua memória.
Memória • Constituída por um número finito de localizações (ou células) onde são armazenados os dados. • Existe um sistema de endereçamento da memória que permite identificar unicamente cada localização (ou célula) da memória, esta identificação é conhecida como endereço.
A Arquitetura da Memória • Cada célula de memória é mais conhecida como byte. • Um byte é um agrupamento de 8 bits, numerados em ordem descrente de 7 até 0. Byte 7 6 5 4 3 2 1 0 bit
Bit • Cada bit é capaz de armazenar uma informação binária (0 ou 1). Como um bit possui dois estados possíveis, e como um byte é formado por 8 bits, então um byte possui 28 = 256 estados possíveis. • Apesar dos bytes serem subdivididos em pedaços menores, os bits, a menor porção acessível de memória é o byte. Ou seja, se quisermos escrever (ou ler) algum dado na (da) memória do computador, teremos de fazê-lo byte a byte.
Números da Memória byte = 8 bits, representam um único caractere 1 Kilobyte (KB) = 1024 bytes 1 Megabyte (MB) = 1024 KB 128 MB = (128 * 1024 KB) * 1024 bytes 128 MB = 134. 217. 728 de caracteres
Representação esquemática das células de memória de um computador. = Célula = um Byte = um caractere localização da célula
Armazenamento da literal ‘chico’ na mémoria de um computador. = Célula = um Byte = um caractere código ASCII representação binária do código ASCII localização da célula
Variáveis (1/2) • O acesso de informações na memória é bastante ilegível e difícil de se trabalhar. Para contornar esta situação criou-se o conceito de variável, que é uma entidade destinada a guardar uma informação. • Basicamente, uma variável possui três atributos: um nome, um tipo de dado associado à mesma e a informação por ela guardada.
Variáveis (2/2) • uma informação é classificada como variável quando tem a possibilidade de ser alterada em algum instante no decorrer do tempo. • imagine a memória de um computador como um grande arquivo, com várias gavetas, onde é possível guardar em cada gaveta apenas um único valor por vez, e que estas gavetas deverão como em um arquivo estarem identificadas com uma “etiqueta” contendo um nome.
Regras para nomes (1/2) As seguintes regras devem ser seguidas na formação de nomes de variáveis ou identificadores: • um identificador é uma sequência de um ou mais caracteres alfabéticos e numéricos, caracteres de sublinhado de qualquer tamanho (somente os primeiros 63 são significativos); • o primeiro caractere de um identificador deve ser uma letra ou um caractere de sublinhado “_”; • não são permitidos símbolos gráficos, operadores ou espaços em branco no nome.
Regras para nomes (2/2) • os nomes de identificadores não sensíveis a letras maiúsculas e minúsculas, mas usualmente cada uma das palavras de um identificador iniciase com uma letra maiúscula, exemplos: – codigo. Do. Cliente ou saldo. Credor. Do. Cliente; – cd. Item, CDITEM e cditem referem-se ao mesmo identificador. • Código, 10 Salario, Salario Minimo, ‘Brasil’, são exemplos de nomes inválidos
Palavras Reservadas Além das regras de formação de nomes, uma variável, ou qualquer outro nome a ser definido pelo programador, não pode ser uma das palavras reservadas da linguagem. As palavras reservadas são os nomes dos tipos primitivos, os comandos da linguagem e quaisquer outros elementos pertencentes à “sintaxe” dessa linguagem. begin continue label while byte end longint type do if integer case function repeat then record var goto until else break const for char
Declaração de Variáveis • são posições de memória utilizadas para armazenar informações referenciadas dentro do programa • seus valores podem sofrer alterações var Nome. Do. Mes: I, J, N: Preco, Juros: Flag: nome da variável (identificador) string; integer; real; boolean; tipo do dado
Sintaxe p/ Declaração de Variáveis var identificador : integer ; real , char boolean obs. Este esquema utilizado para ilustrar a sintaxe de intruções é chamado de Diagrama Sintático.
Estrutura de Dados: Manipulação: var Nome. Do. Mes: I, J, N: Preco, Juros: Flag: I J N Preco Juros Nome. Do. Mes Flag string; integer; real; boolean; : = : = 0; 5; 50; 150. 00; 0. 15; 'Fevereiro'; True; Representação dos Dados na Memória I 0 J 5 N Preco 50 150. 00 Juros Nome. Do. Mes Flag 0. 15 Fevereiro True
Mapeamento de Variáveis na Memória • O computador não é capaz de trabalhar diretamente com nomes simbólicos, como os nomes das variáveis. Pelo contrário, o computador só consegue tratar com células de memória por meio do conhecimento de seus endereços. • Para intermediar esta situação, o tradutor (compilador ou interpretador) monta uma tabela de mapeamento dos nomes simbólicos em posições de memória. Esta tabela é denominada Tabela de Símbolos.
Forma geral de uma Tabela de Símbolos. o tipo de dado da variável, a partir do qual é possível determinar o tamanho do espaço de memória consumido pela mesma. a posição inicial do conjunto de bytes contíguos de memória onde está armazenada a informação da variável o nome simbólico de cada uma das variáveis do programa
Expressões O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão (ou fórmula) matemática, onde um conjunto de variáveis e constantes numéricas relacionam-se por meio de operadores aritméticos compondo uma fórmula que, uma vez avaliada, resulta num valor. O conceito de expressão aplicado à computação assume uma conotação mais ampla: uma expressão é uma combinação de variáveis, funções, constantes e operadores, e que, uma vez avaliada, resulta num valor.
H Triângulo de base (B) e altura (H) Área = 0, 5 x B x H B Area : = 0. 5 * B * H; matemática computacional A fórmula da área do triângulo utiliza três variáveis: B e H, que contém as dimensões do triângulo, e Área, onde é guardado o valor calculado (resultado da avaliação da expressão). Há também, uma constante (0, 5) e o operador de multiplicação (x), que aparece duas vezes na expressão.
Operadores são elementos funcionais que atuam sobre operandos e produzem um determinado resultado. A expressão 3 + 2 relaciona dois operandos (os n°s 3 e 2) por meio do operador de adição (+). unários, quando atuam sobre um único operando. Ex. o sinal de (-) na frente de um número, cuja função é inverter seu sinal. binários, quando atuam sobre dois operandos. Ex. soma, subtração, multiplicação e divisão.
Expressões • regra computacional que sempre especifica um valor como resultado • operadores resultado – aritméticos – lógicos – literais – relacionais numérico lógico literal lógico
Operadores aritméticos + * / div mod adição subtração multiplicação divisão real divisão inteira resto da divisão
Elementos da operação de divisão: dividendo 17 2 16 8 1 divisor quociente resto var dividendo, divisor: integer; quociente, resto: integer; begin dividendo : = 17; divisor : = 2; quociente : = dividendo divisor; { resultado 8 } resto : = dividendo mod divisor; { resultado 1 } end.
5 4 2 2 1 5 mod 2 5 div 2
17 3 15 5 2 17 div 3 17 mod 3
Tipo do resultado de expressões utilizando operadores aritméticos. var A, B, C: integer; X, Y, Z: real; A + B + C expressão de resultado inteiro A + B + Z expressão de resultado real A / B expressão de resultado real A div B expressão de resultado inteiro A mod B expressão de resultado inteiro X / Y expressão de resultado real
Operadores lógicos not and or xor negação lógica “e” lógico conjunção “ou” lógico disjunção “ou exclusivo” lógico
Tabela-verdade dos operadores lógicos (ou booleanos).
Representação da operação lógica AND por meio de um circuito elétrico com interruptores em série. A Bateria B Lâmpada
Representação da operação lógica AND por meio de um circuito elétrico com interruptores em série. A Bateria B Lâmpada
Representação da operação lógica AND por meio de um circuito elétrico com interruptores em série. A Bateria B Lâmpada
Representação da operação lógica AND por meio de um circuito elétrico com interruptores em série. A Bateria B Lâmpada
Representação da operação lógica OR por meio de um circuito elétrico com interruptores em paralelo. A B Bateria Lâmpada
Representação da operação lógica OR por meio de um circuito elétrico com interruptores em paralelo. A B Bateria Lâmpada
Representação da operação lógica OR por meio de um circuito elétrico com interruptores em paralelo. A B Bateria Lâmpada
Representação da operação lógica OR por meio de um circuito elétrico com interruptores em paralelo. A B Bateria Lâmpada
Operadores relacionais (1/2) = <> > < >= <= in igual a diferente de maior que menor que maior igual a menor igual a pertence a (pertinência)
Operadores relacionais (2/2) Variáveis: Atribuições: var a, b: integer; Expressões lógicas (testes lógicos) a = b a <> b a < b a >= b a <= b a : = 2; b : = 3; resultado falso verdadeiro
Exemplificando as Relações (1/2) Representação matemática: 5 5 5 Representação computacional: n = 5 (n = 5) n < 5 (n < 5) n ≤ 5 (n <= 5) n > 5 (n > 5) n ≥ 5 (n >= 5)
Exemplificando as Relações (2/2) Representação matemática: 5 5 9 5 9 Representação computacional: n # 5 (n <> 5) n # 5, e n # 9 ((n <> 5) and (n <> 9)) n = 5, ou n = 9 ((n = 5) or (n = 9)) n < 5, ou n > 9 ((n < 5) or (n > 9)) n ≥ 5, e n ≤ 9 ((n >= 5) and (n <= 9))
Operadores literais • Expressões literais são aquelas cujo resultado da avaliação é um valor literal. • concatenação de strings (+), toma-se duas strings e acrescenta-se (concatena-se) a segunda delas ao final da primeira. 'Ordem' + 'e' + ' Progresso' 'Ordeme Progresso'
Precedência de operadores • • Primeiro Segundo Terceiro Quarto not, +, - (unários) *, /, div, mod, and (multiplicativos) +, -, or, xor (aditivos) =, <, >, <=, >=, in (relacionais) Notas: • a utilização de parênteses alteram a precedência dos operadores • operadores de mesma precedência, da esquerda para a direita
Comando de Atribuição (: =) Variável : = Expressão; Semântica do comando de atribuição: 1. Substitui as variáveis da expressão pelos seus respectivos valores; 2. Avalia as subexpressões obedecendo a prioridade dos operadores; 3. Atribui (armazena) o valor resultado da expressão no endereço correspondente à variável. Obs. caso o tipo do resultado da expressão não for do mesmo tipo da variável ocorrerá um erro de incompatibilidade de tipos.
Referência • Técnicas de Programação - Uma abordagem Estruturada – Capítulo 3 - Tipos de Dados – Capítulo 4 - Variáveis – Capítulo 5 - Expressões – Walter Luiz Caram Saliba – MAKRON Books, 1993
- Shen lisp
- Conceito de processo e o conceito de thread
- Internal and external hardware
- Testing dikatakan baik, jika
- Sistemi kompjuterik
- Scada is a software or hardware
- Difference between hardware and software
- Hardware y software mapa conceptual
- It infrastructure objectives
- It essentials virtual desktop simulator online
- Hardware software definition
- Software jaringan adalah
- Alu hardware or software
- Vbo1
- Software hardware peopleware
- Interface between application software
- Web server hardware
- Hardware reliability in software engineering
- Peta konsep perangkat keras komputer
- Hardware and software requirements
- Hardware for multimedia
- Mantenimiento correctivo hardware y software
- Pjeset e kompjuterit software
- Hardware introduction
- Mapa mental de software y hardware
- Hardware and software in computer graphics
- Managing hardware and software assets
- Hardware software infrastructure
- It infrastructure hardware and software
- Hardware x software
- Slidetodoc.com
- Software brings computer hardware to life
- Perkembangan hardware dan software saat ini
- Historie hardware
- Hardware y software 1 eso
- Tipos de arquitectura de hardware
- Characteristics of hardware and software
- Chapter 2 hardware and software
- Cim
- It infrastructure hardware and software
- Cim hardware and software
- Multimedia hardware and software
- Hardware software codesign in embedded systems
- Hardware de oficina
- A computer system consists of both hardware and software.
- Web server hardware and software
- It infrastructure hardware
- Diferencia entre software y hardware
- Mapa mental de hardware interno y externo
- Partes de la computadora software y hardware
- It essentials pc hardware and software
- Hardware i software
- Ecommerce software and hardware
- Interaction model in distributed system
- Conceitos de hardware
- Hardware software brainware
- Maqueta de software y hardware
- Hardware vs software
- Cse 598