Introdução a Informática Software Eduardo Figueiredo 12 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 03.

Slides:



Advertisements
Apresentações semelhantes
INTRODUÇÃO À COMPUTAÇÃO
Advertisements

Introdução a Algoritmos
Material elaborado pela professora Alzennyr Cléa da UFRPE / DFM
Sistemas Operacionais
Arquitetura e organização de computadores.
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Entrada e Saída Introdução.
Engenharia de Software
Sistemas Operacionais de Rede Professor: João Paulo de Brito Gonçalves
Programação Aplicada Luiz Silveira Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Aula 02: Conceitos e tipos de linguagens.
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
FACULDADE DOS GUARARAPES
Introdução à Computação - Jorge Macêdo
Disciplina:Tópicos Avançados de Sistemas de Informação
Introdução à Informática
Introdução a Informática
Informática Industrial
Lógica de Programação Módulo II
Conceitos Básicos de Informática INTRODUÇÃO À TERMINOLOGIA BÁSICA
INTRODUÇÃO À PROGRAMAÇÃO
Linguagens de Programação
Respostas das atividades da aula 4.
Respostas das atividades da aula 4.
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Introdução a Programação
Professor Fernando Luís
Lógica de Programação UNIDADE 1 – Introdução a) Computador
Revisão de Conceitos Básicos Hardware (Parte 1)
Revisão de Conceitos Básicos Hardware (Parte 2)
Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04.
Inteligência Artificial
PROGRAMAÇÃO I UNIDADE 1.
Introdução a Computação e Cálculo Numérico
Introdução POO e Java Eduardo Figueiredo POO Aula 02
Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.
Introdução a Informática Software
Introdução a Informática Hardware Eduardo Figueiredo 11 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 02.
PCI- Introdução à Computação
Introdução a Programação
Introdução a Linguagens de Programação
Introdução à Informática
02/08/2011 Professor Leomir J. Borba- –
O que são, para que servem e onde podem ser utilizadas?
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Sistemas Operacionais
© 2004 by Pearson Education Computadores: Ferramentas para a Era da Informação Tema 0 PARTE A.
Unidade Central De Processamento: Processador
Fundamentos de Arquitetura da Computação
Testes de Software AULA 02 Eduardo Silvestri
Conceitos Básicos de Informática
Introdução O que se espera de um sistema de computação?
Componentes de um Sistema de Computação
Algoritmos e Programação I
Introdução à Computação - Jorge Macêdo1 ICC – Software Jorge Macêdo.
Algoritmos e Programação MC102
Programação Computacional Aula 2: Introdução -Algoritmos
Linguagens de Programação
INTRODUÇÃO À COMPUTAÇÃO
Introdução aos Sistemas Operacionais
Elementos de Informática
Sistemas Operacionais
Ciência da Computação I
Introdução a Informática
Escola de Engenharia de Piracicaba Administração Sistema de Comunicação de Dados Aula 1 – Introdução Alberto Martins Júnior Flávio I. Callegari.
Introdução à Programação
Engenharia de Controle e Automação Computação Para Engenharia Aula /02/2013 Professor Leomir J. Borba- –
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
 Processamento de dados: requer a execução de uma série de passos, o programa (software)  Cada passo é uma instrução, ou ordem de comando, dada ao.
TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal
Transcrição da apresentação:

Introdução a Informática Software Eduardo Figueiredo 12 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 03

Monitor CRT vs. LCD

Monitores CRT

Monitores LCD

O Problema da Radiação Monitores CRT emitem radiação Usuários mais preocupados com a saúde usam filtros anti-radiação Problemas causados a saúde humana ainda não estão comprovados

Filtros Anti-Radiação em LCD Também existem filtros para monitores LCD

Sistema Computacional Pessoas

Sistema Computacional Pessoas

Sistema Computacional: Software Componente lógico de um sistema computacional Ponte entre os usuários e a máquina Séries de instruções Indicam passo a passo o que o computador deve fazer Importância Realizam tarefas rotineiras e/ou periódicas Aumentam a produtividade Reduzem os custos de uma organização

O que é software? Programa de computador + Documentação Classificação fundamental Produtos genéricos (ex. Microsoft Office) Produtos encomendados (ex. Locadora do Zé)

Crise do Software (1968) Custos de hardware caindo Custos do software subindo Avanços em hardware Permitem desenvolvimento de sistemas cada vez mais complexos Resultado (software) Custos altos, projetos atrasados, sistemas não confiáveis, desempenho insatisfatório, etc...

Software está em todo lugar

Sistemas Críticos Equipamentos médicos Extremamente críticos Lidam com vidas Caixas eletrônicos Prejuízos financeiros

Confiabilidade de Software Exemplo: Vôo Air France Rio - Paris 1. Dados conflitantes (falha nos sensores) 2. Sistema assume o controle (piloto automático) 3. Piloto tenta reiniciar o sistema (boot) 4. Em 4 minutos o avião mergulha no oceano The Last Four Minutes of Air France Flight

Preço e Desempenho Celular Pouco espaço na memória Grande variação em características de aparelhos

Alguns Tipos de Software

Classificação de Software Quanto a Função Infra-estrutura Básica do Sistema Sistema Operacional Utilitários de controle (BIOS, firmwares, drivers...) Aplicativos Software Comercial Software Científico ou de Engenharia Software de Tempo Real Software de Inteligência Artificial, etc.

Sistema Operacional Software Básico de um computador Não existiam nos computadores antigos Exemplo: computadores construídos com válvulas e painéis Os programadores deviam considerar as características do hardware Atualmente, estão presentes em todos os computadores pessoais E também em muitos computadores pertencentes a outras categorias

Sistema Operacional Cria um ambiente no qual os usuários podem construir e executar programas Executam programas internos de controle do computador de forma transparente Sem que o usuário saiba ou precise se preocupar em saber Exemplos de Sistemas Operacionais Windows, Linux, Solaris, Mac OS

Tarefas do Sistema Operacional Gerenciamento da memória do computador Administração dos dados Acionamento dos dispositivos de entrada e saída Teclado, mouse, disquetes, CDs, DVDs, etc. Execução de programas utilitários ou construídos pelo usuário

Aplicações Específicas Negócios e Comércio Comércio eletrônico, bolsa de valores, planejamento de gastos, etc. Medicina Análise de imagens médicas como ultra-som Acompanhamento de atletas e pacientes Detecção de anomalias genéticas

Aplicações Específicas Exército Simula estratégias de ataque/defesa Treinamento de soldados Calcula trajetórias de projéteis E muito mais... Usinas nucleares e hidrelétricas Portos e aeroportos Previsões meteorológicas Atividades geológicas

Desenvolvimento de Software

Fases do Desenvolvimento Modelo Cascata Define atividades seqüenciais Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação Testes Manutenção

Fases do Desenvolvimento Modelo Cascata Define atividades seqüenciais Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação Testes Manutenção

Especificação de Requisitos Um sistema de programação deve satisfazer as necessidades de seus usuários Tais necessidades são expressas na forma de requisitos Requisito = ação que deve ser executada pelo sistema Ex: registrar as notas dos alunos, calcular a média final, etc.

Fases do Desenvolvimento Modelo Cascata Define atividades seqüenciais Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação Testes Manutenção

Da Análise ao Projeto A partir do documento de análise de requisitos, projeta-se o sistema PROBLEMA EncontrarSolução Programa de Computador 1ª Fase: Resolução do Problema 2ª Fase: Implementação (codificação)

Projeto do Sistema Dividido em duas etapas Projeto Preliminar define a estrutura modular do software, as interfaces e as estruturas de dados utilizadas Saída: Diagramas Projeto Detalhado descreve detalhadamente cada módulo definido no projeto preliminar Saída: algoritmos

Projeto de uma Casa

Projeto Preliminar de Software

Fases do Desenvolvimento Modelo Cascata Define atividades seqüenciais Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação Testes Manutenção

Implementação do Sistema A implementação segue as definições do projeto preliminar Transcreve as instruções do algoritmo para uma linguagem de programação Exemplo: Linguagem C

Fases do Desenvolvimento Modelo Cascata Define atividades seqüenciais Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação Testes Manutenção

Teste e Validação Tem por objetivo garantir que o sistema satisfaça os requisitos Consiste da realização de alguns tipos de testes para encontrar erros A inexistência de erros não representa a adequação operacional do sistema Deve ser feita a validação com o cliente

Linguagem C Um Pouco de História

Evolução das Linguagens Linguagens de Máquina (traduzido depois para 0 e 1) Linguagens Assembly load basepay / add overpay / store grosspay Linguagens de Alto Nível grosspay = basepay + overpay

Linguagens de Máquina Definem instruções a serem executadas pelo computador São especificas para o hardware Código de máquina: uma seqüência de números significa uma instrução a ser executada significa load basepay Atualmente, programar em linguagens de máquina é pouco comum São usadas linguagens de alto nível como C

Linguagens de Alto Nível Programadores geralmente utilizam linguagens de alto nível Mais próximo da compreensão humana Programas de alto nível são traduzidos para a linguagem da máquina por compiladores Arquivo.EXE é gerado O programa compilado pode então ser executado pelo computador

De onde veio C? BCLP (1967) por Martin Richards Linguagem C (1972) por Dennis Ritchie C++ (1980) por Bjarne Stroustrup Bell Labs

Sistema de Numeração Conceitos Básicos

O Sistemas de Numeração Objetivos Prover símbolos e convenções para representar quantidades Registrar processar informação quantitativa Tradicionalmente feita com números

Método Tradicional Chamado numeração posicional Inventado pelos chineses O valor representado pelo algarismo no número depende da posição em que ele aparece na representação

Sistema Decimal (base 10) A posição à esquerda altera seu valor de uma potência de 10 Exemplo representa 100 (10 2 ) 2 representa 20 (2x10 1 ) 5 representa 5 (5x10 0 ) 125 = 1x x x10 0

Base em Sistemas de Numeração Define a quantidade de algarismos disponível na representação A base 10 é usualmente empregada Mas, não é a única Outros exemplos: pedimos uma dúzia de ovos (12), marcamos o tempo em minutos e segundos (60), etc. Computadores utilizam a base 2 Sistema binário

Exemplos de Bases Algumas bases importantes na computação Base 2 0 e 1 Base 8 0 a 7 Base 10 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9 Base 16 0 a 9, A, B, C, D, E e F Em geral, uma base b terá b algarismos Variando entre 0 e (b - 1) A representação 125,38 (base 10) 1x x x x x10 -2

Identificando a Base Em qual base está o número 9B3? Resposta óbvia, pois o algarismo B só existe na base 16 (hexadecimal) Em qual base está o número 11? Pode estar em qualquer base conhecida Portanto, a base deve ser especificada Para diferenciar as bases, utiliza-se um número situado à direita inferior Exemplo: 11 2

Representação de um Número Representamos um número N (de n casas), numa dada base b, como segue N b = a n.b n a 2.b 2 + a 1.b 1 + a 0.b 0 + a -1.b -1 + a -2.b a -n.b -n Parte inteira a n.b n a 2.b 2 + a 1.b 1 + a 0.b 0 Parte fracionária a -1.b -1 + a -2.b a -n.b -n

Quantidade de Algarismos O maior número que pode ser representado na base 10 usando 3 algarismos é = 999 O maior número que pode ser representado na base 2 usando 8 algarismos é = 255 Generalizando, o maior número inteiro N que pode ser representado em uma dada base b com n algarismos é N = b n – 1

Resumo: Regras do Sistemas de Numeração A base B indica à quantidade de algarismos distintos que podem ser utilizados O algarismo mais a direita tem peso um O algarismo imediatamente a sua esquerda tem peso B O seguinte B 2, depois B 3... O valor de um número é determinado pela soma dos valores de cada algarismo multiplicado com seu peso

Representação Binária

Linguagem do Computador Os computadores utilizam o sistema binário Todas as informações armazenadas ou processadas no computador são representadas por 0 e 1 Dígito binário são chamados bit Do inglês, binary digit Um bit pode assumir os valores 0 ou 1 Analogia à tensões elétricas / sinais eletrônicos

Sistema do Computador Um Byte é um conjunto de oito bits Dados são armazenados na base binária, não na decimal 0 = = = = Na base 2, o número "10" vale dois 10 2 = 2 10

Representação Binária

Referências Joseana Macêdo Fechine, Introdução à Computação, Departamento de Sistemas e Computação, Universidade Federal de Campina Grande INFOWESTER, Mouses: funcionamento, tipos e principais características, disponível em Rui Mano, Organização de Computadores