apresentação da disciplina e conceitos básicos de ...if669ec/aulas/aulaip-01.pdf · análise de...

40
Introdução à Programação Apresentação da Disciplina e Conceitos Básicos de Computadores

Upload: vudiep

Post on 10-Dec-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

Introdução à Programação

Apresentação da Disciplina e

Conceitos Básicos de

Computadores

Page 2: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

2

Objetivos

Aprender técnicas de programação que aumentem a qualidade de software e a produtividade no desenvolvimento

Discutir conceitos de programação, ilustrando como os mesmos são representados na linguagem de programação C

Discutir como programas podem ser adequadamente escritos, estruturados e documentados

Explorar o ambiente de suporte a C, incluindo ferramentas e bibliotecas

Discutir princípios de engenharia e qualidade de software.

Desenvolver, documentar e avaliar uma aplicação de médio porte em C

Page 3: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

Resultados de Semestres Anteriores

3

20 35%

21 37%

2 3%

14 25%

Resultados 2011-2

Aprovados por Média

Aprovados

Reprovados

Reprovados por Falta

Page 4: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

Resultados de Semestres Anteriores

4

25 35%

18 26%

18 26%

9 13%

Resultados 2012-1

Aprovados por Média

Aprovados

Reprovados por Falta

Reprovados

Page 5: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

Resultados de Semestres Anteriores

5

Resultados 2012-2

Page 6: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

Resultados de Semestres Anteriores

6

Page 7: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

Resultados de Semestres Anteriores

Page 8: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

8

Análise de Resultados

Nos últimos 4 semestres, 267 alunos cursaram a

disciplina

167 aprovados (~63% de aprovação)

Apenas 84 aprovados por média (~31%)

100 reprovados (~37% de reprovação)

27 foram reprovados por média

Número de desistências da disciplina vem

aumentando

Page 9: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

9

Mau Desempenho em IP

Consequências

Dificuldade em conseguir vagas para cursar a

disciplina de novo

Vária disciplinas dependem de IP

Atraso significativo no curso de EC

Para os que conseguiram passar com dificuldade,

problemas para acompanhar o resto do curso

Várias outras disciplinas exigem desenvolvimento

de programas (Algoritmos, Infra de SW, Infra de

Comunicação, etc)

Mais Importante: Requisito mínimo para um bom Engenheiro

da Computação é saber programar

Page 10: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

10

Afetadas por IP

Page 11: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

11

Como Ter Sucesso na Disciplina?

Estudo diário

São 6 horas de aula por semana

Nenhuma disciplina tem tantas aulas por semana

Programação não se aprende somente olhando o

livro e exemplos

Deve-se praticar exaustivamente

Programação não é trivial para muitos, pois envolve

raciocínio lógico para resolver problemas complexos e

codificar a solução em uma linguagem de programação

Facilidade de acesso a computadores

Aproveitar as aulas práticas e de exercícios

Escrever programas com alguém para esclarecer dúvidas

ajuda muito

Page 12: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

12

Tópicos da Aula

Antes de aprender a programar, precisamos ver conceitos básicos de Computação

Componentes de um computador

Como os diferentes componentes interagem

Representação das informações em computadores

Page 13: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

13

Hardware e Software

Computador = Hardware + Software

Hardware

Parte física do computador

Chips, monitores, teclado, etc

Software

Programas (conjunto de instruções)

e dados

Editores de texto, navegadores,

sistemas operacionais, etc

Page 14: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

14

Modelo de um computador

CPU

Unidade Central de

Processamento

Memória Principal (RAM)

Armazenamento

Secundário Dispositivos de

Entrada/Saída

Canal de Comunicação

(Barramento)

Disco Rígido (HD), CD,DVD, Pen

Drive,etc Periféricos

Page 15: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

15

CPU e RAM

CPU

Executa as instruções

presentes nos programas

Memória Principal (RAM)

Armazena os programas e

dados que estão sendo

usados pela CPU

CPU busca primeiramente programas e dados

residentes na memória

CPU também armazena dados na memória

Page 16: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

16

Unidade Central de Processamento (1)

A CPU é o “cérebro do computador

Implementado em um chip chamado de

microprocessador

Faz continuamente 3 ações:

Busca

Busca instrução na

memória principal

Decodifica

Determina o que

é a instrução

Executa

Processa a

instrução

Page 17: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

17

Unidade Central de Processamento (2)

Os componentes principais de uma CPU são:

Unidade de Lógica/Aritmética

Registradores

Unidade de Controle

Áreas pequenas de

armazenamento

Faz cálculos e toma

decisões

Coordena as etapas

do processamento

Page 18: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

18

A velocidade de processamento de uma CPU é dado

pelo relógio (clock) do sistema

O clock gera um pulso eletrônico em intervalos

regulares

Estes pulsos coordenam as atividades da CPU

Velocidade da CPU é medida geralmente em Hertz

(Hz)

Unidade Central de Processamento (3)

Page 19: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

19

Armazenando Dados (1)

Memórias são

divididas em várias

células de tamanhos

iguais

Cada célula é identificada

unicamente por um valor

numérico chamado de

endereço

9278

9279

9280

9281

9282

9283

9284

9285

9286

Page 20: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

20

Armazenando Dados (2)

Cada célula pode

armazenar um valor de

tamanho máximo fixo

Valores que ultrapassam o

tamanho máximo de uma

célula são armazenados

em mais de uma célula

(células consecutivas)

9278

9279

9280

9281

9282

9283

9284

9285

9286

10011010

Page 21: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

21

Também chamada de memória RAM

Random Access Memory

Acesso aos endereços de memória podem ser feita de

forma direta sem ter que passar por endereços

anteriores

Armazena dados e programas utilizados pelo

processador num dado instante

Quando o computador possui sistema operacional, este é

carregado na memória geralmente na hora em que o

computador é ligado

Memória Principal

Page 22: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

22

Computadores atuais utilizam também pequenas memórias

cache para armazenar partes dos dados e programas que

estão na memória principal

Memória cache utiliza tecnologia que torna acesso aos

dados mais rápida

Evita acesso pelo barramento

Memória Principal

CPU Memória Principal (RAM)

Cache

Page 23: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

23

Armazenamento Secundário

CPU

Memória Principal (RAM)

Armazenamento

Secundário

CPU procura programa/dados

na RAM

Não encontrando, CPU

procura na memória

secundária

Programa/dados são

transferidos para RAM

Tipos de memória

para armazenamento

de longa duração de

dados/programas

Page 24: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

24

Armazenamento Secundário

(Disco Rígido)

Dispositivo magnético

Partes que são gravadas são magnetizadas

Page 25: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

25

Armazenamento Secundário

(Disco Rígido)

Informações são gravadas em setores

Uma trilha é composta por um conjunto de

setores

setor

trilha

Page 26: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

26

Armazenamento Secundário

(CD/DVD )

Dispositivo óptico

Pequenos furos quando lidos por laser refletem

diferentemente do resto do CD

Furos representam 0´s e espaços representam 1´s

Page 27: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

27

Memória RAM é mais rápida do que memórias

secundárias

Memória RAM é volátil

Informação é perdida quando não há corrente elétrica

Memórias secundárias não são voláteis

Memórias secundárias geralmente são mais baratas

que a memória RAM

Por serem mais baratas, geralmente a capacidade de

armazenamento é maior (Ex: Disco Rígido)

Memória RAM x Memória Secundária

Page 28: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

28

Dispositivos de Entrada/Saída

CPU

Memória Principal (RAM)

Armazenamento

Secundário Dispositivos de

Entrada/Saída Dispositivos para

facilitar a interação

do usuário

Interação do usuário

pode mudar o fluxo de

execução na CPU

Page 29: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

29

Existem, basicamente, 2 formas de representar uma

informação:

Modo Analógico

Contínua, diretamente proporcional aos dados que

constituem a informação

Termômetro de mercúrio – Mercúrio sobe em um tubo

proporcionalmente ao aumento da temperatura fora do tubo

Modo Digital

Informação é quebrada em pedaços e cada pedaço é

representado separadamente

Música em um CD – o disco armazena números que

representam amostras regulares (no tempo) de níveis de

voltagens específicas do som

Representação de Informação

Page 30: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

30

Analógico x Digital

Analógico

volt

tempo

3

8

11

7 4

1 2 3 4 5

Digital

8

11

7

4 3

1 2 3 4 5

Page 31: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

31

Computadores armazenam toda informação de

forma digital

Números

Texto

Gráficos e Imagens

Vídeo

Áudio

Instruções de programas

Para isto o computador digitaliza as informações, ou

seja quebra a informação em pedaços

Informação Digital

Page 32: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

32

Em um texto, cada caractere é armazenado como

um número, incluindo espaços, dígitos e pontuação

Caracteres maiúsculos e minúsculos têm

numerações diferentes

Representando Texto Digitalmente

O i , M u n d o!

79 105 44 32 77 117 110 100 111 33

Page 33: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

33

Números Binários

Quando a informação é digitalizada, ela é

representada e armazenada em memória usando o

sistema de numeração binária

Um dígito binário (0 ou 1) é chamado de bit

Um bit pode representar 2 estados possíveis (0 ou 1), assim

como uma lâmpada que pode estar ligada (1) ou desligada

(0)

Dispositivos que armazenam e manipulam

informação com representação binária (com 2

estados possíveis) são mais confiáveis e baratos

Page 34: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

34

Sistema de Numeração Binária (1)

No sistema de numeração decimal utilizamos os

dígitos de 0 até 9 para representar qualquer número

No sistema binário, só podemos utilizar os dígitos 0 e

1 para representar um número

Exemplo: Para representar o número nove em

decimal utilizamos o dígito 9, em binário ficaria 1001

1 0 0 1

1x 23 + 0 x 22 + 0 x 21 + 1 x 20

Page 35: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

35

Sistema de Numeração Binária (2)

Sistema Decimal Sistema Binário (4 bits)

10

9

8

7

6

5

4

3

2

1

1010

1001

1000

0111

0110

0101

0100

0011

0010

0001

Page 36: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

36

Unidades de Medida

Um byte corresponde a 8 bits

Capacidade de armazenamento de dados de uma

memória é medida em termos de bytes que ela pode

guardar

KB 210

= 1024

MB 220

(>1 milhão)

GB 230

(>1 bilhão)

TB 240

(>1 trilhão)

Unidade Símbolo Número de Bytes

kilobyte

megabyte

gigabyte

terabyte

Page 37: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

37

Categorias de Software

Sistema Operacional

Controla todas as atividades do computador

Fornece uma interface para que o usuário interaja com o

computador

Gerencia recursos computacionais tais como CPU,

memória, dispositivos de E/S, etc

Windows , Unix, Linux, Mac OS

Aplicativos

Termo genérico para qualquer outro tipo de software

Editores de texto, jogos, navegadores, sistemas de controle

aéreo, etc

Maioria dos softwares possuem uma interface gráfica

(GUI)

Page 38: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

38

Aplicativos e Sistema Operacional

CPU

Sistema Operacional Aplicativos Gerencia

recursos do

computador

Page 39: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

39

Usuários e Sistema Operacional

CPU

Sistema Operacional Fornece uma

interface para que

o usuário acesse

os recursos de um

computador

Page 40: Apresentação da Disciplina e Conceitos Básicos de ...if669ec/aulas/aulaIP-01.pdf · Análise de Resultados Nos últimos 4 semestres, 267 alunos cursaram a disciplina 167 ... conceitos

40

Resumindo

Componentes básicos de um sistema computacional

Hardware

CPU

Memória

Periféricos

Software

Categorias de software