Introdução a Programação Joyce França Professora de Ciência da Computação - IFNMG
Roteiro aula 1 Apresentação da disciplina Definição de algoritmos
Plano de Ensino EMENTA OBJETIVOS CONTEÚDO PROGRAMÁTICO METODOLOGIA AVALIAÇÃO BIBLIOGRAFIA
Ementa Elementos de uma linguagem algorítmica. Comandos básicos da linguagem. Desenvolvimento de algoritmos. Programação de computadores utilizando como suporte uma linguagem de programação C. Desenvolver programas utilizando o modelo de desenvolvimento estruturado. Utilizar e implementar funções básicas (Nativas da Linguagem de Programação), comandos e operações.
OBJETIVOS Objetivo Geral: Introduzir os conceitos básicos, técnicas, recursos, características e suporte ferramental relacionados à uma linguagem de programação.
OBJETIVOS Objetivos Específicos: Compreender os conceitos da lógica de programação a fim de construir algoritmos para resolução de problemas matemáticos e computacionais. Conhecer e a manipular variáveis e tipos de dados. Conhecer e empregar as estruturas de controle de fluxo de dados para manipulação de dados na construção de algoritmos. Identificar problemas matemáticos e abstrai-los para o meio computacional e resolvê-los por meio de algoritmos. Construir algoritmos para serem executados em uma linguagem de programação.
CONTEÚDO PROGRAMÁTICO Unidade I Introdução ao conceito de abstração; Introdução à Lógica de Programação; Conceituação de tipos de dados e variáveis; Desenvolvimento de algoritmos; Sintaxe e semântica de algoritmos. Unidade II Introdução a ambientes de desenvolvimento de programação estruturada; Instruções e comandos básicos; Estruturas de Controle; Estruturas Condicionais; Estruturas de Repetição.
METODOLOGIA / ATIVIDADES DIDÁTICAS A disciplina utilizará de uma linguagem de programação moderna para demostrar processo de desenvolvimento de softwares. Serão ministradas aulas práticas no laboratório específico, objetivando a implementação de softwares reais. A avaliação dar-se-á em todo processo de desenvolvimento da disciplina, considerando a participação dos estudantes nas atividades propostas.
AVALIAÇÃO Critérios de Avaliação: Os conhecimentos e atitudes dos alunos serão avaliados através de exercícios, trabalhos e provas escritas e práticas utilizando computadores. Serão distribuídos 100 pontos para garantir aprovação o aluno deverá acumular 60 pontos na nota final.
AVALIAÇÃO 1º Bimestre Avaliação Nota Data Prova 1 10 pts 30/08/17 Prova 2 15 pts 27/09/17 Trabalhos 10 pts 06/10/17 Atitudinal 5 pts - 2º Bimestre Avaliação Nota Data Prova 3 15 pts 01/11/17 Prova 4 20 pts 13/12/17 Trabalhos 20 pts 20/12/17 Atitudinal 5 pts -
BIBLIOGRAFIA BÁSICA GUIMARÃES, A. M.; LAGES, N. A. C. Algoritmos e Estruturas de Dados. 1 ed. Rio de Janeiro: LTC, 2011. 216 p. MANZANO, J. A. N. G. Programação de Computadores com C/C++. 1 ed. Érica, 2014. 127 p. PEREIRA, L. S. Algoritmos e Lógica de Programação em C: Uma Abordagem Didática. 1ed. Érica, 2010.
BIBLIOGRAFIA COMPLEMENTAR ZIVIANI, N. Projeto de Algoritmos com Implementações em Pascal e C. 3 ed. São Paulo: Cengage Learning, 2010. 552 p. DEITEL, H. M.; DEITEL, P. J. C: Como Programar. 6 ed. Pearson Education, 2011. 828 p. FARRER, H. et al. Algoritmos Estruturados. 3 ed. Rio de Janeiro: LTC, 2011. 284 p.
Site: francajoyce.wordpress.com
18 Definição de algoritmo 15/08/2017 Prof.: Joyce França
19 Agenda Introdução Definição de algoritmo Formas de Representação de algoritmos Tipos de dados Exercícios
20 Definição de Algoritmo Algoritmo é uma seqüência finita e bem definida de passos que, quando executados, realizam uma tarefa específica ou resolvem um problema. Ex: Receitas de culinária, manual de instruções, coreografia, etc.
21 Propriedades do algoritmo Composto por ações simples e bem definidas Seqüência ordenada de ações Conjunto finito de passos
22 Exemplo de algoritmo Receita de bolo: Misture os ingredientes Unte a forma com manteiga Despeje a mistura na forma Se houver coco ralado então despeje sobre a mistura Leve a forma ao forno Enquanto não corar deixe a forma no forno Retire do forno Deixe esfriar
Construindo um Algoritmo Problema da Torre de Hanói Seja a seguinte situação: deve-se mover todos os discos do primeiro eixo para o terceiro mantendo-se a ordem original em cada movimento, pode-se mover apenas um disco um disco nunca poderá ser sobreposto por outro maior A B C
Solução Passo 1: mova disco menor para eixo C A B C
Solução Passo 2: mova disco médio para eixo B A B C
Solução Passo 3: mova disco menor para eixo B A B C
Solução Passo 4: mova disco maior para eixo C A B C
Solução Passo 5: mova disco menor para eixo A A B C
Solução Passo 6: mova disco médio para eixo C A B C
Solução Passo 7: mova disco menor para eixo C A B C
31 Problema da Torre de Hanoi Solução: 1. Move o disco 1 para eixo C 2. Move o disco 2 para eixo B 3. Move o disco 1 para eixo B 4. Move o disco 3 para eixo C 5. Move o disco 1 para eixo A 6. Move o disco 2 para eixo C 7. Move o disco 1 para eixo C
32 Exercícios de Lógica 1. Um comerciante está transportando um lobo, uma ovelha e 20 kg de cenouras. Durante a viagem, ele se depara com um rio e um pequeno barco, no qual só é possível transportar um elemento por vez. Descreva quais serão as ações tomadas pelo comerciante para atravessar o rio, de modo que ele nunca deixe o lobo e a ovelha ou a ovelha e as cenouras sozinhos em uma das margens.