BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão,...
Transcript of BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão,...
![Page 1: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/1.jpg)
BCC701 Programação de Computadores I
Fernanda Sumika Hojo de Souza [email protected]
www.decom.ufop.br/fernanda
![Page 2: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/2.jpg)
Conteúdo ProgramáHco • Organização de computadores
– Conceitos básicos – Representação de dados: sistema binário – Compilação e interpretação de programas
• Desenvolvimento de algoritmos • Programação em Scilab
– Valores, Hpos e expressões – Variáveis e comando de atribuição – Comandos de entrada e saída de dados – Comandos condicionais – Comandos de repeHção – Arquivos – Estruturas de dados homogêneas: cadeias, vetores e matrizes – Estruturas de dados heterogêneas: registros – Modularização: funções
![Page 3: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/3.jpg)
Metodologia
• A disciplina é apresentada em aulas teórico-‐práHcas.
• Aulas teóricas – apresentação de conceitos e técnicas.
• Aulas práHcas – desenvolvimento de aplicações uHlizando a linguagem de programação Scilab.
![Page 4: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/4.jpg)
ObjeHvos • Gerais
– Dar ao aluno uma visão geral da informáHca e suas aplicações à outras áreas.
– Apresentar um sistema de computação e seus diversos componentes.
• Específicos – Planejar soluções de problemas através do computador. – Desenvolver e testar soluções de problemas computacionais usando algoritmos.
– Projetar, elaborar e depurar soluções de problemas computacionais usando programas na linguagem Scilab.
![Page 5: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/5.jpg)
Processo AvaliaHvo
• 02 provas teóricas: – Prova I (30 pontos) – Data: 04/10/11 – Prova II (30 pontos) – Data: 13/12/11
• 03 trabalhos práHcos: – Trabalho PráHco I – (10 pontos) – Trabalho PráHco II – (10 pontos) – Trabalho PráHco III – (10 pontos)
• 05 exercícios práHcos (10 pontos – 2 pts cada) • Exame Especial -‐ Data: 20/12/11
![Page 6: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/6.jpg)
Monitoria
• Aulas práHcas serão acompanhadas de 2 professores e 1 monitor.
• Reforço semanal no laboratório COM13 com monitores.
• Horário – a definir.
![Page 7: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/7.jpg)
Bibliografia
• Carvalho, O. Introdução à Organização e à Programação de Computadores. UFMG, 2011.
![Page 8: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/8.jpg)
Bibliografia
• Ascencio, A.F.G.; Campos, E.A.V. Fundamentos da Programação de Computadores. PrenHce Hall, 2a edição, 2007.
![Page 9: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/9.jpg)
Bibliografia
• Guimarães, A.M.E.; Lages, N.A.C. Algoritmos e Estruturas de Dados. Livros Técnicos e Cienkficos S.A., 1985.
![Page 10: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/10.jpg)
Bibliografia
• Farrer, H et al. Algoritmos Estruturados. Livros Técnicos e Cienkficos S.A., 3a edição, 1999.
![Page 11: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/11.jpg)
Ferramentas
• Scilab www.scilab.org
![Page 12: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/12.jpg)
Por que estudar computação?
• Computação guia inovações na ciência!
Projeto Genoma Humano
Monitoramento Ambiental
Pesquisa por vacinas
Mecanismos De Proteção
![Page 13: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/13.jpg)
Computação em diferentes áreas
![Page 14: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/14.jpg)
Algoritmos
• Computadores devem ser programados! • 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 aHngir um objeHvo bem definido. (Foberllone, 1999)
![Page 15: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/15.jpg)
Algoritmos
• No dia a dia, nos deparamos com diversos problemas.
• Eles podem ser resolvidos seguindo um algoritmo!
• Exemplos – Falar ao telefone – Dirigir um carro – Fazer um bolo – ….
![Page 16: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/16.jpg)
Por que estudar programação?
• Problemas podem ser complexos. • Logo, algoritmos podem ser complexos! • Tarefas na disciplina: – Desenvolver o raciocínio lógico – Pensar no encadeamento dos passos – Aprender linguagens de programação
![Page 17: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/17.jpg)
Exemplos
• Algoritmo para trocar lâmpada – Se (lâmpada esHver for a do alcance) • pegar a escada;
– Pegar lâmpada; – Se (lâmpada esHver quente) • pegar pano;
– Tirar lâmpada queimada; – Colocar lâmpada nova.
![Page 18: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/18.jpg)
Exemplos
• Algoritmo para fazer uma prova – Ler a prova; – Pegar caneta; – Enquanto ((houver questão em branco) e (houver tempo)) faça • Se (souber a questão)
Resolva-‐a; • Senão
Pule para a próxima;
– Entregar a prova.
![Page 19: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/19.jpg)
Exemplos • Algoritmo para levar um leão, uma cabra e um pedaço de grama de um lado para outro do rio, usando um bote (que só cabe o fazendeiro e mais um item) para tal tarefa. Sabe-‐se que nunca um leão pode ficar sozinho com uma cabra e nem a cabra sozinha com a grama.
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.
![Page 20: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/20.jpg)
Exercício
• Fazer um algoritmo para levar 3 missionários e 3 canibais de um lado para o outro do rio, usando um bote para tal tarefa. Sabe-‐se que nunca pode ter mais canibais do que missionários porque senão os canibais comem os missionários. O que fazer para levar os 6 de uma margem a outra??
• No barco só cabem 2 de cada vez.
![Page 21: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/21.jpg)
Solução 1 -‐ Levar 2 canibais 2 -‐ Deixar 1 Canibal 3 -‐ Voltar 4 -‐ Levar 1 canibal 5 -‐ Deixar 1 Canibal 6 -‐ Voltar 7 -‐ Deixar 1 Canibal 8 -‐ Levar 2 missionários 9 -‐ Deixar 1 missionário 10 -‐ Voltar com 1 canibal 11 -‐ Deixar o canibal 12 -‐ Levar 2 missionários 13 -‐ Deixar 2 missionários 14 -‐ Voltar 1 Canibal 15 -‐ Levar 1 canibal 16 -‐ Deixar 1 canibal 17 -‐ Voltar 18 -‐ Levar 1 canibal 19 -‐ deixar 2 canibais
![Page 22: BCC701 Programaçãode& Computadores&I - DECOM … · Exemplos& • Algoritmo¶&levarum leão, uma&cabraeum pedaçode& gramadeum lado¶&outro&do&rio, usandoum bote( que&só&cabeo](https://reader033.fdocumentos.com/reader033/viewer/2022051107/5bc0f10009d3f210098cc14a/html5/thumbnails/22.jpg)
Próximas Aulas
• Organização de computadores • Algoritmos • Scilab • …