30
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

Apresentação da Disciplina - decom.ufop.br€¦ · BCC701 – Programação de Computadores Universidade Federal de Ouro Preto Departamento de Ciência da Computação ... programação

  • Upload
    vutram

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

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

Objetivos

• Iteração:

• Enquanto algo for verdadeiro:

• Faça a tarefa A;

8

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

Por que estudar computação?

• A computação guia inovações na ciência:

18

BCC701 2012/02

Por que estudar computação?

• A computação está presente em diversas áreas:

19

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

Algoritmos - Exercício

• Solução:

28

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

BCC701 2012/02

FIM!

• Próximas aulas:

• Algoritmos;

• Scilab;

• ...

30