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

Post on 10-Dec-2018

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introdução à Programação

Apresentação da Disciplina e

Conceitos Básicos de

Computadores

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

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

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

Resultados de Semestres Anteriores

5

Resultados 2012-2

Resultados de Semestres Anteriores

6

Resultados de Semestres Anteriores

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

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

10

Afetadas por IP

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

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

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

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

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

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

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

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)

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

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

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

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

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

24

Armazenamento Secundário

(Disco Rígido)

Dispositivo magnético

Partes que são gravadas são magnetizadas

25

Armazenamento Secundário

(Disco Rígido)

Informações são gravadas em setores

Uma trilha é composta por um conjunto de

setores

setor

trilha

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

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

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

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

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

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

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

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

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

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

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

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)

38

Aplicativos e Sistema Operacional

CPU

Sistema Operacional Aplicativos Gerencia

recursos do

computador

39

Usuários e Sistema Operacional

CPU

Sistema Operacional Fornece uma

interface para que

o usuário acesse

os recursos de um

computador

40

Resumindo

Componentes básicos de um sistema computacional

Hardware

CPU

Memória

Periféricos

Software

Categorias de software

top related