Documente Academic
Documente Profesional
Documente Cultură
Aula 1
Programao I
Objetivo: Trabalhar conceitos de programao procedural, utilizando como ferramenta a linguagem de programao C.
Programa da Disciplina
Programao I
Avaliao
10% listas de exerccios + 40% trabalhos + 50% provas + + 1 pto do desafio PET.
Ser reprovado diretamente o aluno cujo percentual de faltas for superior a 25%. Caso contrrio, se a mdia parcial for igual ou superior a 7,0 Mdia Final (MF) = MP. seno, o aluno dever fazer uma prova final (pf) valendo 10,0 pontos Mdia Final (MF) = (MP+PF)/2. O aluno ser aprovado se sua media final (MF) for igual ou superior a 5,0.
Introduo
Charles Babbage construiu no sc. XIX a primeira mquina programvel de que se tem notcia, a mquina analtica. Era totalmente mecnica, composta basicamente por engrenagens que formavam quatro componentes: a memria, a unidade de clculo ou computao, a unidade de entrada e a de sada.
Ada Augusta Lovelace foi a primeira pessoa a programar um computador, contratada pelo prprio Babbage para criar programas, ou, sequncias de instrues a serem lidas pela unidade de entrada.
Introduo
O primeiro computador eletrnico foi construdo no sc. XX, chamado ENIAC (Electronic Numerical Integrator and Computer)
Introduo
John Von Neumann, pesquisador envolvido no projeto do ENIAC, construiu para o Instituto de Estudos Avanado de Princeton (Princeton Institute of Advanced Studies IAS) a mquina IAS. Ele imaginou que os programas poderiam ser representados em formato digital na memria, junto com os dados. Arquitetura de Von Neumann:
Introduo
Computador ??
Uma mquina de processar dados, numricos ou simblicos, que funciona atravs da execuo de programas.
Programa ??
tarefa de identificar o conhecimento necessrio para a descrio de um conceito, organiz-lo e codific-lo de modo a ser entendido pela mquina damos o nome de programao de computadores. Ao conhecimento codificado, produto final da tarefa de programao d-se o nome de programa.
Introduo
Algoritmo:
qualquer procedimento bem definido que toma algum valor como entrada e produz algum valor como sada.
4.
5. 6. 7. 8.
Pegar a escova e a pasta de dentes; Colocar um pouco de pasta sobre as cerdas da escova; Escovar os dentes do maxilar inferior; Escovar os dentes do maxilar superior; Expelir da boca o excesso de espuma; Bochechar um pouco de gua; Lavar a escova e guard-la; Enxugar o rosto.
Onde est a escova a ser usada? Quanto, exatamente, se deve colocar de pasta sobre as cerdas? O que fazer se no houver pasta? Escovar mesmo sem a pasta ou interromper o processo de escovao?
Algoritmo:
qualquer procedimento bem definido que toma algum valor como entrada e produz algum valor como sada.
Entrada: Dentes sujos com restos de alimentos, uma escova dental em condies de uso, 90 gramas de creme dental e 300 mililitros de gua tratada. Sada: Dentes limpos (sem restos de alimentos visveis), uma escova dental em condies de uso e 85 gramas de creme dental. Toda a quantidade de gua deve ser utilizada.
Tcnica de refinamentos sucessivos: dividir um processo complexo em processos-componentes menores, especificando-se a entrada e a sada de cada um deles.
Processo-componente pegar a escova e a pasta de dentes: 1. Enquanto no encontrar a escova e o tubo de pasta, continuar procurando por cada gaveta do armrio; 2. Caso tenham acabado as gavetas e no tenha encontrado a escova e o tubo, interromper a tarefa.
Etapas de programao
entendimento do problema a ser resolvido, planejamento de uma soluo => algoritmo formalizao da soluo usando uma linguagem de programao, verificao da conformidade da soluo obtida com o problema proposto
Construir uma lista ordenada partir de uma lista original Entrada: lista qualquer Sada: lista ordenada Se a lista tem menos de 2 elementos, termina; Seno, para cada posio da lista,
Percorre-se a lista da posio atual at o final, efetuando a troca dos elementos quando o valor da posio frente for menor que o valor da posio atual.
1. 2.
Exemplo de Codificao
void Bubble(int S[], int n) { int b,i,aux; for (b=0;b<n-1;b++) for (i=n-1;i>b;i--) if (S[i] < S[i-1]) { aux = S[i]; S[i] = S[i-1]; S[i-1] = aux; } }
Linguagem C
Histrico
Algol (60) CPL (67) BCPL (67) B (70) C (72). Criada por Dennis Ritchie e Ken Thompson. Em 1985 estabeleceu-se uma padro oficial C ANSI
Caractersticas Principais
Exemplo de Programa em C
(...)
Partes de um Programa
Nome da receita; Ingredientes: descreve todo o material necessrio para o preparo da receita; Modo de preparo: descreve a forma de trabalhar com os ingredientes para que se obtenha o resultado esperado; Comentrios sobre certos procedimentos ou ingredientes a fim de detalhar alguma peculiaridade que o cozinheiro poderia no conhecer previamente.
Partes de um Programa
Cabealho: contm informaes sobre o programa, como o seu nome; Dicionrio de dados: define quais so os dados manipulados pelo programa; Corpo: define os procedimentos que o programa deve executar; Documentao: explica certos aspectos no muito claros do programa, tanto no corpo do programa quanto no cabealho ou no dicionrio de dados.
Partes de um Programa
Avisos
Site: https://sites.google.com/site/vczamborlini/ensino/20111/programacao-i---fisica
Avaliao
Exerccios
Use o conceito de algortimos e a tcnica de refinamentos sucessivos para detalhar as seguintes atividades:
Trocar o pneu de um carro Preparao de um bolo de aniversrio Clculo da distncia entre dois pontos no plano cartesiano.