Você está na página 1de 5

19/02/2013

Ementa
Entrada/Saída. Variáveis. Tipos de Dados
Aula 1: Algoritmos e 
Simples e Estruturados. Estruturas
condicionais. Estruturas de Repetição.
Estruturas de Dados I Estruturas de dados estáticas. Ponteiros
e Alocação Dinâmica de Memória.
Curso: Ciência da Computação Funções. Recursividade. Manipulação de
Arquivos. Aplicações.
Profª.: Luciana Balieiro Cosme

Referências bibliográficas Avaliação


 MEDINA, M; FERTIG, C. Algoritmos e  Listas de exercícios
Programação: Teoria e Prática. Rio  15 pontos
de Janeiro: Novatec, 2005.  1ª Avaliação: 15 pontos
 DEITEL, Paul; DEITEL, Harvey. C: Como  Data: 19/03/2013
Programar. 6ª ed. São Paulo: Pearson  2ª Avaliação: 20 pontos
Brasil, 2011.  Data: 02/05/2013
 DAMAS, Luis. Linguagem C. 10. ed. São  3ª Avaliação: 30 pontos
Paulo: LTC, 2007.  Data: 27/06/2013
 Trabalho Final: 20 pontos
 Data: 09/07/2013

Principais eventos Principais eventos


 Sociedade Brasileira de Computação  Campus Party
(SBC)  inovação, ciência, criatividade e
 http://www.sbc.org.br/ entretenimento digital
 Maratona de Programação  Estimativa de 6 mil pessoas
 http://maratona.ime.usp.br/  24 horas
 http://www.campus-party.com.br/

1
19/02/2013

Conceito de algoritmos Definição: Algoritmos


 Conceito central da programação e da  “Descrição de um conjunto de comandos
ciência da computação. que, obedecidos, resultam numa
sucessão finita de ações”. (Farrer at al,
1999)

 Os algoritmos são utilizados no dia-a-dia


para a solução dos mais diversos
problemas.

E o que são ações? Estático e dinâmico


 Ação é um acontecimento que, a partir  Texto contendo comandos que devem
de um estado inicial, após um período de ser seguidos numa ordem prescrita
tempo finito, produz um estado final (atemporal)
previsível e bem definido;  Receita de bolo
 Ex.: Caminhar de uma esquina até a próxima  Mas o que importa são os efeitos da
esquina execução.

Exemplo de um algoritmo (não


computacional) Reconhecimento de padrão
 Início  Qual é o padrão de comportamento
 1. tirar o fone do gancho; utilizado para gerar a sequência 1, 5, 9,
 2. ouvir o sinal de linha; 14, 17, 21, 25?
 3. introduzir o cartão;
 4. teclar o número desejado;
 5. se atender
 5.1 conversar
 5.2 desligar
 5.3 retirar o cartão

 6. senão
 6.1 repetir
 Fim

2
19/02/2013

Exercício Formas de representação


 Faça um algoritmo que diga o antecessor  Portugol
e o sucessor de um valor a ser  Fluxogramas
informado.  Linguagem de Programação
 Reconheça o padrão
 Escreva as ações para resolver o problema
 Todas as pessoas escrevem o algoritmo da
mesma forma?

Portugol Programação
início  A seqüência de planejamento, projeto,
inteiro: numero, antecessor, sucessor escrita e testes de instruções
leia(numero) desempenhadas pelo computador.
antecessor=numero-1  É uma arte e uma ciência.
 Criatividade X regras X lógica
sucessor = numero+1
 Modelo: algoritmo
fim.
 Implementação: é a transformação (ou
codificação) do algoritmo em alguma
linguagem de programação adequada

Linguagem de Máquina Linguagem de Máquina


 A linguagem utilizada para comunicação  A linguagem utilizada para comunicação
interna num computador é chamada interna num computador é chamada
linguagem de máquina linguagem de máquina
 Possui apenas dois símbolos (bit): 0  Possui apenas dois símbolos (bit): 0
(zero) e 1 (um). (zero) e 1 (um).
 Comunicação do homem com o  Comunicação do homem com o
computador computador
 Em linguagem escrita e traduzidas para  Em linguagem escrita e traduzidas para
a linguagem de máquina e vice-versa a linguagem de máquina e vice-versa

3
19/02/2013

Linguagem de Programação Exemplo de Programação


 Permite escrever instruções  Calcular a média final de um aluno do
desempenhadas pelo computador. técnico de informática
 Permite criar programas que traduzem  Serão quatros provas P1, P2, P3 e P4.
instruções numa linguagem dos seres  Quais são os dados de entrada?
humanos para a linguagem de máquina.  P1, P2, P3 e P4
 Linguagem de alto nível  Qual será o processamento a ser
 Pascal, C, Delphi (Object Pascal), Visual utilizado?
Basic, Java, C#, C++.  Media = (P1 + P2 + P3 + P4)/4
 Quais serão os dados de saída?
 A média final

O exemplo anterior (fluxograma) Na Linguagem de Programação C


#include <stdio.h>
int main()
{
float n1, n2, n3, n4;
printf(“Programa: Media de notas”);
scanf(“%f %f %f %f”, &n1, &n2, &n3,
&n4);
printf ("%f”, (n1+n2+n3+n4)/4);
return(0);
}

Para praticar Torre de Hanoi


 Um senhor, infelizmente bastante gordo, está  Inicialmente têm-se três hastes A, B e C,
numa das margens de um rio com uma e na haste A repousam três anéis de
raposa, uma dúzia de galinhas e um saco de diâmetros diferentes, em ordem
milho. O senhor pretende atravessar o rio decrescente por diâmetro.
com suas cargas, num barco que só comporta
o senhor e uma das cargas. Evidentemente, o
senhor não pode deixar em uma das
margens, sozinhos, a raposa e a galinha, nem
a galinha e o milho. A questão é escrever um
algoritmo que oriente o senhor a realizar o
seu intento.

4
19/02/2013

Torres de Hanoi Leitura complementar


 O objetivo é transferir os três anéis da  Capítulo 1 – Item 1.5 Como se portar em um
haste A para B, usando C se necessário. curso de computação. Souza et. al. et al.
As regras são: Algoritmos e Lógica de Programação.
 Deve-se mover um único anel por vez;  Aula 1: Apostila Algoritmos e Programação
usando a Linguagem C do Professor Renato
 Um anel de diâmetro maior nunca deve
repousar sobre algum outro de diâmetro
Cota.
menor.  Capítulo 1 – Introdução. MEDINA, M; FERTIG,
C. Algoritmos e Programação: Teoria e
Prática. Rio de Janeiro: Novatec, 2005.
Disponível em:
http://www.novatec.com.br/livros/algoritmos
/capitulo857522073X.pdf

Contato
 luciana.balieiro@ifnmg.edu.br