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 reifortes@iceb.ufop.br Apresentação da Disciplina 1
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
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
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
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
Objetivos Sequência: Faça a tarefa 1; Agora faça a tarefa 2; Agora faça a tarefa 3; 6
Objetivos Decisão: Se algo for verdadeiro: Faça a tarefa A; Caso contrário: Faça a tarefa B; 7
Objetivos Iteração: Enquanto algo for verdadeiro: Faça a tarefa A; 8
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
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
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
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
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
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
Comunicação Informações gerais e downloads: Página web: www.decom.ufop.br/reinaldo; Acesse periodicamente para informações recentes; E-mail: reifortes@iceb.ufop.br Atendimento extraclasse: Na sala do professor: Sala 17 do ICEB III; Procure agendar antecipadamente por e-mail ou pessoalmente. 15
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
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
Por que estudar computação? A computação guia inovações na ciência: 18
Por que estudar computação? A computação está presente em diversas áreas: 19
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
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
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
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
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
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
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
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
Algoritmos - Exercício Solução: 28
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
FIM! Próximas aulas: Algoritmos; Scilab;... 30