introdução a programação - francajoyce.files.wordpress.com · professora de ciência da...
TRANSCRIPT
![Page 1: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/1.jpg)
Joyce França Professora de Ciência da Computação - IFNMG
Introdução a Programação
![Page 2: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/2.jpg)
Roteiro – aula 1
• Apresentação da disciplina
• Definição de algoritmos
![Page 3: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/3.jpg)
Plano de Ensino
• EMENTA
• OBJETIVOS
• CONTEÚDO PROGRAMÁTICO
• METODOLOGIA
• AVALIAÇÃO
• BIBLIOGRAFIA
![Page 4: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/4.jpg)
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.
![Page 5: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/5.jpg)
OBJETIVOS
• Objetivo Geral:
▫ Introduzir os conceitos básicos, técnicas, recursos, características e suporte ferramental relacionados à uma linguagem de programação.
![Page 6: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/6.jpg)
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.
![Page 7: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/7.jpg)
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.
![Page 8: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/8.jpg)
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.
![Page 9: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/9.jpg)
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.
![Page 10: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/10.jpg)
![Page 11: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/11.jpg)
![Page 12: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/12.jpg)
![Page 13: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/13.jpg)
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 -
![Page 14: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/14.jpg)
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.
![Page 15: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/15.jpg)
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.
![Page 16: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/16.jpg)
• Site: francajoyce.wordpress.com
![Page 17: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/17.jpg)
![Page 18: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/18.jpg)
Definição de algoritmo
Prof.: Joyce França
15/08/2017
18
![Page 19: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/19.jpg)
Agenda
• Introdução
• Definição de algoritmo
• Formas de Representação de algoritmos
• Tipos de dados
• Exercícios
19
![Page 20: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/20.jpg)
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
![Page 21: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/21.jpg)
Propriedades do algoritmo
• Composto por ações simples e bem definidas
• Seqüência ordenada de ações
• Conjunto finito de passos
21
![Page 22: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/22.jpg)
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
![Page 23: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/23.jpg)
• 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
![Page 24: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/24.jpg)
• Passo 1: mova disco menor para eixo C
Solução
A C B
![Page 25: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/25.jpg)
• Passo 2: mova disco médio para eixo B
A C B
Solução
![Page 26: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/26.jpg)
• Passo 3: mova disco menor para eixo B
Solução
A C B
![Page 27: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/27.jpg)
• Passo 4: mova disco maior para eixo C
Solução
A C B
![Page 28: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/28.jpg)
• Passo 5: mova disco menor para eixo A
Solução
A C B
![Page 29: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/29.jpg)
• Passo 6: mova disco médio para eixo C
Solução
A C B
![Page 30: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/30.jpg)
• Passo 7: mova disco menor para eixo C
Solução
A C B
![Page 31: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/31.jpg)
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
![Page 32: Introdução a Programação - francajoyce.files.wordpress.com · Professora de Ciência da Computação - IFNMG Introdução a Programação . Roteiro – aula 1 •Apresentação](https://reader031.vdocuments.site/reader031/viewer/2022021910/5c03e4f509d3f219408cdb8d/html5/thumbnails/32.jpg)
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