Programa de
BASES DE PROGRAMAO
10, 11 e 12 anos
Autores: Lus Guerra (Coordenador) Francisco Simes Manuel C. Pinto Manuel Silva Lusa Rodrigues
Homologao
ndice
1. INTRODUO.................................................................................. 3 2. APRESENTAO DO PROGRAMA ................................................ 4 2.1. FINALIDADES ............................................................................ 4 2.2. OBJECTIVOS ............................................................................. 5 2.3. VISO GERAL DOS CONTEDOS............................................ 6 2.4. SUGESTES METODOLGICAS GERAIS................................ 7 2.5. COMPETNCIAS A DESENVOLVER ........................................ 8 2.6. AVALIAO................................................................................ 9 2.7. RECURSOS.............................................................................. 10 3. DESENVOLVIMENTO DO PROGRAMA........................................ 11 3. 1. 10 ano ................................................................................... 11 3. 2. 11 ano ................................................................................... 16 3. 3. 12 ano ................................................................................... 21 4. BIBLIOGRAFIA ...............................................................................30
Pg. 2/32
1. INTRODUO
A disciplina Bases de Programao, do Curso Tecnolgico de Informtica, uma disciplina trienal do tronco comum da componente Cientfico-Tecnolgica, tendo uma carga horria de 3 horas divididas por aulas de 90 minutos ao longo das 33 semanas de cada ano lectivo. Esta disciplina pretende conduzir o aluno resoluo de problemas de uma forma estruturada e sistematizada, analisando todos os elementos intervenientes. No 10 ano, atravs do estudo de algoritmia e programao estruturada em linguagem Pascal, pretende-se criar as bases necessrias para a evoluo do aluno na rea das linguagens de programao. No 11 ano, usando o Visual Basic, linguagem de grande divulgao, o aluno ir adquirir no s as bases da programao por objectos, como dever ser capaz de elaborar pequenas aplicaes informticas utilizando uma ferramenta visual. No 12 ano e usando uma linguagem de mdio nvel como o Visual C++, pretende-se a consolidao e alargamento de conhecimentos na rea das linguagens de programao. Haver ainda espao para o estudo genrico de pelo menos uma linguagem de programao que se considere adequada s exigncias informticas do momento (por exemplo JAVA, PHP, ASP, PERL), com o objectivo de preparar o aluno para o estudo de novas linguagens. Dada a natureza da disciplina, aconselhvel que no existam mais de dois alunos por posto de trabalho, podendo a turma ser dividida em turnos, ou no, conforme o nmero de alunos e o nmero de computadores existentes na sala de aula. Dever ser mantida uma estreita colaborao entre todos os professores que leccionem as disciplinas da componente Cientfico Tecnolgica do Curso Tecnolgico de Informtica.
Pg. 3/32
2. APRESENTAO DO PROGRAMA
2.1. FINALIDADES
Contribuindo para a formao de tcnicos de informtica, a disciplina de Bases de Programao tem como finalidades: Desenvolver a capacidade de reflexo, gerando um saber criativo e evolutivo. Desenvolver a autoconfiana com base nos saberes e competncias adquiridos. Fomentar o interesse pela investigao. Proporcionar um conjunto de experincias e vivncias que permitam aos alunos acompanhar a permanente evoluo tecnolgica, quer profissionalmente, quer em termos pessoais e humanos. Promover o esprito crtico, a capacidade de cooperao, o respeito pelos outros e a responsabilidade, permitindo que os alunos se desenvolvam integralmente enquanto indivduos e enquanto cidados. Desenvolver competncias de trabalho em equipa. Promover a aquisio de competncias e versatilidade no desenvolvimento de aplicaes informticas. Promover o respeito pela propriedade intelectual.
Pg. 4/32
2.2. OBJECTIVOS
Analisar e resolver problemas. Conceber e implementar projectos de natureza interdisciplinar. Conhecer diferentes formas de tratamento de dados. Conhecer os tipos de representao para o desenvolvimento de algoritmos. Conhecer os elementos da linguagem algortmica. Conhecer as noes da programao por objectos. Construir algoritmos com base em situaes reais. Utilizar ferramentas de desenvolvimento. Conhecer a sintaxe, o lxico e a semntica das linguagens que integram o programa. Aplicar a sintaxe, o lxico e a semntica das linguagens que integram o programa. Adaptar-se a novas situaes. Trabalhar em equipa. Conhecer e aplicar normas de segurana de dados.
Pg. 5/32
10 ANO
NOES BSICAS Anlise sistemtica de um problema Algoritmos e programas Dados e operaes elementares Operadores Variveis e expresses
11 ANO
PROGRAMAO POR OBJECTOS - Conceitos e regras PROGRAMAO EM VISUAL BASIC - Desenvolvimento de aplicaes
12 ANO
PROGRAMAO EM C++ - Desenvolvimento de aplicaes PROGRAMAO EM VISUAL C++ - Desenvolvimento de aplicaes utilizando um interface grfico PROGRAMAO EM OUTRAS LINGUAGENS - Desenvolvimento de aplicaes (JAVA ou PHP ou ASP ou PERL)
Pg. 6/32
Pg. 7/32
Pg. 8/32
2.6. AVALIAO
Dever ser dada nfase especial avaliao do desempenho e da manipulao dos programas, assim como a toda a documentao que acompanha os programas, isto , relatrios de anlise e programao e manuais de utilizao. Sugere-se o uso sistemtico de grelhas de observao que permitiro avaliar a destreza do aluno com as novas aplicaes, o equipamento, a sua capacidade de organizao e concentrao, a qualidade do trabalho realizado e o relacionamento do aluno em grupo de trabalho. A avaliao ser portanto contnua, registando a evoluo do aluno aula a aula, permitindo ultrapassar de imediato qualquer dificuldade. No entanto, existiro momentos em que ser necessrio proceder, no final de cada unidade, a provas prticas individuais que permitam avaliar os conhecimentos e as competncias adquiridos ao longo do processo de ensino/aprendizagem. Por outro lado, a consolidao das aprendizagens e das competncias tambm poder ser feita atravs da avaliao do desempenho e de Trabalho de Projecto ou do desenvolvimento de trabalhos de grupo, os quais, sempre que possvel, devero ser apresentados comunidade escolar, com recurso a meios electrnicos.
Pg. 9/32
2.7. RECURSOS
Para a leccionao da disciplina de Bases de Programao necessrio um Laboratrio de Informtica devidamente equipado com: computadores (preferencialmente 1 por cada 2 alunos) com sistema operativo actualizado e com pacote de software genrico; 1 Servidor de rede; 1 Retroprojector; 1 Data-Show ou 1 projector de vdeo; 1 cran de projeco; 1 Impressora A4; 1 Scanner; 1 Gravador de CD-ROM para efectuar cpias de segurana da informao, instalado no servidor de rede; 1 Rede local de 10/100 Mbs; Acesso Internet; Ferramentas de programao: Pascal, Visual Basic, Visual C++ e outras (JAVA, PHP, ASP, PERL); Ferramentas de desenho para a criao de relatrios de anlise de programao (Miscrosoft Visio, outros...).
Pg. 10/32
Pg. 11/32
Unidade de Ensino/Aprendizagem 1
NOES BSICAS
Objectivos Distinguir as diferentes fases resoluo de um problema. Distinguir algoritmo de programa. na Contedos Resoluo de problemas Noes de Algoritmo e Programa Tipos de dados elementares e operaes Sugestes Metodolgicas O professor dever introduzir a unidade atravs de exemplos do dia-a-dia, simples de compreender, em que os alunos podero reconhecer a utilizao do raciocnio lgico formal, passando, em seguida, sistematizao atravs da lgebra, construindo expresses e aplicando os diferentes operadores existentes. O professor dever introduzir o conceito de algoritmo utilizando problemas de mbito geral, decompondo uma aco complexa em outras mais simples, como sejam, por exemplo, programar uma viagem de estudo, mudar um pneu num automvel ou uma lmpada num candeeiro, etc. N aulas (90 min.) 12
Distinguir os diferentes tipos de dados. Reconhecer os diferentes operadores e as regras de prioridade. Utilizar variveis expresses. e construir
Pg. 12/32
Unidade de Ensino/Aprendizagem 2
- Desenvolvimento Estruturado Decompor um problema nas suas O professor deve deixar espao para que os alunos de algoritmos e debatam entre si os problemas e as suas diferentes vias partes (estruturas) elementares (TOP- Elaborao subalgoritmos e sua traduo para de resoluo. DOWN). Pascal Desenvolver programas em Pascal, de O professor no dever descurar a estruturao e a boa Teste de algoritmos/Pascal forma estruturada e documentada. legibilidade do algoritmo, reforando que este deve ser claro e eficiente.
medida que o grau de dificuldade dos algoritmos vai aumentando, o professor deve introduzir a necessidade de utilizao de funes. O professor ir propor a realizao de diversos exerccios para solidificar conhecimentos na criao de algoritmos, levando os alunos a saber utilizar as diferentes estruturas. O professor poder ter os algoritmos implementados no computador em linguagem Pascal, a fim de os poder executar e mostrar os resultados atravs do data-show.
Pg. 13/32
Utilizando os algoritmos j elaborados, os alunos podero transform-los em pequenos programas Pascal. O professor pode optar por ir traduzindo os algoritmos em linguagem Pascal, medida que estes vo sendo resolvidos, dando uma grande nfase explicao da traduo algoritmo/Pascal.
Pg. 14/32
Unidade de Ensino/Aprendizagem 3
ESTRUTURAS DE DADOS
Objectivos Identificar as estruturas de dados. Contedos Cadeia de Caracteres Sugestes Metodolgicas A demonstrao da necessidade do uso de vectores pode ser conseguida atravs de exemplos como o clculo de mdias, de mximos e mnimos, etc., dentro de um conjunto de valores, que podero ser fornecidos um a um, ou atravs de uma cadeia de caracteres, que dever ser validada. O professor poder demonstrar que, para armazenar dados mais complexos, existem outros tipos de estruturas de dados, como os registos. Dever ainda utilizar exerccios que permitam distinguir entre a armazenagem de dados em memria e em disco, introduzindo a noo de ficheiro. Os conceitos de registo e ficheiro devero ser abordados nesta unidade de uma forma simples, sendo posteriormente mais aprofundados nos anos seguintes. N aulas (90 min.) 30
Aplicar as estruturas de dados na elaborao de algoritmos e sua Vectores e Matrizes traduo para Pascal. Aplicar os conceitos de registo e de ficheiro em Pascal.
Registos
Ficheiros
Pg. 15/32
3. 2. 11 ano
Unidade de Ensino/Aprendizagem 1
Os alunos devero criar pequenas aplicaes O ambiente de trabalho do Visual semelhantes aos exemplos apresentados. Basic - Project explorer Properties Windows Toolbox Menu Bar etc.
Objectos Bsicos e outras caractersticas bsicas da linguagem Visual Basic e respectivo ambiente de trabalho
Pg. 16/32
Unidade de Ensino/Aprendizagem 2
Aplicar os vrios tipos de dados na declarao de variveis. Distinguir entre variveis Pblicas e Privadas. Conhecer os operadores lgicos e de comparao. Usar as estruturas de controlo (If .. EndIf, Select Case, Do .. Loop, While .. Wend e For .. Next ). Conhecer a diferena entre procedimentos e funes. Criar funes com argumentos e retorno de valores.
Pg. 17/32
Usar funes do Visual Basic para manipulao de Strings. Criar menus e submenus utilizando o Menu Editor . Conhecer as propriedades que podem ser usadas no Menu Editor . Criar uma ToolBar usando o ToolBar Control .
Pg. 18/32
Unidade de Ensino/Aprendizagem 3
Criar aplicaes que usem o Mask Edit Control. Utilizar Break Points. Visualizar o valor das variveis na Watch Window. Distinguir entre os modos Design, Run e Debug . Executar passo a passo programas utilizando Call Stack.
Ferramentas de controlo e O professor dever ter especial cuidado na exposio dos vrios conceitos de debug, dando relevo importncia deteco de erros desta fase. Os alunos podero utilizar todo o material desenvolvido anteriormente para experimentar as vrias etapas na deteco e tratamento de erros.
Pg. 19/32
Unidade de Ensino/Aprendizagem 4
Pg. 20/32
3. 3.
12 ano
Unidade de Ensino/Aprendizagem 1
Pg. 21/32
Reconhecer a importncia da biblioteca MFC na escrita de programas para Windows. Criar programas simples em Visual C++.
Pg. 22/32
Projectos em Visual C++ Adio de um Mapa de bits com o App Studio Construo de uma aplicao em Visual C++ Edio de Menus com o App Studio Criao de gestores de mensagens com o Class Wizard Escrita de cdigo para gestores de mensagens O depurador do Visual C++
Utilizar o AppStudio para gerir recursos, incluindo mapas de bits e menus. Construir aplicaes Visual C++. em
Utilizar o depurador de Visual C++ para eliminar erros nas aplicaes desenvolvidas.
Unidade de Ensino/Aprendizagem 2
com
Pg. 24/32
Unidade de Ensino/Aprendizagem 3
Pg. 25/32
com
Dever tambm ser explicada a diferena entre Mapas de Bits dependentes e independentes de dispositivo.
Pg. 26/32
Pg. 27/32
Unidade de Ensino/Aprendizagem 4
Utilizao das Classes MFC para utilizao de Bases de Dados Operaes sobre registos em Visual C++
Programao de Bases de dados DAO o o o A hierarquia DAO Os objectos DAO As Classes CDAODatabase, CDWorkspace e CDAORecordset
Pg. 28/32
Unidade de Ensino/Aprendizagem 5
Pg. 29/32
4. BIBLIOGRAFIA
10 Ano
Aguilar, L. (1988). Fundamentos de programacin. Algoritmos y estrutura de dados. Madrid: McGrawHill. Agustn, G. (1987). Programacin estruturada. Diseo,Validacin y Transformacin de Programas. Crdoba-Argentina: SEPA. Alonso, M. & Rumeu, S. (1992). Metodologia de la Programacin. Programacin Estruturada. Madrid: Editorial Paraninfo. Farrer, H. et al. (1985). Algoritmos Estruturados. Rio de Janeiro: Editora Guanabara. Guerreiro, P. (1992). Pascal Tcnicas de Programao. Lisboa: FCA. Guimares & Lages (1988). Algoritmos e Estrutura de Dados. Rio de Janeiro: Livros Tcnicos e Cientficos Editora AS. Hoffman, M. et al. (1988). Algortmica. Barcelona: Marcombo. Leestma, S. & Nyhoff, L. (1988). Programacin en Pascal. Madrid: Prentice Hall Iberia. Lima, J. (1993). Programao de Computadores. Porto: Porto Editora. Llorca F. et al. (1992). Programacin com el Lenguage Pascal. Madrid: Paraninfo. Lopes, J. (1989). Tcnicas da Programao. Lisboa: Editorial O Livro. Lovelle, J. et al. (1994). Introducin a la Programacin Estruturada y Orientada a Objectos com Pascal. Oviedo: Autor. O'Brien, S. & Nameroff, S. (1996). Turbo Pascal 7: Manual de Referncia. Madrid: McGraw-Hill. Pinto, W. (1990). Introduo ao Desenvolvimento de Algoritmos e Estruturas de Dados. So Paulo: RICA Editora. Schemitz, E. et al. (1985). Pascal e Tcnicas de Programao. Rio de Janeiro: Livros Tcnicos e Cientficos Editora SA. Tremblay, J. & Bunt, R. Cincia dos computadores - uma abordagem algortmica. Madrid: McGraw-Hill.
Pg. 30/32
11 Ano
Campos, L., Vilar, S. & Lcio, L. (1999). Programao em Visual Basic 6. Lisboa: FCA. Connell, J. (1998). Beginning Visual Basic 6 Database Programming. Wrox Press. Curland, M. & Storage, B. (1999). Advanced Visual Basic 6. Addison Wesley. Ferreira, J. (2001). Tcnicas Avanadas em Visual Basic 6 - Curso Completo. Lisboa: FCA. Fox, D. (1999). Pure Visual Basic 6: QUE. Nina, N. (1999). Visual Basic 6 Curso Completo. Lisboa: FCA. Schneider, D. (1999). An Introduction to Programming with Visual Basic 6.0. US Imports & PHIPEs.
Pg. 31/32
12 Ano
Andrews, M. (1998). Aprenda Visual C++ J . Lisboa: McGraw-Hill, Microsoft Press. Bates, J. & Tompkins, T. (1999). Microsoft Visual C++ 6. Madrid: Prentice Hall. DAndrea, E. (1999). Visual C++ 6. Curso de Iniciacin. Barcelona: INFORBOOKS. Damas, L. (1999). Linguagem C. Lisboa: FCA. Guerreiro, P. (2000). Programao com Classes em C++. Lisboa: FCA. Kruglinski, D., Shepherd & Wingo, S. (1999). Programacin avanzada con Microsoft Visual C++ 6.0. Madrid: McGraw-Hill, Microsoft Press. Leinecker, R. & Archer, T. (1999). La biblia de Microsoft Visual C++ 6. Madrid : ANAYA Multimdia. Pappas, C. & Murray, W. (1999). Visual C++ 6.0. Manual de Referncia. Madrid: Osborne McGraw Hill. Rodrigues, P., Pereira, P. & Sousa, M. (1998). Programao em C++. Conceitos Bsicos e Algoritmos. Lisboa: FCA. Rodrigues, P., Pereira, P. & Sousa, M. (1998). Programao em C++. Algoritmos e Estruturas de Dados. Lisboa: FCA. Sphar, C. (1999). Aprenda Microsoft Visual C++ 6.0 Ya . Madrid: McGraw-Hill, Microsoft Press. Zaration, B. (1999). Microsoft Visual C++ 6.0. Manual do Programador. Madrid: McGraw Hill, Microsoft Press.
Pg. 32/32