Fundamentos de
Computação
Software
Prof. Sérgio Souza Costa
O que é software ?
Software é lógico.
Hardware é físico.
Software
1. Programas - Instruções
2. Documentação e artefatos
Programas e instruções
● Programa é uma lista ordenada de
instruções
● Uma instrução é uma operação elementar
executada pelo processador
Tipos de software
Software aplicativos: utiitarios (gerenciador de
arquivo), processadores de texto, planilhas ...
Software de sistema: sistema operacional e
drivers.
Software
Aplicativo
Sistema
Operacional
Hardware
Sistema Operacional
BSD
Sistema Operacional
● O software é o que permite os computadores executarem
essas mais distintas tarefas. Porém, existem algumas tarefas
fundamentais a todos os sistemas computacionais.
○ Por exemplo armazenar e recuperar dados em um
dispositivo de armazenamento, como disco magnét
lazer ou memoria flash.
● Tratar as peculiaridades de cada dispositivo, tornaria o
desenvolvimento de software algo extremamente complexo.
● Portanto, torna-se desejável oferecer uma forma de acesso
homogêneo aos dispositivos físicos, abstraindo as diferenças
tecnológicas.
Um sistema operacional (SO) pode ser visto então como um software que
abstrai o acesso aos recursos por softwares aplicativos, ou seja, aqueles
acessados diretamente pelo usuário. Esta é uma visão top-down onde o
sistema operacional é visto como uma maquina estendida (interfaces
homogêneas e simplificadas) para o desenvolvimento de software aplicativo.
Porém, existe uma visão alternativa, bottom-up, onde o sistema operacional é
um software responsável por gerenciar todas as partes de um sistema
complexo, incluindo, hardware, software e peopleware (usuários).
Sistema Operacional
Como os programas são
escritos ?
Linguagens de programação
● Linguagem de máquina: As instruções reconhecidas por
um processador baseada em código binário.
● Linguagem de baixo nível: Utilizam abreviações simples
de instruções de programa (mnemônicos) ao invés das
instruções em código binário. Exemplo: Ling. Assembly.
● Linguagem de alto nível: Possui vocabulário e regras
(sintática e semânticas) para expressar uma seqüência
de operações de máquina. É uma linguagem que não
exige conhecimento do código de máquina, sendo assim
independente.
0010 0001 1110
LOAD R1, val1
val2 = val1 + val2
Linguagem de
baixo nível
Linguagem de
Máquina
Linguagem de
alto nível
Linguagens de programação
Como as linguagens de alto níveis são
executadas pelo computador, se ele
entende apenas linguagem de máquina
Interpretador
Código Fonte
Interpretador Saída
Compilador
Código Fonte
Compilador
Saída
Código Objeto
Carregador
Onde os programas são
escritos ?
Ambientes integrados de desenvolvimentos
● Unem em um único programa editores de
textos, compiladores (ou interpretadores),
depuradores …
● Exemplos:
○ Codeblock, Visual Studio, Eclipse, Netbeans, Idle
Nós iremos usar o Idle (offline) e codeskulptor
(online).
Ambientes integrados de desenvolvimentos
Primeiro Programa
Acesso o site do codeskulptor:
http://www.codeskulptor.org
Escreva o seguinte programa:
print "Meu primeiro Programa"
Erros e depuração
Erros é algo comum ao desenvolvimento de
programas, comumente chamando de bugs.
Deste modo a ação de removê-los é conhecido
como debugar (ou depurar em português).
Três tipos de erros
1. Erros de sintaxe
2. Erros de execução
3. Erros semânticos (ou lógicos)

Software

  • 1.
  • 2.
    O que ésoftware ?
  • 3.
  • 4.
    Software 1. Programas -Instruções 2. Documentação e artefatos
  • 5.
    Programas e instruções ●Programa é uma lista ordenada de instruções ● Uma instrução é uma operação elementar executada pelo processador
  • 6.
    Tipos de software Softwareaplicativos: utiitarios (gerenciador de arquivo), processadores de texto, planilhas ... Software de sistema: sistema operacional e drivers.
  • 7.
  • 8.
    Sistema Operacional ● Osoftware é o que permite os computadores executarem essas mais distintas tarefas. Porém, existem algumas tarefas fundamentais a todos os sistemas computacionais. ○ Por exemplo armazenar e recuperar dados em um dispositivo de armazenamento, como disco magnét lazer ou memoria flash. ● Tratar as peculiaridades de cada dispositivo, tornaria o desenvolvimento de software algo extremamente complexo. ● Portanto, torna-se desejável oferecer uma forma de acesso homogêneo aos dispositivos físicos, abstraindo as diferenças tecnológicas.
  • 9.
    Um sistema operacional(SO) pode ser visto então como um software que abstrai o acesso aos recursos por softwares aplicativos, ou seja, aqueles acessados diretamente pelo usuário. Esta é uma visão top-down onde o sistema operacional é visto como uma maquina estendida (interfaces homogêneas e simplificadas) para o desenvolvimento de software aplicativo. Porém, existe uma visão alternativa, bottom-up, onde o sistema operacional é um software responsável por gerenciar todas as partes de um sistema complexo, incluindo, hardware, software e peopleware (usuários). Sistema Operacional
  • 10.
    Como os programassão escritos ?
  • 11.
    Linguagens de programação ●Linguagem de máquina: As instruções reconhecidas por um processador baseada em código binário. ● Linguagem de baixo nível: Utilizam abreviações simples de instruções de programa (mnemônicos) ao invés das instruções em código binário. Exemplo: Ling. Assembly. ● Linguagem de alto nível: Possui vocabulário e regras (sintática e semânticas) para expressar uma seqüência de operações de máquina. É uma linguagem que não exige conhecimento do código de máquina, sendo assim independente.
  • 12.
    0010 0001 1110 LOADR1, val1 val2 = val1 + val2 Linguagem de baixo nível Linguagem de Máquina Linguagem de alto nível Linguagens de programação
  • 13.
    Como as linguagensde alto níveis são executadas pelo computador, se ele entende apenas linguagem de máquina
  • 14.
  • 15.
  • 16.
    Onde os programassão escritos ?
  • 17.
    Ambientes integrados dedesenvolvimentos ● Unem em um único programa editores de textos, compiladores (ou interpretadores), depuradores … ● Exemplos: ○ Codeblock, Visual Studio, Eclipse, Netbeans, Idle
  • 18.
    Nós iremos usaro Idle (offline) e codeskulptor (online). Ambientes integrados de desenvolvimentos
  • 19.
    Primeiro Programa Acesso osite do codeskulptor: http://www.codeskulptor.org Escreva o seguinte programa: print "Meu primeiro Programa"
  • 20.
    Erros e depuração Errosé algo comum ao desenvolvimento de programas, comumente chamando de bugs. Deste modo a ação de removê-los é conhecido como debugar (ou depurar em português).
  • 21.
    Três tipos deerros 1. Erros de sintaxe 2. Erros de execução 3. Erros semânticos (ou lógicos)