Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
BCC701 2012/01
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/01
1
BCC701 2012/01
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/01
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/01
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/01
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/01
Objetivos
• Sequência:
• Faça a tarefa 1;
• Agora faça a tarefa 2;
• Agora faça a tarefa 3;
6
BCC701 2012/01
Objetivos
• Decisão:
• Se algo for verdadeiro:
• Faça a tarefa A;
• Caso contrário:
• Faça a tarefa B;
7
BCC701 2012/01
Objetivos
• Iteração:
• Enquanto algo for verdadeiro:
• Faça a tarefa A;
8
BCC701 2012/01
Ementa
• Conceitos básicos de organização de computadores, sistemas operacionais e ambientes de programação;
• Conceito de algoritmo;
• Conceitos básicos de programação:
• Valores e expressões de tipos primitivos;
• Variáveis;
• Comando de atribuição;
• Comandos de controle de fluxo;
• Entrada e saída padrão;
• Procedimentos e funções;
• Tipos de dados compostos. 9
BCC701 2012/01
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/01
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/01
Carga horária
• Semanal: 4 h/a:
• 2h teóricas;
• 2h práticas.
• Total: 60 h/a.
• Aulas:
• Terças-feiras, das 13:30 às 15:10;
• Quintas-feiras, das 13:30 às 15:10;
12
BCC701 2012/01
Forma de avaliação
• Provas escritas unificadas para todas as turmas:
• 1ª Prova: 2 pontos, dia 14/04;
• 2ª Prova: 3 pontos, dia 19/05;
• 3ª Prova: 3 pontos, dia 23/06;
• Datas a confirmar;
• Critério do professor:
• 2 pontos;
• A definir;
• Exame especial:
• 07/07 13
BCC701 2012/01
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;
• Tem conhecimento sobre o assunto e não quer assistir às aulas?
• Converse antes com o professor.
14
BCC701 2012/01
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]
15
BCC701 2012/01
Comunicação
• Atendimento extraclasse:
• Na sala do professor:
• Sala 21 (corredor do DECOM no ICEB);
• Terças-feiras:
• Das 10:00 às 12:00;
• Das 17:30 às 18:30 (agendado previamente);
• Quintas-feiras:
• Das 10:00 às 12:00;
• Quartas-feiras e Sextas-feiras:
• Com horário agendado previamente; 16
BCC701 2012/01
Bibliografia
• Algoritmos Estruturados. Terceira Edição. FARRER, H. e outros. Livros Técnicos e Científicos Editora S.A. – 1999.
• Fundamentos da Programação de Computadores. ASCENCIO, A. F. G. CAMPOS, E. A. V.
17
BCC701 2012/01
Bibliografia
• Complementar (disponibilizada no site)
• Carvalho, O. Introdução à Organização e à Programação de Computadores. UFMG, 2011.
• Danusio Gadelha Filho (UFC) - Scilab 5.1.1.
• Prof. Guilherme Tavares, Scilab.
18
BCC701 2012/01
Por que estudar computação?
• A computação guia inovações na ciência:
19
BCC701 2012/01
Por que estudar computação?
• A computação está presente em diversas áreas:
20
BCC701 2012/01
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)
21
BCC701 2012/01
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;
• ...
22
BCC701 2012/01
Algoritmos
• Por que estudar programação?
• Problemas podem ser complexos;
• Logo, algoritmos pode ser complexos;
• Metas da disciplina:
• Desenvolver raciocínio lógico;
• Pensar no encadeamento dos passos;
• Aprender linguagens de programação.
23
BCC701 2012/01
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.
24
BCC701 2012/01
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;
25
BCC701 2012/01
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.
26
BCC701 2012/01
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. 27
BCC701 2012/01
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.
28
BCC701 2012/01
Algoritmos - Exercício
• Solução:
29
BCC701 2012/01
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”!!! 30
BCC701 2012/01
FIM!
• Próximas aulas:
• Organização de computadores;
• Algoritmos;
• Scilab;
• ...
31