Introduo Informtica Conceitos Nomenclaturas Conceito Computador n Segundo

  • Slides: 51
Download presentation
Introdução à Informática Conceitos Nomenclaturas

Introdução à Informática Conceitos Nomenclaturas

Conceito Computador n Segundo Farrer n Ferramenta capaz de tomar certas informações, processá-las e

Conceito Computador n Segundo Farrer n Ferramenta capaz de tomar certas informações, processá-las e obter resultado n Tipos analógicos de computador: termômetro, régua, barômetro

Computadores Digitais n Capazes de fazer aritmética sobre dígitos n Trabalham com informações lógicas

Computadores Digitais n Capazes de fazer aritmética sobre dígitos n Trabalham com informações lógicas e não com grandezas físicas

Sistemas Operacionais Definição: Conjunto de programas usado para prover acesso e abstração sobre o

Sistemas Operacionais Definição: Conjunto de programas usado para prover acesso e abstração sobre o hardware n Usuário deve ser capaz de fazer tarefas independente do hardware n É função do SO gerenciar, esconder e proteger o hardware n O SO deve prover funcionalidades para outras aplicações n

Noções de S. O.

Noções de S. O.

Exemplos n Window – ¨ Inicialmente criado com interface gráfica do ms-dos ¨ O

Exemplos n Window – ¨ Inicialmente criado com interface gráfica do ms-dos ¨ O sistema mais conhecido do mundo ¨ Principais Versões: 98, 2000, xp e 7 ¨ Fiascos – 97, Milenium, vista n Linux ¨ Baseado no sistema unix ¨ Diversas distribuições gratuitas e pagas ¨ Principais Distribuições: Ubuntu, Debian, Fedora, Red. Hat ¨ Usado para computação de alto desempenho

Outros Exemplos n Solaris - Desenvolvido para aplicações de grande porte com recursos múltiplos

Outros Exemplos n Solaris - Desenvolvido para aplicações de grande porte com recursos múltiplos n ISA – SO usado nos Celulares Nokia n Mac-OS – Desenvolvido para arquiteturas MAC (hoje em desuso). Voltado para programação e tratamento de imagens

Divisão

Divisão

Divisão Kernel – programas ligados principalmente ao hardware n Shell – Programas ligados aos

Divisão Kernel – programas ligados principalmente ao hardware n Shell – Programas ligados aos serviços de baixo nível e suporte para outras aplicações n Aplicação – Programas de alto nível – browser, editores de texto, etc n

Função de gerenciamento n Gerenciamento de Processador(es) n Gerenciamento de memória(as)

Função de gerenciamento n Gerenciamento de Processador(es) n Gerenciamento de memória(as)

Gerenciamento de Processadores n Programas são divididos em tarefas (instruções) n Processadores possuem um

Gerenciamento de Processadores n Programas são divididos em tarefas (instruções) n Processadores possuem um limite máximo de instruções que podem ser executadas por unidade de tempo

Analogia

Analogia

Analogia

Analogia

Analogia

Analogia

Gerenciamento de Memória n 2 tipos básicos – primária e secundária n Primária –

Gerenciamento de Memória n 2 tipos básicos – primária e secundária n Primária – conhecida como RAM n Secundária – HD, DVD, Pendrives, etc

Gerenciamento de Memória é controlada pelo sistema operacional n Todos os aplicativos utilizam a

Gerenciamento de Memória é controlada pelo sistema operacional n Todos os aplicativos utilizam a memória principal n n Alguns usam memória secundária voluntária ou involuntariamente (memória virtual)

Gerenciamento de Memória O sistema operacional consome memória n Ao perceber que a memória

Gerenciamento de Memória O sistema operacional consome memória n Ao perceber que a memória principal não é suficiente para acomodar todos os programas em execução o sistema operacional começa a utilizar memória virtual n Parte dos blocos de memória armazenados na MP é transferido para o disco n

Gerenciamento de Memória n Escolha dos blocos a serem transferidos é probabilística n Este

Gerenciamento de Memória n Escolha dos blocos a serem transferidos é probabilística n Este comportamento pode afetar programas que fazem uso de grande quantidade de memória

Arquitetura de Von Neumann Memória Unidade de entrada Unidade Central de Processamento Unidade de

Arquitetura de Von Neumann Memória Unidade de entrada Unidade Central de Processamento Unidade de saída

Funções n Entrada – captar informações para o processo de computação n Saída –

Funções n Entrada – captar informações para o processo de computação n Saída – exibir o resultado da computação de maneira inteligível n UCP (CPU) – realizar as operações necessárias à computação n Memória – Armazenar dados intermediários para a computação

FAQ n É possível ter mais de um dispositivo de entrada/saída ao mesmo tempo?

FAQ n É possível ter mais de um dispositivo de entrada/saída ao mesmo tempo? n Mecanismos de entrada podem ser usados como mecanismos de saída?

Como realizar computação n Computação é tipicamente feita através de programas de computador ¨

Como realizar computação n Computação é tipicamente feita através de programas de computador ¨ Capazes de analisar as informações ¨ Fazer transformações necessárias ¨ Realizar a computação ¨ Imprimir os resultados

Programas n Mas o que é um programa? n Para entender o conceito de

Programas n Mas o que é um programa? n Para entender o conceito de programa é necessário entender o conceito de algoritmo

Algoritmo - Definição n Descrição de um conjunto de comandos que, obedecidos, resultam em

Algoritmo - Definição n Descrição de um conjunto de comandos que, obedecidos, resultam em um conjunto finito de ações

Etimologia A palavra algoritmo tem origem no sobrenome, Al-Khwarizmi, de um matemático persa do

Etimologia A palavra algoritmo tem origem no sobrenome, Al-Khwarizmi, de um matemático persa do século IX n Do Árabe Al-goreten - raiz n Do grego arithmós – número

Definição n Apesar de ser um conceito muito antigo (há relatos de algoritmos na

Definição n Apesar de ser um conceito muito antigo (há relatos de algoritmos na Grécia antiga), o conceito só foi formalizado na história contemporânea n 1936 – Alan Turing

Funcionamento Entrada Algoritmo Saída

Funcionamento Entrada Algoritmo Saída

Exemplo n Fazer uma Mousse de Maracujá Entrada: n 1 lata de leite condensado

Exemplo n Fazer uma Mousse de Maracujá Entrada: n 1 lata de leite condensado 1 lata de creme de leite sem soro 1 lata (a mesma medida) de suco de maracujá concentrado 1 envelope de gelatina em pó sem sabor n

Exemplo n n n Algoritmo: Bata no liquidificador o leite condensado, o creme de

Exemplo n n n Algoritmo: Bata no liquidificador o leite condensado, o creme de leite sem soro e o suco de maracujá A parte prepare a gelatina em pó, conforme instruções do envelope Quando amornar, coloque para bater juntamente com os demais ingredientes que estão no liquidificador Unte uma forma de pudim com margarina e antes de colocar o creme passe água pela forma, como se fosse enxaguá-la Coloque no congelador até estar no ponto para tirar da forma

Exemplo n Saída:

Exemplo n Saída:

Exemplo n A receita pode ser chamada de algoritmo ambíguo ¨ Quando amornar, coloque

Exemplo n A receita pode ser chamada de algoritmo ambíguo ¨ Quando amornar, coloque para bater juntamente com os demais ingredientes que estão no liquidificador ¨ Coloque no congelador até estar no ponto para tirar da forma n O Português é uma linguagem ambígua

Exemplo 2 n Pedir cerveja por telefone Entrada: n Lista com os fornecedores de

Exemplo 2 n Pedir cerveja por telefone Entrada: n Lista com os fornecedores de cerveja que entregam no endereço desejado n

Exemplo 2 n Algoritmo: n Ligue para o primeiro número na lista que não

Exemplo 2 n Algoritmo: n Ligue para o primeiro número na lista que não esteja marcado Pergunte e anote o preço da caixa de cerveja Marque o fornecedor para o qual você acabou de ligar Repita os três passos anteriores até que todos os fornecedores estejam marcados Localize o fornecedor que possua o menor preço, ligue novamente e peça a caixa de cerveja n n

Exemplo 2 n Saída:

Exemplo 2 n Saída:

Representações para algoritmos n Textual n Fluxograma n Pseudocódigo

Representações para algoritmos n Textual n Fluxograma n Pseudocódigo

Representação Textual O algoritmo para pedir uma caixa de cerveja por telefone possui como

Representação Textual O algoritmo para pedir uma caixa de cerveja por telefone possui como entrada uma lista de todos os fornecedores que entregam caixas de cerveja no endereço desejado e procede da seguinte maneira: Primeiramente, deve-se ligar para cada um dos fornecedores presentes na lista e registrar os respectivos preços. Em seguida, após se ter todos os preços, deve-se ligar para o fornecedor que possui o menor preço e fazer a encomenda

Representação por Fluxograma Entrada Processo Decisão Terminação

Representação por Fluxograma Entrada Processo Decisão Terminação

Representação por Fluxograma Lista Ligar Perguntar e registrar o preço Marcar fornecedor Não Todos

Representação por Fluxograma Lista Ligar Perguntar e registrar o preço Marcar fornecedor Não Todos os Fornecedores Marcados? Sim Encomendar Fim

Representação por Pseudocódigo Procedimento encomendar. Cerveja(lista de fornecedores) Para cada fornecedor “f” na lista

Representação por Pseudocódigo Procedimento encomendar. Cerveja(lista de fornecedores) Para cada fornecedor “f” na lista faça ligar(f) perguntar. Anotar. Preço(f) Fim Para melhor. Fornecedor = localizar. Menor. Preço(lista) ligar(melhor. Fornecedor) encomendar(melhor. Fornecedor) Fim Procedimento

Programa de computador n Segundo Wirth n Formulações concretas de algoritmos abstratos, baseados em

Programa de computador n Segundo Wirth n Formulações concretas de algoritmos abstratos, baseados em representações e estruturas específicas de dados n Um algoritmo escrito da forma que um computador possa executar

O que um computador entende? n 0101110100100010010001 n Linguagem de máquina não são inteligíveis

O que um computador entende? n 0101110100100010010001 n Linguagem de máquina não são inteligíveis n Necessidade de uma linguagem de mais alto nível

O que um computador entende? n Expressar idéias de maneira mais natural n Não

O que um computador entende? n Expressar idéias de maneira mais natural n Não ambígua n Logo a linguagem textual não é adequada

O que um computador entende n Fluxogramas não são facilmente processáveis por computadores n

O que um computador entende n Fluxogramas não são facilmente processáveis por computadores n E os pseudocódigos? ¨ São mais naturais para os programadores ¨ Não possuem ambiguidades ¨ Facilmente processáveis por computadores

Pseudocódigos x linguagem de programação n Pseudocódigo são representação de algoritmos n Podem ser

Pseudocódigos x linguagem de programação n Pseudocódigo são representação de algoritmos n Podem ser convertidos para linguagens de programação

Compilação n Transformação de um programa fonte (escrito em linguagem de programação) para um

Compilação n Transformação de um programa fonte (escrito em linguagem de programação) para um programa objeto (código binário) Código fonte compilador Código objeto

Linguagem de Programação n Uma linguagem de programação é um método padronizado para expressar

Linguagem de Programação n Uma linguagem de programação é um método padronizado para expressar instruções para um computador n É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador

Regras de sintaxe n Verificação das regras gramaticais da linguagem n Exemplo: verifica se

Regras de sintaxe n Verificação das regras gramaticais da linguagem n Exemplo: verifica se uma operação de soma possui os 2 termos

Regras de semântica n Verifica a corretude e das operações n Exemplo: verifica se

Regras de semântica n Verifica a corretude e das operações n Exemplo: verifica se uma operação de soma possui os termos corretos (número + número, texto + texto)

Revisão n n n Conceitos: computador, algoritmo, programa Estrutura de um computador digital Exemplos

Revisão n n n Conceitos: computador, algoritmo, programa Estrutura de um computador digital Exemplos de algoritmos Representação de algoritmos Modo mais adequado de dar instruções ao computador Compilação

Exercícios n Tipos de memória n Trabalho em grupo, monografia escrita sobre tipos de

Exercícios n Tipos de memória n Trabalho em grupo, monografia escrita sobre tipos de memória (elétrica, magnética, ótica, etc. ) n Data de entrega: duas semanas

Exercícios Monografia escrita ou digital n Tema: Arquitetura de Von Neumann n ¨ Conceitos

Exercícios Monografia escrita ou digital n Tema: Arquitetura de Von Neumann n ¨ Conceitos e funcionamento n Grupos de 5 pessoas n Data de entrega: Três semanas - 3 de setembro