You are on page 1of 23

Programao I

Aula 1

Programao I

Objetivo: Trabalhar conceitos de programao procedural, utilizando como ferramenta a linguagem de programao C.

Programa da Disciplina

Conceitos Bsicos Modularizao Tipo Abstrato de Dados Vetores Matrizes Arquivos

Programao I

Avaliao

Media Parcial (MP) =

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)

140 quilowatts de energia eltrica 18.000 vlvulas 1.500 rels, 30 toneladas

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.

Algoritmo para escovar dentes


1.
2. 3.

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.

Algoritmo para escovar dentes

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?

Melhorando o Algoritmo para escovar dentes

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.

Melhorando o Algoritmo para escovar dentes

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

Algoritmo para ordenar lista de nmeros

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

Eficincia Flexibilidade (permissiva) Portabilidade

Manipulao de variveis manipulao de memria

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.