introdução à programaçãormoraes.wdfiles.com/local--files/aulaspri/aula01_intro_prog.pdf ·...
TRANSCRIPT
Introdução àProgramação
Aula 01
Tópicos Principais
• Modelo de um computador• Um computador hipotético• Ciclo de desenvolvimento
• Conteúdo da disciplina
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
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
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
Modelo de umComputador
Modelo de umComputador
A Bus é o canal quetransfere informação entre
os componentes docomputador
Modelo de umComputador
“Cérebro” docomputador
Modelo de umComputador
Executa instruções armazenadasna memória principal
Modelo de umComputador
Informação é perdida quando ocomputador é desligado
Modelo de umComputador
Informação é mantida mesmoquando o computador é desligado
Modelo de umComputador
Para executar um programa, ele precisa sercopiado da memória secundária para a principal
Modelo de umComputador
Possibilitam o usuário fornecer e receberinformações do 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.
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
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.
Instruções docomputador
• store pos: armazena o número noregistrador na posição de memória pos
Executando programas
• Programas nesse computador sãosequências das instruções mostradas
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
Programa soma 2.5
read 0storeconst 2.5 1add 0 1store 2write 2
Programa soma 2.5
O programa abaixo tambémresolve o problema
read 0storeconst 2.5 1add 0 1store 0write 0
Programa soma 2.5
O programa abaixo resolveo problema?
read 0storeconst 2.5 1add 0 1store 0write 2
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.
Armazenamento denúmeros na memória
• O número zero é representado assim:
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:
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:
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
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:•
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.
Números para cadaInstrução
read = 0•write = 1•storeconst = 2•add = 3•sub = 4•mul = 5•div = 6•store = 7•
Um programa emmemória
read 0storeconst 2.5 1add 0 1store 2write 2
Um programa emmemória
read 0storeconst 2.5 1add 0 1store 2write 2
Um programa emmemória
read 0storeconst 2.5 1add 0 1store 2write 2
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)
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.
Ciclo deDesenvolvimento
Ciclo deDesenvolvimento
Extensão.C
Ciclo deDesenvolvimento
Extensão.C
Converte Cpara Códigode Máquina
Ciclo deDesenvolvimento
Extensão.C
Converte Cpara Códigode Máquina
Extensão.exe