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