Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf ·...

39
Introdução à Programação Aula 01

Transcript of Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf ·...

Page 1: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Introdução àProgramação

Aula 01

Page 2: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Tópicos Principais

• Modelo de um computador• Um computador hipotético• Ciclo de desenvolvimento

• Conteúdo da disciplina

Page 3: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Conteúdo• Conceitos introdutórios• Tipos de dados básicos• Constantes e variáveis• Comandos simples– atribuição– entrada e saída

• Cálculo de expressões– Aritméticas– Relacionais– lógicas

• Estruturas de Controle

• Estrutura de dados– Unidimensionais–Multidimensionais

• Modularização• Strings• Arquivos

Page 4: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Conteúdo• Site: http://rmoraes.wikidot.com

– Aulas, laboratórios– Exercícios, trabalhos– Datas e resultados– Avisos de última hora

• Avaliação– Duas provas => 80 % ; dias 12/07/2013 e 06/09/2013 (6a. feiras)– Dois trabalhos => 20 %; dias 19/07/2013 e 30/08/2013 (6a. feiras)– Uma prova final ; dia 13/09/2013 (6a. feira)– Aluno pode perder uma avaliação regular que será substituída pela prova final– Aluno poderá solicitar outra prova (após a prova final) se justificar a perda da

prova regular assim que retornar

Page 5: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Conteúdo• Bibliografia

– FARRER, Harry et al. Algoritmos Estruturados. 2 ed. Ed Guanabara, Rio de Janeiro, 1989.

– GUIMARÃES, A. M.; LAGES, N. A. C. Algoritmos Estruturados. LTC, Rio de Janeiro, 1985.

– SCHILDT, Herbert. C Completo e Total. 3 ed. Pearson Education, São Paulo, 1997.

– Material próprio, apostilas

Page 6: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Modelo de umComputador

Page 7: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Modelo de umComputador

A Bus é o canal quetransfere informação entre

os componentes docomputador

Page 8: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Modelo de umComputador

“Cérebro” docomputador

Page 9: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Modelo de umComputador

Executa instruções armazenadasna memória principal

Page 10: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Modelo de umComputador

Informação é perdida quando ocomputador é desligado

Page 11: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Modelo de umComputador

Informação é mantida mesmoquando o computador é desligado

Page 12: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Modelo de umComputador

Para executar um programa, ele precisa sercopiado da memória secundária para a principal

Page 13: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Modelo de umComputador

Possibilitam o usuário fornecer e receberinformações do computador

Page 14: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Um computadorhipotético

• A memória armazena números.

• Cada posição na memória possui um endereço. Os endereços começam com 0.

Logo os endereços 0, 1, 2 são os endereçosdas primeiras 3 posições.

• Existe uma memória chamadaregistrador, que registra o resultado deuma operação.

Page 15: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Instruções docomputador

• read pos: lê um número do teclado earmazena na posição de memória pos

• write pos: escreve na tela o númeroarmazenado na posição de memória pos

• storeconst num pos: grava na posiçãopos o número num

Page 16: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Instruções docomputador

add pos1 pos2: soma os números armazenados•em pos1 e pos2 e armazena o resultado noregistrador.

sub pos1 pos2: calcula pos1 - pos2 e armazena•o resultado no registrador.

mul pos1 pos2: multiplica os números em pos1•e pos2 e armazena o resultado no registrador.

div pos1 pos2: divide os números em pos1 e•pos2 e armazena o resultado no registrador.

Page 17: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Instruções docomputador

• store pos: armazena o número noregistrador na posição de memória pos

Page 18: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Executando programas

• Programas nesse computador sãosequências das instruções mostradas

Page 19: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Programa soma 2.5

• Nós queremos implementar um programaque lê do teclado um valor, soma 2.5 a ele emostra na tela o resultado

Page 20: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Programa soma 2.5

read 0storeconst 2.5 1add 0 1store 2write 2

Page 21: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Programa soma 2.5

O programa abaixo tambémresolve o problema

read 0storeconst 2.5 1add 0 1store 0write 0

Page 22: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Programa soma 2.5

O programa abaixo resolveo problema?

read 0storeconst 2.5 1add 0 1store 0write 2

Page 23: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Armazenamento denúmeros na memória

• No nosso computador, cada posição dememória possui 8 subseções e cadasubseção é capaz de armazenar um númerode 0 a 9.

Page 24: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Armazenamento denúmeros na memória

• O número zero é representado assim:

Page 25: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Armazenamento denúmeros na memória

810 valores• Somos capazes de armazenardistintos em uma posição de memória.

• O maior valor inteiro positivo seria:

Page 26: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Armazenamento denúmeros na memória

• Para armazenar números negativos, nóspodemos usar uma convenção. A primeirasubseção terá o valor 1 para númerosnegativos e 0 para números positivos.

• Logo o número -457 é representado pelamemória abaixo:

Page 27: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Armazenamento denúmeros na memória

• Para armazenar números fracionários,podemos usar as 4 subseções após o sinalpara o número inteiro, e as 3 seguintes paraa parte fracionária.

• Abaixo está representado o número -257.4

Page 28: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Armazenamento denúmeros na memória

O formato que nós usaremos em nossos•exemplos usa notação científica para armazenarnúmeros fracionários. O número -257.4 emnotação científica fica -0.2574 x 103. As 5primeiras subseções armazenam o número e as3 seguintes armazenam a potência. Ambas aspartes possuem uma subseção destinada aosinal (1 = negativo, 0 = positivo).

Abaixo temos o número -0.2574 x 103:•

Page 29: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

ArmazenandoProgramas

• Para o nosso computador hipotéticoexecutar um programa, ele precisa estararmazenado na memória.

• Como nossa memória só armazenanúmeros, precisamos definir um númeropara cada instrução.

Page 30: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Números para cadaInstrução

read = 0•write = 1•storeconst = 2•add = 3•sub = 4•mul = 5•div = 6•store = 7•

Page 31: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Um programa emmemória

read 0storeconst 2.5 1add 0 1store 2write 2

Page 32: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Um programa emmemória

read 0storeconst 2.5 1add 0 1store 2write 2

Page 33: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Um programa emmemória

read 0storeconst 2.5 1add 0 1store 2write 2

Page 34: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Ciclo deDesenvolvimento

Escolha da linguagem depende da aplicação•que será desenvolvida

No nosso caso vamos trabalhar com C:•Base para Programação II-Interoperabilidade entre as engenharias-

Eficiência, facilidade de uso-Base para qualquer outra linguagem (as mais-sofisticadas)

Page 35: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Ciclo deDesenvolvimento

Um programa em C deve respeitar a sintaxe da•linguagem.

O computador não é capaz de executar instruções•em C.

Para executar um programa em C devemos•convertê-lo para linguagem de máquina (0s e 1s).

Essa conversão chama-se compilação.•O programa que faz a conversão chama-se•compilador.

Page 36: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Ciclo deDesenvolvimento

Page 37: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Ciclo deDesenvolvimento

Extensão.C

Page 38: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Ciclo deDesenvolvimento

Extensão.C

Converte Cpara Códigode Máquina

Page 39: Introdução à Programaçãormoraes.wdfiles.com/local--files/aulaspri/Aula01_intro_prog.pdf · Introdução à Programação Aula 01. Tópicos Principais • Modelo de um computador

Ciclo deDesenvolvimento

Extensão.C

Converte Cpara Códigode Máquina

Extensão.exe