Buscar

apresentacao_aula_9

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Fundamentos de Computação
Bruno Feres de Souza
bferes@gmail.com
Universidade Federal do Maranhão
Bacharelado em Ciência e Tecnologia
1° semestre de 2013
“Entende-se por Computação ou 
Informática o corpo de conhecimento a 
respeito de computadores, sistemas de 
computação e suas aplicações, 
englobando aspectos teóricos, experimentais, 
de modelagem e de projeto.”
Currículo de Referência da Sociedade Brasileira de Computação 
(SBC) para Cursos de Graduação em Bacharelado em Ciência da 
Computação e Engenharia de Computação.
Computação?
Ambientes computacionais:
● Hardware + Software + Peopleware
Computação?
... a respeito de computadores, sistemas de computação e ...
Conceitos básicos
Software: é um conjunto de instruções que 
controlam o hardware de modo a realizar tarefas 
determinadas por um “algoritmo”. Este conjunto de 
instruções implementado em uma linguagem 
computacional é chamado de “programa”
As instruções utilizam o hardware para 
realizar operações sobre os dados 
armazenados na memória do computador
● Ler um dado do teclado, armazenar na memória, 
somar dois dados, exibir na tela, gravar no disco...
Conceitos básicos
O Software envolve um conjunto de:
1- INSTRUÇÕES que quando executadas produzem a 
função e o desempenho desejados
2- ESTRUTURAS DE DADOS que possibilitam que os 
programas manipulem adequadamente a informação
3- DOCUMENTOS que descrevem a operação e o uso dos 
programas
Aplicações de software
 SOFTWARE BÁSICO
● Coleção de programas escritos para dar apoio a outros 
programas
 SOFTWARE DE TEMPO REAL
● Software que monitora, analisa e controla eventos do mundo 
real
 SOFTWARE COMERCIAL
● Sistemas de operações comerciais e tomadas de decisões 
administrativas
Aplicações de software
 SOFTWARE CIENTÍFICO E DE ENGENHARIA
● Caracterizado por algoritmos de processamento de números
 SOFTWARE EMBUTIDO
● Usado para controlar produtos e sistemas para os mercados 
industriais e de consumo 
 SOFTWARE DE COMPUTADOR PESSOAL
● Envolve processamento de textos, planilhas eletrônicas, 
diversões, etc.
 SOFTWARE DE INTELIGÊNCIA ARTIFICIAL
● Faz uso de algoritmos não numéricos para resolver 
problemas que não sejam favoráveis à computação ou à 
análise direta.
Ciclo de vida de software
• O desenvolvimento do software compreende um conjunto 
de etapas citadas como CICLOS DE VIDA DE 
SOFTWARE
 
• Essas etapas envolvem Métodos, Ferramentas e 
Procedimentos para a construção e manutenção do 
software.
• O ciclo de vida de software contém 3 fases genéricas: 
DEFINIÇÃO, DESENVOLVIMENTO e MANUTENÇÃO
DEFINIÇÃO
(o que?)
DESENVOLVIMENTO
(como?)
MANUTENÇÃO
(alterações)
Ciclo de vida do software
Entendimento 
Modificação 
Revalidação
Projeto 
Codificação 
 Teste
Análise de Sistema 
Análise de 
Requisitos
Sistema operacional (SO)
A função de um SO é de executar os programas 
aplicativos e servir de “mediador” (interface) 
entre o computador e seus usuários.
Por que um SO?
● Utilização mais conveniente (software)
● Utilização mais eficiente (hardware)
Sistema operacional (SO)
Hardware
Utilitários
Sistema Operacional
Aplicativos
O sistema operacional pode ser visto com a 
primeira camada de software acima do hardware 
do computador que se encarrega de suportar e 
servir de interface entre este e os demais 
programas aplicativos e utilitários
● Controla execução de programas
● Aloca recursos do computador
Sistema operacional (SO)
 Serviços úteis para o usuário:
● Interface
● Praticamente todos os SOs tem interface com o 
usuário
● As interfaces variam entre Command-Line Interface 
(CLI) e Graphics User Interface (GUI) 
● Execução de programas
● O sistema deve ser capaz de carregar um programa 
na memória do computador para executá-lo
● Operações de entrada e saída (I/O – 
Input/Output)
● Um programa em execução requerer operações de 
I/O (teclado, display, câmera, etc.)
Sistema operacional
 Serviços úteis para o usuário (cont.):
● Manipulação do sistema de arquivos
● Manipular arquivos e diretórios, como criar, editar, 
ler, apagar, alterar permissões e etc.
● Comunicação
● Comunicação para troca de informação entre 
processos do mesmo computador ou entre 
computadores através de uma rede
● Detecção de erros
● SOs devem estar sempre atento a possíveis erros
● Erros podem ocorrer na CPU, hardware da memória, 
dispositivos de I/O, programas de usuário e etc
Sistema operacional
 Um sistema operacional é constituído de duas 
partes: o kernel e o shell.
 O kernel é composto por programas que ficam 
abaixo da interface de chamada de sistema e 
acima do hardware
● provê sistema de arquivos
● escalonamento do processador/CPU
● gerenciamento de memória
 O Shell é a camada que o usuário tem acesso
● Shell -> kernel -> hardware
● Interpretador de comandos que transmite ao 
kernel o que deve ser feito
Sistema operacional – system call
 System call (chamada do sistema) é um procedimento para 
solicitar um função (ou serviço) do sistema operacional
 
Sistemas operacionais
● Exemplo de chamadas ao sistema:
● ler de um arquivo e escrever em outro
● passar os nomes dos arquivos manipulados
● abrir o arquivo de entrada (open)
● criar o arquivo de saída (create)
● ler o arquivo de entrada (read)
● escrever no arquivo de saída (write)
● fechar os dois arquivos (close)
● terminar a execução (end)
Outros sistemas 
operacionais
● Microsoft –Windows
● Windows Mobile
● Google Chrome OS (Linux-based) 
● Android (Linux-based) -voltado para sistemas embarcados.
● Apple -Mac OS X (UNIX-based) –Apple
● iOS (iPhone OS)
● IBM i, z/OS, z/VM, z/VSE (SOs da IBM)
Linguagem de programação
● Conjunto de palavras: vocabulário
● Conjunto de regras gramaticais para escrever 
uma programa computacional
● Um programa induz um computador a realizar 
uma determinada tarefa
● Cada linguagem possui:
● Um conjunto único de palavras-chave (que somente a 
linguagem em questão reconhece)
● Sintaxe (regras) específica para organizar as instruções 
do programa
Linguagem de programação
● Usadas para escrever algoritmos
● Sequência de passos que levam à solução de um 
problema
● Permite o programador determinar a organização 
dos passos do algoritmo
● Permite a especificação de um algoritmo com 
precisão
Linguagem de programação
● Linguagens de máquina (1° Geração )
● É a linguagem de mais baixo nível
● Constituída por sequências binárias, o que torna 
impossível de entendê-la:
Binário: 10110000 01100001
 
● Única entendida pelo processador (CPU).
Linguagem de programação
● Linguagem Assembly (2° Geração )
● É a linguagem de nível imediatamente acima da 
linguagem de máquina.
● Mesma estrutura e conjunto de instruções que a 
linguagem de máquina
● Utilização de nomes e símbolos em lugar dos números
● Única para cada tipo de CPU
● Primórdios da programação todos os programas eram 
escritos nessa linguagem
● Os programas escritos em assembly são convertidos 
para a linguagem de máquina para serem executados 
pelo processador.
● Esta conversão é chamada e montagem e é feita pelo 
montador (ou assembler)
Linguagem de programação
● Considere a instrução: y=(A-B)/(C+DxE)
Figura retirada dos slides do Prof. Wilfredo Blanco Figuerola, 2010
Linguagem de programação
● Cada arquitetura de computador tem sua própria 
linguagem de máquina e de montagem
Figura retirada dos slides do Prof. Wilfredo Blanco Figuerola, 2010
Linguagem de programação
● Linguagem de Alto Nível (3a Geração)
● São as linguagens de programação que possuem uma 
estrutura e palavras-chave que sãomais próximas da 
linguagem humana.
● Programas mais fáceis de serem lidos e escritos
● Exemplo de instrução: RESULT = D-((A+B)/C)
Linguagem de programação
● Código de inserção de um elemento em uma lista 
utilizando a linguagem de programação C
Linguagem de programação
● Exemplos de linguagem de programação de alto 
nível:
● Aplicações científicas
● Fortran, Algol, Basic, APL, LISP, Pascal, ADA, Prolog, PLI, 
Java, C, C++
● Aplicações comercias
● COBOL, RPG, PLI
Linguagem de programação
● Linguagem de Alto Nível (4a Geração)
● São linguagens de programação com estrutura mais 
próxima da linguagem humana do que as linguagens de
● programação de alto nível.
● A maioria delas é usada para acessar bancos de 
Dados
● a SQL (Structured Query Language) é um bom 
exemplo dessa geração
SELECT NOME, MATRICULA FROM ALUNOS WHERE
NOME = “Carlos” AND ESTADO (“SP”, “RJ”, “MG”)
Cálculo eletrônico
2ª Geração (1955-1965): transistores
Material didático
● Sistemas Operacionais (Rômulo Silva de Oliveira, Alexandre 
da Silva Carissimi e Simão Sirineo Toscani). Capítulo 1.
● http://www.lume.ufrgs.br/bitstream/handle/10183/19242/000102159.pdf
● Aprendendo a Programar Programando na Linguagem C Para 
Iniciantes (Jaime Evaristo). Capítulo 1.
● http://www.fsm.com.br/web/enade/revisao/novos/livroProgramacaoC.pdf
● Introdução à Ciência da Computação (José Luís Garcia Rosa, 
Silvia Cristina Venticinque Mendes e Nelson de Carvalho 
Mendes). Capítulo 5.
● http://www.cursos.zagari.org/ICC/material.html
Cálculo eletrônico
2ª Geração (1955-1965): transistores
Dúvidas?

Continue navegando