Mudanças entre as edições de "PRG1-2012-2-Engenharia"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 123: Linha 123:
  
 
  O programa que está na memória de programa está em LINGUAGEM DE MÁQUINA
 
  O programa que está na memória de programa está em LINGUAGEM DE MÁQUINA
 +
 +
O fluxo de execução do programa é SEQUENCIAL no sentido que a execução
 +
de uma instrução é realizada somente após a execução da instrução
 +
antecedente.
 +
  
 
*Funcionamento Simplificado de um Computador
 
*Funcionamento Simplificado de um Computador

Edição das 22h22min de 3 de outubro de 2012

PRG1 - PROGRAMAÇÃO I

CARGA HORÁRIA

TOTAL: 72 HORAS (4 HORAS/SEMANA)

TEÓRICA: 36 HORAS

LABORATÓRIO: 36 HORAS

DIAS COM AULA: 36 (18 semanas)

PRÉ REQUISITOS: LÓGICA

EMENTA

Introdução a lógica de programação e algoritmos. Constantes, variáveis e tipos de dados. Operadores aritméticos, relacionais e lógicos. Concepção de fluxograma e pseudocódigo. Estruturas de decisão e estruturas de repetição. Introdução a linguagem de programação c. Vetores de caracteres e multidimensionais. Ponteiros e aritmética de ponteiros. Funções: chamada por valor e por referência. Chamada recursiva de funções. Tipos de dados compostos. Operação com arquivos textos e binários.

Bibliografia Básica

  • SCHILDT, Herbert. C Completo e Total - 3.ed. [S.l.]: Makron, 1997. 830p. ISBN 978-8534605953

Referências Complementares

AULAS

AULA 1

Como fazer um churrasco

Vamos observar atentamente este vídeo para iniciarmos o nosso curso de programação:

EmbedVideo received the bad id "U0xSYIXE9vo#!" for the service "youtube".

O que tem o churrasco com a nossa aula?? Bem, trata-se de uma sequência de passos para execução de um objetivo.

EXERCÍCIO: Na forma textual, enumerar as etapas para fazer um bom churrasco.

O que é um algoritmo

Um algoritmo pode ser visto como uma sequência de instruções ou operações que resolvem um dado problema.

A receita de um bom churrasco corresponde a um algoritmo.

Como representar um algoritmo ?

Uma forma é representar na forma textual ordenada:

1.Comprar a carne
2.Colocar carvão na churrasqueira
3.Acender o carvão
4.Cortar a carne (picanha)
5.Espetar a carne
6.Salgar a carne
7.Colocar a carne na churrasqueira
8.Aguardar a carne ficar no ponto desejado
9.Bater a carne
10.Servir a carne

Outras formas são mais apropriadas para o uso no meio computacional:

  • pseudo-código
  • fluxogramas

Um outro exemplo

O problema da raposa, do milho e da galinha.

EmbedVideo received the bad id "yifW9XueSaI#!" for the service "youtube".


EXERCÍCIO 1: Descrever na forma de etapas a solução para o problema da raposa, do milho e da galinha.
Note que somente é possível escrever o algoritmo se tivermos uma solução para o problema.
EXERCÍCIO 2: Descrever na forma de etapas a solução para o problema dos canibais/padres.

Torres de Hanoi

Veja este jogo:

EmbedVideo received the bad id "hLnuMXO95f8#!" for the service "youtube".
EXERCÍCIO 1: Escrever na forma de etapas numeradas a solução para o problema das torres de Hanói usando 3 discos.
EXERCÍCIO 2: Escrever na forma de etapas numeradas a solução para o problema das torres de Hanói usando 4 discos.

E para quem são os algoritmos?

Uma receita de bolo serve é apropriada para ser executada por um ser humano. Um procedimento de como trocar um pneu também. Mas muitas vezes queremos que o algoritmo seja executado por uma máquina! O computador é perfeito para isto!

Neste curso vamos nos concentrar no desenvolvimento de algoritmos simples, 
desde a sua concepção até  a sua implementação através de uma LINGUAGEM DE
PROGRAMAÇÃO, em um computador.
Um PROGRAMA implementa um algoritmo. É o algoritmo materializado na forma de
uma sequência de instruções.

Neste sentido, vamos entender minimamente o funcionamento de um computador.

Como funciona um computador? Como ele executa programas ("receitas")?

  • Partes de um computador:
    • ULA (CPU) (Unidade Lógica e Aritmética)
    • Barramentos
    • Memórias: Primária (semicondutora -> RAM e ROM) e Secundárias (disco, pendrive)
    • Dispositivos de Entrada e Saída de Dados (Teclado, Monitor etc)
  • O computador é digital:
    • Dados e Instruções são sequências de bits
    • Representação de dados em sistemas computacionais: uso de códigos (ex:código ASCII);
 A -> 01000001
 B -> 01000010
    • As instruções também são palavras binárias interpretadas pela CPU;
De forma simplificada podemos dizer que as instruções ficam em uma 
memória de programa enquanto os dados a serem processados pelo programa
ficam em uma memória de DADOS;
O programa que está na memória de programa está em LINGUAGEM DE MÁQUINA
O fluxo de execução do programa é SEQUENCIAL no sentido que a execução
de uma instrução é realizada somente após a execução da instrução 
antecedente.


  • Funcionamento Simplificado de um Computador
Suponha que um programa a ser executado se encontra em uma memória de programa.
Ao ligar o sistema, a CPU busca na memória de programa uma instrução a ser executada
(ciclo de busca) e, então, executa a instrução (ciclo de execução). Na SEQUÊNCIA,
a CPU busca a PRÓXIMA instrução na memória de programa, e assim sucessivamente...

(apresentação do Prof.Semprebom sobre computadores)

Possíveis linguagens de programação

  • Linguagem C
  • Fortran
  • Basic
  • C++
  • Pascal
  • Java
  • Python
 Neste curso utilizaremos a linguagem C. Por que? È uma linguagem muito usada na implementação de produtos 
 eletrônicos, incluindo àqueles voltados as Telecomunicações.


Plano de Ensino

Agora que temos uma ideia do que será tratado neste curso, vamos apresentar o plano de ensino.

AULA 2

AULA 3

AULA 4

AULA 5

AULA 6

AULA 7

AULA 8

AULA 9

AULA 10

AULA 11

AULA 12

AULA 13

AULA 14

AULA 15

AULA 16

AULA 17

AULA 18

AULA 19

AULA 20

AULA 21

AULA 22

AULA 23

AULA 24

AULA 25

AULA 26

AULA 27

AULA 28

AULA 29

AULA 30

AULA 31

AULA 32

AULA 33

AULA 34

AULA 35