Algoritmos e Programação

Download Report

Transcript Algoritmos e Programação

Algoritmos e
Programação
Thyago Maia Tavares de Farias
Aula 1
Sumário





Apresentação do Curso
Plano de Ensino (resumo)
O “segredo” para se sair bem na disciplina
Afinal, o que é um algoritmo?
O que podemos concluir sobre algoritmos?
Apresentação do Curso

Professor: Thyago Maia Tavares de Farias

Mestre em Informática pelo PPGI/DI/UFPB
Bacharel em Ciência da Computação pela UFPB
Currículo Lattes: http://lattes.thyagomaia.net
E-Mail: [email protected]
Twitter: http://twitter.com/thyagomaia




Plano de Ensino

Objeto de estudo:

Ensino dos conceitos básicos de algoritmos
estruturados, envolvendo tipos de dados e formas de
representação de algoritmos;

Fundamentos das técnicas estruturadas de
programação para o desenvolvimento de software;
Plano de Ensino

Objetivos:
Geral: Introduzir conceitos de técnicas de
programação, utilizando noções de algoritmos,
através de linguagem de alto nível.
 Específicos:

Introduzir as técnicas para o desenvolvimento de
algoritmos;
 Estudo e aplicação das técnicas básicas de programação
em linguagem de alto nível;
 Análise e depuração de código;

Plano de Ensino

Metodologia:


Aulas teóricas (sala de aula) e práticas (laboratório);
Avaliação:

Avaliações escritas:




Exercícios e atividades práticas em laboratório:


3 avaliações (Datas a definir)
1 reposição (Datas a definir)
1 final (Datas a definir)
Irão complementar as notas das avaliações;
Projeto Integrador


Tema: Desvendando as Redes Sociais;
Irá complementar a nota da 3ª avaliação;
Plano de Ensino

Sobre o Projeto Integrador:
Trabalhos específicos serão desenvolvidos para cada
disciplina do período;
 Grupos de até 4 pessoas;
 O que será desenvolvido para a disciplina de
algoritmos?

Um programa que calcule estatísticas acerca das principais
redes sociais do mercado;
 1º estágio: Pesquisar fórmulas e dados que poderão ser
utilizados nos programas;

Plano de Ensino

Sobre o Projeto Integrador:

O que será desenvolvido para a disciplina de
algoritmos?
Um algoritmo/programa que calcule estatísticas acerca
das principais redes sociais do mercado;
 1º estágio: Pesquisar fórmulas e dados que poderão ser
utilizados nos algoritmos/programas (vale 1,0 ponto);
 2º estágio: Início do desenvolvimento dos
algoritmos/programas (vale 1,0 ponto);
 3º estágio: Produção de relatório, entrega dos
algoritmos/programas desenvolvidos e apresentação no
Fórum Integrador (vale 2,0 ponto)

Plano de Ensino

Bibliografia Básica:
TREMBLAY, J. P. & BUNT, R. Ciência dos
computadores: uma abordagem algorítmica. São
Paulo: McGraw-Hill, 1983.
 AVILANNO, Israel de Campos. Algoritmos e
Pascal Manual de Apoio. Editora Moderna, 2ª
Edição, 2006.
 FARRER, Harry et al. Algoritmos estruturados. Rio
de Janeiro: Guanabara Dois, 1989.

Plano de Ensino

Bibliografia Complementar:





ASCENCIO, Ana Fernanda Gomes. Lógica de programação
com pascal. São Paulo: Makron Books,1999.
MANZANO, José Augusto N. G.; YAMATUMI, Wilson Y.
Programação em turbo pascal 7.0. São Paulo: Érica, 1993.
GUIMARÃES, Ângelo de Moura. Algoritmos e estrutura de
dados. Rio de Janeiro:LTC, 1985.
KNUTH, D.E. The Art of Computer Programming (Vol
1:Fundamental Algorithms). São Paulo: Addison-Wesley,
1974.
WIRTH, N. Algoritmos and Data Structure. São Paulo:
Pearson Prentice-Hall,1986.
Plano de Ensino

E-Books:

TONET, Bruno; KOLIVER, Cristian. Introdução aos
algoritmos. Disponível em
<www.guanabara.info/logica/Apostilas/VisuAlg_Ref.pdf>.
Acesso em 21 de Dezembro de 2010.

EVARISTO, Jaime. Programando com Pascal. Disponível
em <http://professor.ic.ufal.br/jaime/>. Acesso em 21 de
Dezembro de 2010.
Plano de Ensino

Site da disciplina:

http://ead.unipe.br







Slides das aulas
Notas de aula
Lista de exercícios
Notas
Informações sobre o curso
Downloads
Softwares utilizados no curso:

VisuAlg: http://www.apoioinformatica.inf.br/visualg/setupv2.exe

Pascal ZIM!: http://www.baixaki.com.br/download/pascal-zim-.htm
O “segredo” para se sair bem na
disciplina

Procurar estar presente na maioria das aulas (é claro...)



Se faltou, checar material no site e/ou com os colegas
de sala;
Dúvida em algum assunto ou aula? Pergunte ao
professor durante as aulas ou envie um e-mail


Lembre-se: Alguns exercícios poderão compor a nota de
alguma prova!
Sempre checo e-mails e procuro respondê-los o mais breve
possível
E o mais importante: EXERCITE, EXERCITE...
Afinal, o que é um algoritmo?

Sequência de instruções finitas e ordenadas de
forma lógica para a resolução de uma
determinada tarefa ou problema;

Não necessariamente envolve aspectos
computacionais. Ex.: Uma receita de bolo, trocar
um pneu de carro, trocar uma lâmpada, manual
de instruções;
Exemplo
Sequência para fritar um ovo:

1.
2.
3.
4.
5.
6.
7.
8.
9.
Retirar o ovo da geladeira
Colocar a frigideira no fogo
Colocar óleo
Esperar até o óleo ficar quente
Quebrar o ovo separando a casca
Colocar o conteúdo do ovo na frigideira
Esperar um minuto
Retirar o ovo da frigideira
Apagar o fogo
Exemplo

Tal sequência é um algoritmo? Vejamos...

Possui uma sequência de instruções finitas e
ordenadas?


O objetivo da sequência foi atingido?


R.: SIM. Instruções de 1 a 9.
R.: SIM. O ovo foi frito.
Logo, é um algoritmo!
Exercício

Ordene e estruture uma
sequência para a
realização de uma ligação
telefônica em um
orelhão.
Exercício

Resposta 1:
1.
2.
3.
4.
5.
6.
7.
Tirar o fone do gancho
Ouvir sinal de linha
Introduzir cartão
Teclar o número desejado
Conversar
Desligar
Tirar o cartão
Exercício
Resposta 2 (Mais robusta)

1.
2.
3.
4.
5.
Tirar o fone do gancho
Ouvir sinal de linha
Introduzir cartão
Teclar o número desejado
Se chamar e alguém atender
1.
2.
3.
6.
Conversar
Desligar
Retirar o cartão
Senão
1.
2.
Desligar
Voltar para a instrução 1
O que podemos concluir sobre
algoritmos?





Algoritmo é uma espécie de passo a passo;
Algoritmos realizam uma saída (ex.: Um ovo frito) a
partir de uma determinada entrada (um ovo) através de
uma sequência de passos;
Os passos tem que ser executados um após o outro;
Um algoritmo está correto quando sua sequência de
instruções resulta em uma saída esperada.
Podem existir um ou mais algoritmos para atingir um
resultado, desde que o resultado (a saída) seja o mesmo!
Observação

O algoritmo não é a solução do problema, mas o
caminho que leva a mesma!