Algoritmos 01 - Conceitos Básicos
-
Upload
josevaldo-arruda -
Category
Documents
-
view
16 -
download
4
Transcript of Algoritmos 01 - Conceitos Básicos
![Page 1: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/1.jpg)
N575 - Algoritmos e Programação de Computadores
Conceitos básicos de informática e programação
Prof. Raphael Torres Santos Carvalho
![Page 2: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/2.jpg)
Roteiro
Objetivo
Conceitos Básicos
Sistemas Numéricos
Hardware (componentes básicos de um computador)
Medidas de armazenamento
Software (sistema operacional e linguagem de programação)
2
![Page 3: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/3.jpg)
Objetivo
Identificar os conceitos básicos de informática e sua relação com a programação
3
![Page 4: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/4.jpg)
Conceitos Básicos
Informática é o ramo do conhecimento que cuida dos conceitos, procedimentos e técnicas, referentes ao tratamento de conjuntos de dados, objetivando a tomada de decisões.
Dado é a representação física de um evento.
Como é realizada a representação de um evento?
Os dados podem ser armazenados, transportados, copiados e até eliminados. A sua importância reside na “quantidade de informação” que pode transmitir a quem o acessa.
Informação é a significação de um dado.
Um computador é uma máquina que manipula dados a partir de uma lista de instruções.
4
![Page 5: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/5.jpg)
Sistemas Numéricos
Desde quando se começou a registrar informações sobre quantidades, foram criados diversos métodos de representar as quantidades
O Sistema decimal, ao qual estamos acostumados, usa um sistema de numeração posicional. Isso significa que a posição ocupada por cada algarismo em um número altera seu valor de uma potência de 10 (na base 10) para cada casa à esquerda
Por exemplo: número 125 no sistema decimal (base 10)
125 = 1x102 + 2x101 + 5x100
5
![Page 6: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/6.jpg)
Sistemas Numéricos
Exemplo:
6
![Page 7: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/7.jpg)
Sistemas Numéricos
Base de um Sistema de Numeração
A base de um sistema é a quantidade de algarismos disponível na representação.
A base 10 (sistema decimal) é hoje a mais usualmente empregada, embora não seja a única utilizada.
No comércio pedimos uma dúzia de rosas ou uma grosa de parafusos (base 12) e também marcamos o tempo em minutos e segundos (base 60).
Os computadores utilizam a base 2 (sistema binário) e os programadores, por facilidade, usam em geral uma base que seja uma potência de 2, tal como 24 (base 16 ou sistema hexadecimal) ou eventualmente ainda 23 (base 8 ou sistema octal).
7
![Page 8: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/8.jpg)
Sistemas Decimal
8
![Page 9: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/9.jpg)
Sistemas Numéricos
Representação Binária
Os computadores modernos utilizam apenas o sistema binário, isto é, todas as informações armazenadas ou processadas no computador usam apenas DUAS grandezas, representadas pelos algarismos 0 e 1.
Essa decisão de projeto deve-se à maior facilidade de representação interna no computador, que é obtida através de dois diferentes níveis de tensão
Havendo apenas dois algarismos, portanto dígitos binários, o elemento mínimo de informação nos computadores foi apelidado de bit (uma contração do inglês binary digit).
Na base 2, o número "10" vale dois. Mas se 102 = 210, então dez é igual a dois?
9
![Page 10: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/10.jpg)
Sistemas Numéricos
Representação em Octal e em Hexadecimal
Em projetos de computação é usual representar quantidades usando sistemas em potências do binário (octal e principalmente hexadecimal), para reduzir o número de algarismos da representação e consequentemente facilitar a compreensão da grandeza e evitar erros.
No sistema octal (base 8), cada três bits são representados por apenas um algarismo octal (de 0 a 7).
No sistema hexadecimal (base 16), cada quatro bits são representados por apenas um algarismo hexadecimal (de 0 a F).
10
![Page 11: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/11.jpg)
Conversão entre bases
Será utilizado o sistema de numeração decimal (base 10) como base intermediária entre as conversões numéricas, mas que existem métodos de conversão direta como, por exemplo, de octal para binário etc.
11
![Page 12: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/12.jpg)
Conversão entre bases
Binário para Decimal
Consiste em multiplicar o algarismo do número binário pela base elevada ao expoente de sua colocação no número, lembrando que a base do número binário é 2.
Ex: 11012
12
![Page 13: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/13.jpg)
Conversão entre bases
Binário para Decimal
Exercício: Converta os seguintes números de base dois para base dez.
a) 1000
b) 1011
c) 101010
d) 1111111
e) 1110111
f) 101101101
13
![Page 14: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/14.jpg)
Conversão entre bases
Decimal para binário
Consiste em dividir o número decimal pela base 2, obtendo um resultado e um resto. Caso o resultado possa ainda ser divido pela base, repete-se a operação até termos um resultado que não possa mais ser dividido pela base.
Ex: 2510
14
![Page 15: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/15.jpg)
Conversão entre bases
Decimal para binário
Exercício: Converta os seguintes números de decimal para binário.
a) 75
b) 90
c) 125
d) 171
e) 200
f) 212
15
![Page 16: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/16.jpg)
Conversão entre bases
Octal para decimal
Consiste em multiplicar o algarismo do número octal pela base elevada ao expoente de sua colocação no número, lembrando que a base do número octal é 8.
Ex: 6278=>
16
![Page 17: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/17.jpg)
Conversão entre bases
Decimal para octal Consiste em dividir o número decimal pela base 8, obtendo um
resultado e um resto. Caso o resultado possa ainda ser divido pela base, repete-se a operação até termos um resultado que não possa mais ser dividido pela base.
Ex: 40710=>
17
![Page 18: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/18.jpg)
Conversão entre bases
Hexadecimal para decimal
Consiste em multiplicar o algarismo do número hexadecimal pela base elevada ao expoente de sua colocação no número, lembrando que a base do número hexadecimal é 16.
Ex: A1B216=>
18
![Page 19: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/19.jpg)
Conversão entre bases
Decimal para hexadecimal
Consiste em dividir o número decimal pela base 16, obtendo um resultado e um resto. Caso o resultado possa ainda ser divido pela base, repete-se a operação até termos um resultado que não possa mais ser dividido pela base.
Ex: 2510=>
19
![Page 20: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/20.jpg)
Hardware
Hardware é a parte física do computador. Exemplos: memórias, processadores, disco rígido entre outros.
O termo "hardware" não se refere apenas aos computadores pessoais, mas também aos equipamentos embarcados em produtos que necessitam de processamento computacional.
Um computador é construído a partir de um projeto e de diversas partes, interligadas de acordo com o que é estabelecido no referido projeto.
Arquitetura de um computador é a descrição dos elementos componentes de um computador e do modo de interligá-los.
A maioria dos computadores existentes no mercado apresenta uma arquitetura proposta ainda nos anos de 1940 pelo o matemático húngaro John Von Neuman.
20
![Page 21: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/21.jpg)
Hardware
Na arquitetura de Von Neuman, internamente os computadores modernos podem ser caracterizados por três partes distintas:
Unidade central de processamento (UCP ou CPU)
Memória primária (ou principal) (MEM)
Dispositivos periféricos ou de entrada e saída (E/S)
21
![Page 22: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/22.jpg)
Hardware
Estas três partes são conectadas entre si por condutores de corrente elétrica, através dos quais os “bits” circulam.
A arquitetura proposta por Von Neuman estabelece que, durante o funcionamento de um computador, ocorre o seguinte processo:
Os dados são capturados por meio de um periférico de entrada!
Após os dados serem capturados são transferidos para a memória primária!
Os dados que estão na memória são direcionados, através de um fluxo de controle, para a unidade central de processamento, ou para algum outro dispositivo periférico!
22
![Page 23: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/23.jpg)
Hardware
Unidade Central de Processamento (UCP). é um conjunto de dispositivos eletrônicos responsável pelas
operações de processamento referentes aos cálculos lógicos e matemáticos.
Tarefas:
o busca de uma instrução na memória;
o interpretação de uma instrução;
o execução de uma operação representada na instrução;
o gravação de eventuais resultados do processamento;
o reinício de todo o processo (caso necessário)
23
![Page 24: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/24.jpg)
Hardware
Unidades que compõem a UCP Unidade Aritmética e Lógica (UAL)
o responsável por realizar cálculos matemáticos mais complexos de maneira mais rápida.
Registradores
o Memória temporária para
• Armazenar dados que vêm da memória primária e vão entrar no processador;
• Armazenar resultados intermediários, de operações aritméticas ou lógicas, que vieram do processador, e que vão retornar ao mesmo;
• Armazenar resultados de operações realizadas no processador e que se destinam à memória primária.
24
![Page 25: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/25.jpg)
Hardware
25
Unidades que compõem a UCP Unidade de Controle (UC)
o Controla o fluxo de dados na UCP: busca na memória, chamadas da UAL, controle geral das tarefas da UCP.
Relógio
o Gerador de pulsos que determinam um ciclo de tarefas da UCP. Em cada ciclo (ou pulso) a UCP realiza uma tarefa, assim quanto maior a frequência do relógio da UCP, mais tarefas esta pode realizar num mesmo intervalo de tempo.
![Page 26: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/26.jpg)
Hardware
Memória Primária (ou Principal)
funciona como uma “área de trabalho“ para todos os procedimentos executados no computador.
serve como local para armazenar os conjuntos de instruções (os “programas”), que são capazes de modificar os dados também ali colocados.
São classificadas de maneira geral de acordo com a sua capacidade de leitura, escrita e volatilidade
26
![Page 27: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/27.jpg)
Hardware
Memória – Tipos
RAM (memória de acesso aleatório)
o é uma memória em que se pode ler e escrever, mas cujo conteúdo é perdido uma vez que o computador é desligado. É a memória principal do computador e a mais usada pelos aplicativos e sistema operacional.
ROM (memória somente-leitura)
o Só é possível ler seu conteúdo, mas não alterá-lo. Não se altera se o computador é desligado.
Secundária
o São dispositivos usados para armazenar grandes quantidades de informação em caráter não volátil. Na maioria das vezes é muito mais lenta que a RAM. Exemplo são os discos rígidos.
27
![Page 28: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/28.jpg)
Hardware
Dispositivo periférico permiti o intercâmbio de dados entre a memória primária do computador e o meio externo.
A quantidade e a variedade de dispositivos periféricos existente tendem a crescer, à medida que aumentam as aplicações do uso do computador.
Tipos de periféricos:
Entrada;
Saída;
Entrada – saída;
Comunicação.
28
![Page 29: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/29.jpg)
Hardware
Periféricos de entrada Têm como função transferir dados do meio externo para a memória
primária. Exemplos: teclados, mouses, unidades de DVD.
Periféricos de saída Trabalham ao contrário dos de entrada, isto é, transferem dados da
memória primária para o meio externo. Cada um desses tipos de periféricos se caracteriza por mover os dados apenas num único sentido.
Exemplos: monitores de vídeo, caixas de som, impressoras.
Periféricos de entrada-saída Podem mover dados em ambos os sentidos. Exemplos: Unidades de discos rígidos (HD), Pen drives.
Periféricos de comunicação São aqueles destinados à comunicação entre computadores. Exemplos: placas para conexão em rede e placa fax-modem 29
![Page 30: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/30.jpg)
Medidas de Armazenamento
Assim como a água é medida em litros ou o açúcar é medido em quilos, os dados de um computador são medidos em bits e bytes.
Cada valor do código binário foi denominado bit (binary digit), que é a menor unidade de informação.
Um bit único somente pode apresentar-se no estado “0”, ou no estado “1”.
Pode representar, no máximo, duas mensagens distintas,
Insuficientes para representar todas as letras do alfabeto, todos os algarismos e caracteres especiais, necessários para representar as mensagens utilizadas na comunicação entre as pessoas.
30
![Page 31: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/31.jpg)
Medidas de Armazenamento
Informação é representada por um grupo de bits chamados de palavras.
Tamanho típico de uma palavra é de 8 bits.
Um grupo de 8 bits é chamada de 1 byte.
Cada letra do alfabeto, seja maiúscula ou minúscula, cada algarismo e cada caráter especial, é representado como um conjunto de oito bits.
A correspondência entre cada caráter e cada grupo de bits é estabelecida através de um código. O código mais difundido até hoje é o ASCII (American Standard Code for Information Interchange).
31
![Page 32: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/32.jpg)
Medidas de Armazenamento
O tamanho de uma memória principal costuma ser definido como a quantidade de bytes que a mesma pode comportar.
Byte
É unidade para medir tamanho de memória primária.
Possui uma escala de múltiplos, apesar de não existirem submúltiplos.
o Não se pode falar em “um terço do byte”, ou de “meio byte”.
32
Múltiplo Representação Equivalência
1 Kilobyte 1KB 1024 B
1 Megabyte 1MB 1024 KB
1 Gigabyte 1GB 1024 MB
1 Terabyte 1TB 1024 GB
![Page 33: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/33.jpg)
Software
Software é a parte lógica, ou seja, o que não se pode tocar. É o conjunto de instruções e dados que é processado pelos circuitos eletrônicos do hardware.
33
![Page 34: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/34.jpg)
Software
Sistema Operacional
Conjunto de programas contendo instruções que coordenam todas as atividades entre recursos computacionais;
Requisito para o funcionamento de um computador;
Ponto de partida para um aprendizado voltado para o domínio de qualquer computador.
Residente no disco rígido do computador (maioria dos casos);
Computadores de diferentes portes possuem tipicamente diferentes sistemas operacionais;
Tipos similares de computadores podem possuir sistemas operacionais diferentes;
34
![Page 35: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/35.jpg)
Software
Linguagem de programação
É um conjunto de termos (vocabulário) e de regras (sintaxe) que permitem a formulação de instruções (programas) para serem executados pelo computador.
Tipos de Linguagem
Linguagem de máquina
Linguagem de baixo nível
Linguagem de alto nível
35
![Page 36: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/36.jpg)
Software
Linguagem de máquina:
É a única entendida pelo computador, sendo formada por instruções escritas em código binário
Linguagens de baixo nível:
São aquelas cujos códigos são muito próximos aos usados pela máquina (códigos binários ou linguagem de máquina). São utilizadas no desenvolvimento de aplicações que interagem diretamente no hardware (processador, memória, portas de E/S) e que necessitam de alta velocidade de execução.
São chamadas de Linguagem Montadora (Assembler – Assembly Language)
36
![Page 37: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/37.jpg)
Software
Linguagem de alto nível
São aquelas cujos códigos são muito próximos aos utilizados pela linguagem humana.
Exemplo: Linguagem C, C++, Java, C#
37
![Page 38: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/38.jpg)
Software
Programa-fonte
Quando a linguagem de programação é utilizada para desenvolvimento de programas executáveis, inicialmente é gerado um “texto”, conhecido como Programa-fonte ou código-fonte que não é reconhecido pelo computador.
É necessário traduzir esse texto para linguagem de máquina, tarefa executada pelos programas tradutores.
Processo conhecido como compilação e gera o programa-objeto.
38
![Page 39: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/39.jpg)
Software
Programas tradutores
Montadores (Assembler)
Compiladores
Interpretadores
39
![Page 40: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/40.jpg)
Software
Interpretador
as instruções definidas na linguagem de alto nível (código-fonte) são executadas diretamente.
traduz o comando de um programa de cada vez e então chama uma rotina para completar a execução do comando.
É um programa que executa repetidamente a seguinte seqüência:
o pega a próxima instrução;
o determina as ações a
serem executadas;
o executa estas ações.
40
código
fonte
saída
de dados
entrada
de dados
interpretador
máquina
![Page 41: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/41.jpg)
Software
Compilador
produz a partir do arquivo de entrada, outro arquivo que é equivalente ao arquivo original, porém numa linguagem que é executável.
Este arquivo resultante pode ser em uma linguagem que é direta-mente executável, tal como linguagem de máquina, ou indiretamente executável, tal como outra linguagem para a qual já existe um tradutor.
O objetivo de um compilador é traduzir um programa escrito em uma linguagem (código fonte) em um programa equivalente expresso em uma linguagem que é executável diretamente pela máquina (código objeto)
41
código
fonte saída
de dados
entrada
de dados
máquina código
objeto
compilador
![Page 42: Algoritmos 01 - Conceitos Básicos](https://reader034.fdocument.pub/reader034/viewer/2022051400/5572137c497959fc0b92665f/html5/thumbnails/42.jpg)
Dúvidas?
42