Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da...
Transcript of Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da...
Joyce França Professora de Ciência da Computação - IFNMG
Introdução a Programação
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
Definição de algoritmo
Prof.: Joyce França
15/08/2017
18
Agenda
• Introdução
• Definição de algoritmo
• Formas de Representação de algoritmos
• Tipos de dados
• Exercícios
19
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.
20
Propriedades do algoritmo
• Composto por ações simples e bem definidas
• Seqüência ordenada de ações
• Conjunto finito de passos
21
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
22
• 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
Construindo um Algoritmo
A C B
• Passo 1: mova disco menor para eixo C
Solução
A C B
• Passo 2: mova disco médio para eixo B
A C B
Solução
• Passo 3: mova disco menor para eixo B
Solução
A C B
• Passo 4: mova disco maior para eixo C
Solução
A C B
• Passo 5: mova disco menor para eixo A
Solução
A C B
• Passo 6: mova disco médio para eixo C
Solução
A C B
• Passo 7: mova disco menor para eixo C
Solução
A C B
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
31
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.
32