introdução à programaçãormoraes.wdfiles.com/local--files/aulaspri/aula01_intro_prog.pdf ·...
TRANSCRIPT
![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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/32.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/38.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022050219/5f65172c71c07424233ff857/html5/thumbnails/39.jpg)
Ciclo deDesenvolvimento
Extensão.C
Converte Cpara Códigode Máquina
Extensão.exe