Buscar

Métodos Computacionais - Unidade I - 20241


Prévia do material em texto

Métodos Computacionais
DATA 21/07/2023
Métodos Computacionais 
P r im e ir a U n id a d e
P r o f e s s o r A d i ls o n d a S i lv a
Cronograma
Nossas 
aulas
Cronograma
Aulas Dia Horas
Web 1 19/01/2024 17:30
Web extra 23/01/2024 19:00
Web 2 26/01/2024 17:30
Web Extra 30/01/2023 17:30
Web 3 03/02/2023 14:30
Web 4 06/02/2023 17:30
Objetivos
• História dos computadores
• Compreender a arquitetura de um 
computador, seus elementos, o 
conceito de bits e seus múltiplos;
• Reconhecer a estrutura de um 
algoritmo e como implementá-lo;
• Conceituar, identificar e calcular o 
erro;
• Definir o que é Aritmética de ponto 
flutuante e apresentar suas 
propriedades;
• Discutir sobre os diferentes 
paradigmas de programação.
A História dos Computares
• Problema  Automatizar tarefas 
repetitivas
• 3500 a.C  Ábaco
• Primeiro dispositivo manual de 
cálculo (+,-,*,/)
• Originário do Oriente Médio
• Japão e China
Desenvolvimento das calculadoras: 
1º momento importante para a evolução dos computadores
Criadores de calculadoras 
automáticas
Blaise Pascal
Ano: 1642
Operações: + e -
Gottfried Wilhelm von Leibnitz
Ano: 1672
Operações: +, -, *, /, 
extraía a raiz quadrada
A História dos Computares
• Em 1633, um sacerdote inglês chamado 
William Oughtred, teve a ideia de 
representar esses logaritmos de Napier em 
escalas de madeira, marfim ou outro 
material, chamando-o de CÍRCULOS DE 
PROPORÇÃO. 
• Este dispositivo originou a conhecida 
RÉGUA DE CÁLCULOS. Como os 
logaritmos são representados por traços 
na régua e sua divisão e produto são 
obtidos pela adição e subtração de 
comprimentos, considera-se como o 
primeiro computador analógico da 
história.
A História dos Computares
 1801  Primeira máquina 
mecânica programada 
 Inventado por Joseph Marie 
Jacquard 
 Tear automático com entrada 
de dados através de cartões 
perfurados (forneciam as 
instruções ao tear)
 Controlar a confecção dos 
tecidos e seus desenhos
1ª Revolução Industrial: 
2º momento importante para a evolução dos computadores
A História dos Computares
1833  Máquina Analítica 
(calculador)
Charles Babbage
Necessidade de realizar cálculos 
mais complexos
Semelhante ao computador atual
Considerado o pai da informática
Entrada
(cartões)
Memória Calculadora
Unidade de Controle
Saída
Máquina com Memória Interna: 3º momento importante 
para a evolução dos computadores
A História dos Computares
• Calculador Analítico tinha como 
componente um moinho:
• uma roda dentada, as instruções 
seriam lidas em cartões 
perfurados, que transportavam 
números e padrão de moagem. 
Dispositivo de entrada para ler os 
cartões. 
• uma unidade de memória 
(Armazenagem): para guardar 
números para referências futuras. 
• impressão para mostrar os 
resultados dos cálculos. Dispositivo 
de saída
A História dos Computares
Entrada
(cartões)
Memória Calculadora
Unidade de Controle
Saída
• 1885  Máquina de 
Recenseamento: Herman Hollerith
•Maioria das informações era sim ou 
não
•Capaz de ler e tabular informações 
contidas em cartões perfurados
•Reduziu o tempo do censo de 9 
anos para 3 anos
•Mecanismo elétrico para leitura 
automática de cartões
•Perfurou-se 56 milhões de cartões
A História dos Computares
• A máquina Tabuladora era composta 
das seguintes unidades:
• Unidade de controle, que dirigiria a 
sequencia das operações de toda a 
máquina através de furos em cartões 
perfurados.
• Entrada de dados, que utilizava 
também cartões perfurados.
• Saída de dados em cartões 
perfurados com resultados para uso 
posterior como entrada
• Impressão de apresentação dos 
resultados finais, tais como tabelas 
matemáticas
A História dos Computares
• Lorenz SZ 40/42
• Usada para comunicação de Adolf 
Hitler e seus generais na Segunda 
Guerra Mundial, tratava-se de uma 
máquina criptografada de 
comunicação que utilizava a telegrafia 
como forma de comunicação.
• Usada para comunicação de Adolf 
Hitler e seus generais na Segunda 
Guerra Mundial, tratava-se de uma 
máquina criptografada de 
comunicação que utilizava a telegrafia 
como forma de comunicação.
A História dos Computares
• Lorenz SZ 40/42
• Ela operava em um circuito de teletipo 
e tinha a função de encriptar 
mensagens e descriptar em sua 
origem. Provavelmente, foi primeira 
máquina raqueada da história, pois os 
Aliados conseguiram descobrir as 
mensagens de Hitler com intercepção 
e decriptação.
A História dos Computares
• Colossus
• O computador utilizado para interceptar e 
decodificar essas mensagens foi o britânico 
Colossus, de Alan Turing, mencionado 
anteriormente.
A História dos Computares
MARK – I. (1937-1944) – Construído 
por Howard H. Aiken, da 
Universidade de Harvard. 
1º computador eletromecânico
Relés 
Dimensões: 17 m de comprimento 
e 2 m de altura
Peso: 70 toneladas
2ª Guerra Mundial: 4º momento importante para a 
evolução dos computadores  nascimento oficial do 
computador moderno
A História dos Computares
A Evolução dos Computadores
1ª Geração (1940-1952)
Circuitos eletrônicos e válvulas
Precisava ser reprogramado a 
cada tarefa
Grande consumo de energia
Problemas devido a muito 
aquecimento
Memória: Cartões perfurados
Uso restrito (científico e militar)
•2ª Geração (1952-1964)
• Uso de transístores em substituição às 
válvulas
• Mais rápido com menor consumo 
de energia
• Menores dimensões (100x menor 
que a válvula)
• Maior durabilidade e confiabilidade
• Tamanho gigantesco
• Capacidade de processamento muito 
pequena
• Memória: Fitas magnéticas
• Início do uso comercial
• Diminuição de preço e tamanho
A Evolução dos Computadores
•3ª Geração (1964-1971)
• Uso de circuitos integrados em 
substituição aos transistores
• Milhares (ou milhões) de transistores 
em uma pastilha de silício
• Miniaturização 
• SSI (Short Scale Integration)
• MSI (Medium Scale Integration)
• Diminuição do tamanho
• Surgiram os minicomputadores
• Maior capacidade de 
processamento
• Memória: Discos Magnéticos
• Evolução do software (multitarefa, 
tempo real)
A Evolução dos Computadores
•4ª Geração (1971-1981)
• Aparece o microprocessador (toda a 
UCP em um único circuito integrado)
• Surgem os softwares integrados
• Processadores de texto, planilhas 
eletrônicas, gerenciadores de BD, 
gerenciadores de comunicação
• Surgiram os microcomputadores, 
• supercomputadores
• Continuação do processo de 
miniaturização
• LSI – Large Scale of Integration
• Memória: Disquetes
A Evolução dos Computadores
• 5ª Geração (1981-????)
• Robótica
• Realidade Virtual (Multimídia)
• Inteligência Artificial
• Era On-Line - Internet
• Continuação do processo de 
minituarização
• VLSI – Very LSI
• ULSI – Ultra LSI
• Linguagem Natural
A Evolução dos Computadores
Tipos gerais de computadores
• Computadores pessoais (desktop)
• Computadores portáteis 
(notebooks)
• Computadores manuais 
(handheld)
• Servidores
• Mainframes
• Supercomputadores
Benefícios trazidos pelo 
computador
• Confiabilidade e Exatidão
• Precisão no controle de processos
• Aumento da produtividade
• Análise de grandes quantidades 
de informação
• Auxílio à tomada de decisões
• Agilidade nas operações
• Redução da burocracia
Desvantagens
• Limitado ao que está programado
• Sem criatividade (???)
• Difícil tratamento da ambiguidade
• Obsolescência
• Dependência
Arquitetura de Computadores
• Design do sistema: inclui 
todos os componentes de 
hardware do sistema, 
como processadores, 
unidade de 
processamento gráfico e 
acesso direto à memória. 
Ele também inclui 
controladores de memória, 
caminhos de dados, 
multiprocessamento e 
virtualização.
• Arquitetura do conjunto de instruções 
(ISA): é a linguagem de programação 
incorporada da unidade central de 
processamento. Ela define as funções 
e capacidades da CPU com base em 
qual programação pode executar ou 
processar. Isso inclui o tamanho da 
palavra, tipos de registro do 
processador, modos de 
endereçamento da memória, formatos 
de dados e o conjuntode instruções 
que os programadores usam.
Arquitetura de Computadores
• Microarquitetura: também conhecida 
como organização do computador, 
esse tipo de arquitetura define os 
caminhos dos dados, o processamento 
e o armazenamento dos dados, bem 
como a forma com que eles devem ser 
implementados na ISA. Na história da 
computação, surgiram diversos tipos de 
arquiteturas de computador. 
Entretanto, a mais famosa, utilizada até 
hoje, é a arquitetura de Von Neumann, 
criada em 1946 por John Von Neumann.
Arquitetura de Computadores
• Unidade de entrada: conecta o 
ambiente externo ao sistema interno do 
computador. Ela fornece dados e 
instruções para o sistema do 
computador. Os dispositivos de entrada 
mais usados são teclado, mouse, fita 
magnética etc. A unidade de entrada 
executa as seguintes tarefas: aceita os 
dados e instruções do ambiente 
externo, converte-o em linguagem de 
máquina e fornece ao sistema 
computacional os dados convertidos.
Arquitetura de Computadores
• Unidade de saída: responsável por 
conectar o sistema interno do 
computador ao ambiente externo. 
Ela fornece os resultados de 
qualquer cálculo ou instruções para 
o mundo exterior. Alguns dispositivos 
de saída são impressoras e 
monitores;
Arquitetura de Computadores
• memória ou 
armazenamento: contém os dados e 
instruções. Ela também armazena os 
resultados intermediários antes de 
serem enviados para os dispositivos 
de saída ou para uso posterior. A 
unidade de memória ou 
armazenamento de um sistema de 
computador pode ser dividida em 
duas categorias:
Arquitetura de Computadores
• Armazenamento primário: é um 
tipo volátil, com armazenamento 
temporário, usado para armazenar 
os dados que estão sendo 
executados no momento;
• Armazenamento secundário: é um 
tipo não volátil, com 
armazenamento permanente de 
dados, sendo esta memória mais 
lenta e mais barata que a memória 
primária;
Arquitetura de Computadores
Arquitetura de 
Computadores
• Unidade lógica aritmética (ULA): todos 
os cálculos são realizados na ULA do 
sistema computacional. Ela pode 
executar operações básicas, como 
adição, subtração, divisão, 
multiplicação etc. Sempre que são 
necessários cálculos, a unidade de 
controle transfere os dados da unidade 
de armazenamento para a ULA. 
Quando as operações são concluídas, 
o resultado é transferido de volta para a 
unidade de armazenamento;
•Unidade de controle: responsável por 
controlar todas as outras unidades do 
computador e por buscar as 
instruções na memória principal. 
Também é conhecida como sistema 
nervoso central do computador;
Arquitetura de Computadores
•Unidade central de processamento 
(UCP): a unidade de controle e a ULA 
são conhecidas como UCP (ou CPU 
para sigla em inglês de central 
processing unit). A UCP é o cérebro 
do sistema computacional. Ela 
executa as seguintes tarefas: realiza 
todas as operações, toma todas as 
decisões e controla todas as unidades 
do computador.
Arquitetura de Computadores
Representação da 
informação no 
computador
• Conceito de bits
• A informação mais básica que um 
computador consegue compreender é 
o bit. Este termo é uma forma 
abreviada de dígito binário e possui 
apenas um dos dois valores: 0 ou 1. Se 
você olhar para um interruptor de luz, 
verá que ele é um mecanismo binário, 
pois ou está ligado ou desligado.
Representação da informação 
no computador
• Bytes e seus múltiplos para coleção de 
bits(st)
• Um byte (sua forma abreviada é um B 
maiúsculo) é uma unidade comum 
para agrupamentos de bits.
• Em termos de conversão para uso 
humano, considere que oito bits podem 
representar 256 coisas diferentes.
• As coisas ficam complicadas quando 
os conjuntos de bytes começam a 
aumentar; é aí que surgem os múltiplos 
como quilo, mega, giga, penta... bytes! 
Entretanto, aqui cabe uma atenção 
especial. O termo "quilo" é geralmente 
denotado para representar mil ou 103. 
No binário, por sua vez, "quilo" significa 
210, o que resulta em 1024 em decimal. 
Esta relação continua em toda a 
escalados múltiplos de bytes.
Representação da 
informação no 
computador
Desenvolvimento de Algoritmos
•Existem muitas definições para o termo 
algoritmo. As autoras do livro Algoritmos 
e programação com exemplos em 
Pascal e C (2014), Nina Edelweiss e 
Maria Aparecida Livi, indicam que um 
algoritmo corresponde a uma 
descrição de um padrão de 
comportamento expresso em termos 
de um conjunto finito de ações.
• Edelweiss e Livi apontam que um 
algoritmo deve:
• possuir um estado inicial;
• consistir em uma sequência lógica 
finita de ações;
• produzir dados de saída corretos;
• possuir um estado final.
Sintaxe de um algoritmo
• Quando falamos em regras 
na computação, estamos 
por indicar quais tipos de 
comandos (estruturas de 
programação) e expressões 
podem ser utilizados.
• Os tipos de comandos ou 
estruturas são:
• Estrutura sequencial
• Estrutura condicional
• Estrutura de repetição (ou 
interação)
Sintaxe de um algoritmo
• Problema: precisamos mostrar na tela do computador a 
área do círculo com base no dado de entrada (raio) que 
será informado pelo usuário, sabendo que sua fórmula é 
área = pi · raio².
• Resposta: um possível algoritmo que resolve este problema 
é:
inicio_do_algoritmo
Primeiro passo: peça ao usuário para digitar o raio do 
círculo;
Segundo passo: calcule a área usando a fórmula pi · raio²;
Terceiro passo: exiba o valor na tela.
fim_do_algoritmo
Note o estado inicial, a solução do problema por meio de 
uma sequência finita de ações e o estado final, tudo 
conforme as definições vistas no início deste tópico.
Fluxograma
• Todo fluxograma possui uma 
sintaxe e uma semântica muito 
bem definidas, apresentando 
símbolos específicos para cada 
comando, tipos de expressões 
padronizados e sub-rotinas 
predefinidas. Enquanto a sintaxe 
define os símbolos, a semântica 
define como interpretá-los. A 
Figura 3 apresenta os principais 
tipos de componentes do 
fluxograma.
Fluxograma
Algoritmo
• Primeiro passo: peça ao 
usuário para digitar o raio 
do círculo;
• Segundo passo: calcule a 
área usando a fórmula pi · 
raio²;
• Terceiro passo: exiba o 
valor na tela.
Exemplo de Algoritmo
Algoritmo
• Um exemplo de algoritmo 
que está fora do contexto 
computacional é o 
procedimento para se 
fritar um ovo. 
Exemplo de Algoritmo
Algoritmo
• Um exemplo concreto do 
uso de algoritmo pode ser 
feito quando, dados dois 
valores, temos que 
encontrar qual deles é o 
maior e apresentá-lo na 
tela.
Teste de Mesa
Note que o valor de entrada para a variável X foi 6, e 
o valor para a variável Y foi 5.No teste condicional, 6 
é maior que 5, logo, ele foi apresentado.
Teste de Mesa
Neste quadro, o usuário informa os valores 50 e 51, 
respectivamente, para X e Y.
Tipos de dados e convenções
• Esses são os tipos primitivos 
de dados e os veremos 
agora.
• Números
• Caracteres e cadeias de 
caracteres
• Valore lógicos
Nomes de variáveis
• O nome de uma variável deve ter, no 
máximo, 63 caracteres;
• O nome deve ser iniciado 
obrigatoriamente por uma letra ou por 
‘_’;
• O nome só pode possuir número se 
começar com letra;
• O nome da variável somente aceita: 
letras, números e o caractere ‘_’;
• Letras gregas ou outras fora do alfabeto 
ocidental não são aceitas;
• Algumas linguagens de programação 
são case sensitive, ou seja, A 
(maiúsculo)é diferente de a 
(minúsculo).
Operações Aritméticas
• Na montagem do algoritmo ou de 
um código de programação, 
podemos considerar as quatro 
operações aritméticas, que são:
• adição, 
• subtração, 
• multiplicação e divisão.
Teoria dos Erros
• A obtenção de resultados provenientes 
de observações é limitada. Afinal, o ser 
humano é falho. Todavia, uma vez que 
é difícil determinar respostas exatas e 
precisas, torna-se necessário estimar 
quão boa e eficiente foi a medição 
realizada, quantificando a qualidade 
da solução descoberta. 
• Essa diferença entre o resultado 
encontrado e o resultado corretorecebe o nome de erro e é inerente aos 
processos numéricos, não podendo, em 
muitos casos, ser evitado.
Erro na origem dos dados
• Alguns dados são obtidos por medidas 
experimentais. Em outras palavras, até 
obter determinadas informações, é 
comum que surjam incoerências. Dessa 
forma, logo no início, nos deparamos 
com os erros dos dados de entrada.
• Quando o modelo matemático é 
proveniente de um problema físico, há 
incertezas quanto às medidas realizadas 
pelos instrumentos de medição, que 
possuem uma precisão limitada devido 
a diversos fatores,
Erro de truncamento
• O erro de truncamento consiste no 
erro característico e inerente aos 
modelos numéricos. 
• O ato de truncar corresponde aos 
erros originários da utilização de 
processos, que são compostos por 
termos infinitos ou muito grandes 
para a determinação de um valor.
Erro de truncamento
• São considerados exemplos de erro 
de truncamento:
• estudo de uma série infinita, uma vez 
que ao adaptá-la para uma 
quantidade de termos finitos, ou 
seja, limitar uma quantidade de 
termos, cometemos erro de 
truncamento;
• processo de linearização de uma 
função, pois consiste no 
desenvolvimento da função em série 
de Taylor, considerando apenas os 
termos lineares. 
Erro de arredondamento
• Arredondamento é o processo que 
“dispensa” algumas casas decimais 
à direita de um algarismo. 
• A Associação Brasileira de Normas 
Técnicas (ABNT) publicou, em 10 de 
dezembro de 2014, a norma ABNT 
NBR 5891:2014 – Regras de 
arredondamento na numeração 
decimal, definindo as regras para 
executar tal operação.
Erro de arredondamento
• Arredondamento é o processo que 
“dispensa” algumas casas decimais 
à direita de um algarismo. 
• A Associação Brasileira de Normas 
Técnicas (ABNT) publicou, em 10 de 
dezembro de 2014, a norma ABNT 
NBR 5891:2014 – Regras de 
arredondamento na numeração 
decimal, definindo as regras para 
executar tal operação.
Erro de arredondamento
• Quando o algarismo imediatamente 
seguinte ao último algarismo a ser 
conservado for superior ou igual a 5 e 
for seguido de, no mínimo, um algarismo 
diferente de zero, o último algarismo a 
ser conservado deverá ser aumentado 
em uma unidade.
• o algarismo 4,6691, quando 
arredondado à segunda decimal, 
fica4,67.
Erro de arredondamento
• Os erros de arredondamento 
ocorrem a cada arredondamento 
mal realizado e são introduzidos nas 
operações efetuadas, influenciando 
diretamente na solução e gerando, 
assim, resultados diferentes ou muito 
distantes do correto.
Erro absoluto, erro relativo e erro percentual
• O erro absoluto (EAx), lido como erro 
absoluto em x, compreende o 
resultado entre a subtração do valor 
exato de um número x e seu valor 
aproximado x, encontrado a partir 
de um procedimento numérico e da 
seguinte relação.
• O erro relativo (ERx), também lido 
como erro relativo em x, é a razão 
entre o erro absoluto.
• Por fim, o erro percentual é o erro 
relativo em porcentagem.
Aritmética de ponto flutuante
• Ela pode ser utilizada no sistema de 
numeração binário? A resposta é 
categórica: não! Para atender a 
essa demanda, foi criado o ponto 
flutuante, que nada mais é do que 
uma versão da notação científica 
adaptada para o sistema binário.
Aritmética de ponto flutuante
• Ela pode ser utilizada no sistema de 
numeração binário? A resposta é 
categórica: não! Para atender a 
essa demanda, foi criado o ponto 
flutuante, que nada mais é do que 
uma versão da notação científica 
adaptada para o sistema binário.
• Já a Aritmética de ponto flutuante, 
como o próprio nome sugere, 
trabalha as operações aritméticas 
(adição, subtração, multiplicação e 
divisão) com os números 
representados em ponto flutuante.
Algarismos significativos
• Medições de grandezas físicas são 
constantemente utilizadas nas mais 
distintas operações. Assim, considerando 
o resultado de uma medição, os 
algarismos significativos são identificados 
como aqueles que são contabilizados 
da esquerda para a direita, partindo do 
primeiro algarismo diferente de zero.
• E como contabilizar estes algarismos 
significativos? 
• o algarismo 0,014 possui dois 
algarismos significativos;
• o algarismo 37,5 possui três algarismos 
significativos;
Algarismos significativos
• Para as operações de adição ou 
subtração, devemos arredondar os 
valores dos algarismos significativos a fim 
de deixá-los com uma igual quantidade 
de casas decimais e, em seguida, 
executar a operação.
• Exemplo 3:
10,08299 + 23,06 = 10,08 + 23,06 = 33,14
99,112 - 87,4436 = 99,112 - 87,444 = 11,668
Multiplicação e divisão com 
algarismos significativos
• Operações de multiplicação e divisão 
são executadas conforme suas 
especificações próprias e o resultado 
obtido deve ser escrito com a mesma 
quantidade de algarismos significativos 
ao fator que compõe a operação que 
possui a menor quantidade de 
algarismos significativos.
• Exemplo:
1,120 · 12,7306 = 14,258272 ≅ 14,26
67,23 : 7,0119 = 9,58798614 ≅ 9,588
Sistemas de numeração
• O sistema de numeração decimal é 
instituído por dez dígitos: 0, 1, 2,3, 4, 5, 
6, 7, 8 e 9. Sua dinâmica ocorre pelo 
agrupamento de dez, sendo que 
cada algarismo é multiplicado por 
uma potência de 10, diferenciada 
pelo valor de seu expoente. Constitui 
um sistema posicional, isto é, o valor 
de um algarismo é determinado pela 
posição que ocupa no numeral.
Sistemas de numeração
• O sistema de numeração binário é 
formado pelos algarismos 0 e 1, que 
são conhecidos como bits. No 
funcionamento desse sistema, cada 
algarismo que compõe o número é 
multiplicado por uma potência de 
base dois, distinguida pelo valor 
atribuído a seu expoente.
• O número 111 é representado no 
sistema binário da seguinte maneira:
(111)2 = 1 · 22 + 1 · 21 + 1 · 20
Sistemas de numeração
• No sistema de numeração octal, a 
base é 8 e cada posição é indicada 
por um múltiplo de uma potência de 
8. Como o próprio nome sugere, é 
formado por oito algarismos, que 
originam outros números.
• O número 532 é representado no 
sistema octal da seguinte maneira:
532 = 5 · 82 + 3 · 81 + 2 · 80
Sistemas de numeração
• O sistema de numeração hexadecimal 
possui base igual a 16, que é elaborada 
pelo conjunto dos seguintes algarismos: 0, 1, 
2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D,E, F. Nesse 
sistema, existe a combinação entre letras e 
números. Assim, cada algarismo pode 
conter dezesseis possibilidades de símbolos. 
Ao findar todos os dígitos hexadecimais, a 
repetição começa com o incremento de 
outro dígito. 
• O número 12412 é representado no 
sistema hexadecimal da seguinte maneira:
• 12412 = 307C
Sistema e Aritmética de ponto 
flutuante
• Cada número representado em ponto 
flutuante está relacionado com três outros 
números: mantissa, expoente (valor mínimo 
e máximo) e base.
• https://www.youtube.com/watch?v=psyH7e
BVLr4
Paradigmas
• Cada linguagem tende a suportar um 
paradigma (ou estilo) particular de 
programação. Embora vários fatores 
possam afetar a escolha da linguagem de 
programação para uma tarefa específica, 
incluindo preferência pessoal, política 
corporativa ou simplesmente a 
disponibilidade de conhecimento e 
experiência interna suficientes, a 
linguagem selecionada deve ser a mais 
adequada para a tarefa em questão.
DATA 21/01/2022
Paradigmas
Imperativo
• A palavra "imperativo" vem do latim 
impero, que significa "eu ordeno". É a 
mesma palavra que originou "imperador", e 
esta relação é bastante adequada. Neste 
paradigma, o desenvolvedor é o 
imperador. Você dá ao computador 
pequenas ordens e ele as executa uma de 
cada vez e as informa.
• O fluxo de controle na programação 
imperativa é explícito: os comandos 
mostram como a computação ocorre, 
passo a passo. Cada etapa afeta o estado 
global da computação.
Paradigmas
Orientado a Objetos
• Neste paradigma, o processamento das 
instruções do programa é dividido entre 
vários processadores. Geralmente é mais 
bem usada quando:
• você tem um sistema que possuimais 
de uma CPU ou processadores 
multinúcleos. 
• você precisa resolver alguns 
problemas computacionais que 
levam horas ou dias para serem 
resolvidos.
• você trabalha com dados do mundo 
real que precisam de simulação e 
modelagem mais dinâmicas.
Paradigmas
declarativo
• O paradigma declarativo é um estilo de 
construção de programas que expressa 
a lógica de uma computação sem falar 
sobre seu fluxo de controle. A 
programação declarativa é um 
paradigma em que o programador 
define o que precisa ser realizado sem 
definir como ele deve ser 
implementado. Em outras palavras, a 
abordagem enfoca o que precisa ser 
alcançado em vez de instruir como 
alcançar.
Paradigma
lógico
• O paradigma da programação lógica 
adota uma abordagem declarativa 
para a solução de problemas. É 
baseado na lógica formal. Ele não é 
composto de instruções, mas, sim, de 
fatos e cláusulas. Usa tudo o que sabe e 
tenta criar o mundo em que todos esses 
fatos e cláusulas são verdadeiros.
Paradigma
funcional
• O paradigma de programação 
funcional está no centro das atenções 
há um tempo por conta do JavaScript, 
que ganhou mais popularidade 
recentemente. O paradigma de 
programação funcional tem suas raízes 
na matemática e é independente de 
linguagem. O princípio-chave desse 
paradigma é a execução de uma série 
de funções matemáticas. Você compõe 
seu programa de funções curtas.
Paradigma
database
• Este paradigma de programação é 
baseado em dados e seu movimento. 
As instruções do programa são definidas 
pelos dados em vez de codificarem 
uma série de etapas. Para processar os 
dados e consultá-los, os bancos de 
dados usam tabelas. Os dados podem 
ser facilmente acessados, gerenciados, 
modificados, atualizados, controlados e 
organizados.
Paradigma Programação orientada 
a eventos
• A programação orientada a eventos é um 
paradigma no qual o fluxo de execução do 
programa é determinado por eventos – por 
exemplo, uma ação do usuário, como um 
clique do mouse, pressionamento de tecla, 
uma mensagem do sistema operacional ou 
de outro programa.
Linguagens de baixo e alto nível
• A principal diferença entre elas é que a 
linguagem de alto nível é facilmente 
interpretada pelos programadores, mas não 
pelas máquinas, enquanto a linguagem de 
baixo nível pode ser facilmente entendida 
pelas máquinas, mas não pelos humanos. A 
linguagem de baixo nível é compreendida 
pela linguagem de máquina e linguagem 
assembly.
Linguagens de baixo e alto nível
• A linguagem de baixo nível é considerada 
baixa porque vai para o nível da máquina e 
pode determinar como os elementos de 
hardware do computador realmente 
interagem. Essas linguagens de baixo nível 
precisam de um amplo conhecimento dos 
componentes de hardware e de suas 
configurações.
• Linguagem de máquina
• Linguagem assembly
Linguagens de baixo e alto nível
• Linguagens de alto nível são construídas 
por uma combinação de símbolos 
matemáticos, caracteres e símbolos da 
linguagem natural, sendo modeladas por 
cenários do mundo real. Estas são 
implementadas, principalmente, para o 
desenvolvimento rápido e fácil de um 
programa. 
• Não é necessário memorizar a arquitetura 
e os registros de uma CPU para o 
desenvolvimento de um programa. Os 
compiladores são usados para traduzir o 
programa de linguagem de alto nível 
para a linguagem de máquina. 
Princípios da Informação
• Dados – Os dados são partículas de uma 
informação. São consideradas os 
elementos brutos por não gerarem nenhum 
significado.
• Informação – A informação é um conjunto 
de dados processados ou organizados que 
tem como principal objetivo gerar uma 
ação ou fornecer um conhecimento.
• Conhecimento – O conhecimento é o 
produto de qualquer informação. Em 
sistemas de informação, visa trazer uma 
perspectiva sobre a informação gerada 
pelos sistemas computacionais.
Informação
• Do ponto de vista analítico, 
a informação é um patrimônio, um 
conjunto de dados que possui valor. 
• Quando digital, esses dados não 
correspondem meramente a um monte 
de bits e bytes, mas a um conjunto 
classificado e organizado de detalhes.
• Trata-se do bem econômico mais 
valorizado hoje em dia. A informação é a 
commodity dos últimos tempos. Pois 
acredite……ela é expansiva. Isso quer dizer 
que, quanto mais você a utiliza, mais ela 
cresce.
Processo de transformação de 
dados para Informação
• Para que tenhamos uma informação, é 
necessário que o dado bruto passe por 
algumas etapas. 
• Cada uma dessas etapas tem papel 
fundamental para a transformação de 
dados irrelevantes em uma informação 
completa. 
Principais vantagens dos sistemas 
de Informação
•As vantagens dos sistemas de 
informação são, de fato, incontáveis. 
Dentre elas, existem algumas que 
podemos destacar:
• Redução de custos operacionais e 
administrativos e ganho de 
produtividade;
• Mais integridade e confiabilidade da 
informação;
• Mais estabilidade;
• Mais segurança de acesso à 
informação;
Principais vantagens dos sistemas 
de Informação
• Otimização do fluxo de informação, 
permitindo mais agilidade e 
organização;
• Informações de melhor qualidade, 
essenciais para uma boa tomada de 
decisão.
Próxima aula Linguagens C++
• Utilizaremos a linguagem C++ para 
criar os programas;
• Download do DEV C++
• https://sourceforge.net/projects/orw
elldevcpp/
• Criaremos rotinas simples.
• Não próxima aula iremos iniciar com a 
realização de um Jogo.
https://sourceforge.net/projects/orwelldevcpp/
https://sourceforge.net/projects/orwelldevcpp/
Próximos Passos
• Conhecer Linguagem C
• Ser capaz de criar programas 
básicos em C
Adilson da Silva
Obrigado
adilson.silva@sereducacional.com
	Número do slide 1
	Número do slide 2
	Número do slide 3
	Número do slide 4
	Número do slide 5
	Número do slide 6
	Número do slide 7
	Número do slide 8
	Número do slide 9
	Número do slide 10
	Número do slide 11
	Número do slide 12
	Número do slide 13
	Número do slide 14
	Número do slide 15
	Número do slide 16
	Número do slide 17
	Número do slide 18
	Número do slide 19
	Número do slide 20
	Número do slide 21
	Número do slide 22
	Número do slide 23
	Número do slide 24
	Número do slide 25
	Número do slide 26
	Número do slide 27
	Número do slide 28
	Número do slide 29
	Número do slide 30
	Número do slide 31
	Número do slide 32
	Número do slide 33
	Número do slide 34
	Número do slide 35
	Número do slide 36
	Número do slide 37
	Número do slide 38
	Número do slide 39
	Número do slide 40
	Número do slide 41
	Número do slide 42
	Número do slide 43
	Número do slide 44
	Número do slide 45
	Número do slide 46
	Número do slide 47
	Número do slide 48
	Número do slide 49
	Número do slide 50
	Número do slide 51
	Número do slide 52
	Número do slide 53
	Número do slide 54
	Número do slide 55
	Número do slide 56
	Número do slide 57
	Número do slide 58
	Número do slide 59
	Número do slide 60
	Número do slide 61
	Número do slide 62
	Número do slide 63
	Número do slide 64
	Número do slide 65
	Número do slide 66
	Número do slide 67
	Número do slide 68
	Número do slide 69
	Número do slide 70
	Número do slide 71
	Número do slide 72
	Número do slide 73
	Número do slide 74
	Número do slide 75
	Número do slide 76
	Número do slide 77
	Número do slide 78
	Número do slide 79
	Número do slide 80
	Número do slide 81
	Número do slide 82
	Número do slide 83
	Número do slide 84
	Número do slide 85
	Número do slide 86
	Número do slide 87
	Número do slide 88

Mais conteúdos dessa disciplina