apresentação da disciplina - decom.ufop.br€¦ · bcc701 – programação de computadores...
TRANSCRIPT
BCC701 2012/02
Apresentação da Disciplina
BCC701 – Programação de Computadores Universidade Federal de Ouro Preto Departamento de Ciência da Computação Prof. Reinaldo Silva Fortes www.decom.ufop.br/reinaldo [email protected] 2012/02
1
BCC701 2012/02
Agenda
• Objetivos;
• Ementa;
• Metodologia;
• Carga horária;
• Forma de avaliação;
• Comunicação;
• Bibliografia;
• Por que estudar computação?
• Algoritmos;
• Como se dar bem na disciplina?
2
BCC701 2012/02
Objetivos
• Desenvolver a capacidade de construir programas de computadores com a utilização de conceitos de programação estruturada.
• O que são programas de computadores?
• O que é programação estruturada?
3
BCC701 2012/02
Objetivos
• Programa de computador:
• É uma coleção de instruções que descrevem uma tarefa a ser realizada por um computador.
• O termo pode ser uma referência ao código fonte, escrito em alguma linguagem de programação, ou ao arquivo que contém a forma executável deste código fonte.
4
BCC701 2012/02
Objetivos
• Programação estruturada:
• Programação é um processo de escrita, teste e manutenção de um programa de computador;
• O programa é escrito em uma linguagem de programação, embora seja possível, com alguma dificuldade, escrevê-lo diretamente em linguagem de máquina;
• Programação estruturada é uma forma de programação de computadores que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e iteração. 5
BCC701 2012/02
Objetivos
• Sequência:
• Faça a tarefa 1;
• Agora faça a tarefa 2;
• Agora faça a tarefa 3;
6
BCC701 2012/02
Objetivos
• Decisão:
• Se algo for verdadeiro:
• Faça a tarefa A;
• Caso contrário:
• Faça a tarefa B;
7
BCC701 2012/02
Conteúdo Programático
• Introdução a ambientes de programação.
• Conceitos e representação de algoritmos.
• Conceitos básicos de programação:
• Valores, tipos e expressões.
• Variáveis e comando de atribuição.
• Comandos de entrada e saída.
• Comandos de controle de fluxo.
• Procedimentos e funções.
• Estruturas de dados homogêneas.
• Estruturas de dados heterogêneas.
9
BCC701 2012/02
Metodologia
• A disciplina é apresentada em aulas teórico-práticas.
• Aulas teóricas: • Apresentação de conceitos e técnicas.
• Aulas práticas: • Desenvolvimento de aplicações utilizando a linguagem de
programação Scilab.
10
BCC701 2012/02
Metodologia
• Monitorias:
• Aulas práticas terão acompanhamento de dois professores e um monitor da disciplina;
• Reforço semanal no laboratório COM13 com monitores;
• Horário a definir.
11
BCC701 2012/02
Carga horária
• Semanal: 4 h/a:
• 2h teóricas;
• 2h práticas.
• Total: 60 h/a.
• Aulas:
• Terças-feiras, aulas práticas, das 21:00 às 22:40;
• Quintas-feiras, aulas teóricas, das 19:00 às 20:40.
12
BCC701 2012/02
Forma de avaliação
• Provas escritas unificadas para todas as turmas: • 1ª Prova: 2 pontos, dia 19/01/2013;
• 2ª Prova: 3 pontos, dia 02/03/2013;
• 3ª Prova: 3 pontos, dia 06/04/2013;
• Datas sujeitas a alterações;
• Critério do professor: • 2 pontos;
• A definir;
• Exame especial: • 20/04/2013;
• CEPE 2880, .... 13
BCC701 2012/02
Forma de avaliação
• Frequência:
• Controle diário e rigoroso;
• Presença mínima para aprovação: 75%;
• Chances e oportunidades extras:
• Somente para os assíduos (>= 90% de frequência);
• Tem conhecimento sobre o assunto e não quer assistir às aulas?
• Converse antes com o professor.
14
BCC701 2012/02
Comunicação
• Informações gerais e downloads:
• Página web: www.decom.ufop.br/reinaldo;
• Acesse periodicamente para informações recentes;
• E-mail: [email protected]
• Atendimento extraclasse:
• Na sala do professor:
• Sala 17 do ICEB III;
• Procure agendar antecipadamente por e-mail ou pessoalmente.
15
BCC701 2012/02
Bibliografia Básica
• LEITE, M. SciLab - Uma Abordagem Prática e Didática - 1ª Ed. Editora Ciência Moderna. Rio de Janeiro, 2009.
• ASCENCIO, A. F. G.; CAMPOS, E. A. V. de. Fundamentos da Programação de Computadores: algoritmos, Pascal, C/C++ e Java. Pearson Education do Brasil Ltda. São Paulo, 2007.
• SOUZA, M. A. F. de; et. al. Algoritmos e Lógica de Programação. Cengage Learning. São Paulo, 2005.
16
BCC701 2012/02
Bibliografia Complementar
• CHAPMAN, S. J. Programação em MATLAB para Engenheiros – 2ª Edição. Cengage Learning. São Paulo, 2011.
• GILAT, A. MATLAB com Aplicações em Engenharia – 4ª Edição. Grupo A Educação. 2012.
• FARRER, H. et. al. Algoritmos Estruturados – 3ª Edição. LTC - Livros Técnicos e Científicos. Rio de Janeiro, 1999.
• GUIMARÃES, A. de M.; LAGES, N. A. de C. Introdução a Ciência da Computação. LTC – Livros Técnicos e Científicos. Rio de Janeiro, 1984.
• MOKARZEL, F.; SOMA, N. Introdução à Ciência da Computação. Elsevier Editora Ltda. Rio de Janeiro, 2008.
17
BCC701 2012/02
Algoritmos
• O computador só faz o que ele está programado para fazer;
• Algoritmo:
• É a descrição de uma sequência de passos que deve ser seguida para a realização de uma tarefa. (Ascencio, 1999);
• É uma sequência de passos que visa atingir um objetivo bem definido. (Foberllone, 1999).
20
BCC701 2012/02
Algoritmos
• No dia a dia nos deparamos com diversos problemas;
• A maioria deles podem ser resolvidos seguindo um algoritmo;
• Exemplos:
• Falar ao telefone;
• Dirigir um carro;
• Fazer um bolo;
• ...
21
BCC701 2012/02
Algoritmos
• Por que estudar programação?
• Problemas podem ser complexos;
• Logo, algoritmos podem ser complexos;
• Metas da disciplina:
• Desenvolver raciocínio lógico;
• Pensar no encadeamento dos passos;
• Aprender linguagens de programação.
22
BCC701 2012/02
Algoritmos - Exemplos
• Algoritmo para trocar lâmpada:
• Se (lâmpada estiver fora do alcance)
• Pegar escada;
• Pegar lâmpada;
• Se (lâmpada estiver quente)
• Pegar pano;
• Tirar lâmpada queimada;
• Colocar lâmpada nova.
23
BCC701 2012/02
Algoritmos - Exemplos
• Algoritmo para fazer uma prova:
• Pegar caneta;
• Assinar a prova;
• Ler a prova;
• Enquanto ((houver questão em branco) E (houver tempo))
• Se (souber questão)
• Resolva-a;
• Senão
• Escreva qualquer coisa que pareça fazer sentido OU Pule para a próxima;
• Entregar a prova.
24
BCC701 2012/02
Algoritmos - Exemplos
• Algoritmo para levar um leão, uma cabra e um pedaço de grama e um lado para o outro de um rio:
• Você deve usar um bote que só cabe o fazendeiro e mais um item;
• Um leão não pode ficar sozinho com a cabra;
• A cabra não pode ficar sozinha com a grama.
25
BCC701 2012/02
Algoritmos - Exemplos
• Algoritmo para levar um leão, uma cabra e um pedaço de grama e um lado para o outro de um rio:
• Você deve usar um bote que só cabe o fazendeiro e mais um item;
• Um leão não pode ficar sozinho com a cabra;
• A cabra não pode ficar sozinha com a grama.
• Solução:
1. Levar a cabra;
2. Voltar sozinho;
3. Levar o Leão;
4. Voltar com a cabra;
5. Levar a grama e deixar a cabra;
6. Voltar sozinho;
7. Levar a cabra. 26
BCC701 2012/02
Algoritmos - Exercício
• Faça um algoritmo para levar 3 missionários e 3 canibais de um lado para o outro do rio, usando um bote para realizar esta tarefa;
• Sabe-se que nunca pode ter mais canibais do que missionários, porque senão os canibais comem os missionários;
• O barco só tem capacidade para duas pessoas.
27
BCC701 2012/02
Como se dar bem na disciplina?
• Aprenda a gostar de programação;
• Ou, aprenda a conviver com ela.
• Programação exige dedicação:
• Assista às aulas com atenção;
• Faça as práticas sozinho, sem copiar de ninguém;
• Se a atividade for em dupla, participe e saiba o que está sendo feito;
• Não se limite às aulas, estude regularmente e faça os exercícios propostos;
• Não se limite aos exercícios propostos;
• “Nunca diga nunca”!!! 29