Mudanças entre as edições de "PRG1-2013-1-Engenharia Programação 1 - Engenharia"
(→AULAS) |
|||
Linha 31: | Linha 31: | ||
{{collapse top|AULA 1 DIA 2/04/2013}} | {{collapse top|AULA 1 DIA 2/04/2013}} | ||
− | == AULA 1 DIA | + | == AULA 1 DIA 2/04/2013== |
=== Como fazer um churrasco === | === Como fazer um churrasco === |
Edição das 15h22min de 2 de abril de 2013
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
- Apostila adotada: Curso de Linguagem C - Engenharia Elétrica - UFMG
AULAS
AULA 1 DIA 2/04/2013 |
---|
AULA 1 DIA 2/04/2013Como fazer um churrascoVamos 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?? Trata-se de uma sequência de passos para execução de um objetivo. EXERCÍCIO: Na forma textual, descrever as etapas para fazer um bom churrasco. O que é um algoritmoUm 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:
A PENSAR: É possível mudar a ordem das instruções? É possível paralelizar algumas instruções? O problema da raposa, do milho e da galinhaEmbedVideo received the bad id "yifW9XueSaI#!" for the service "youtube".
EXERCÍCIO 1: Descrever na forma de etapas um 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 uma solução para o problema dos canibais/padres. Torres de HanoiVeja este jogo: EmbedVideo received the bad id "hLnuMXO95f8#!" for the service "youtube". EXERCÍCIO 3: Escrever na forma de etapas numeradas a solução para o problema das torres de Hanói usando 3 discos. EXERCÍCIO 4: 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 é 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 - a linguagem C, 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")?
A -> 01000001 B -> 01000010
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á escrito em LINGUAGEM DE MÁQUINA
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... O fluxo de execução do programa é, a princípio SEQUENCIAL no sentido que a execução de uma instrução é realizada somente após a execução da instrução antecedente. (apresentação do Prof.Semprebom sobre computadores) Possíveis linguagens de programaçãoNa prática, é inviável desenvolver programas complexos em LINGUAGEM DE MÁQUINA. Em geral, utilizamos linguagens de ALTO NÍVEL que podem, de alguma forma, serem traduzidas (compiladas) para a linguagem de baixo nível ou interpretadas em tempo de execução. Exemplo:
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. Um exemplo completoPROBLEMA: Computar a média de dois números reais fornecidos pelo teclado. Mostrar o resultado no monitor. SOLUÇÃO: ALGORITMO DADOS DE ENTRADA: NUM1 e NUM2 DADOS DE SAÍDA: MEDIA INÍCIO 1.Ler NUM1 2.Ler NUM2 3.MEDIA <- (NUM1+NUM2)/2 4.Mostrar MEDIA FIM /* Calculador de media de dois números reais */
#include <stdio.h>
main()
{
float num1,num2;
scanf(&num1);
scanf(&num2);
media = (num1+num2)/2;
printf ("media =\n", media);
}
EXERCÌCIO 5: Implementar o algoritmo com o Scratch. Plano de EnsinoAgora que temos uma ideia do que será tratado neste curso, vamos apresentar o plano de ensino. |