精华内容
下载资源
问答
  • 小学生阅读方法指导.doc
  • 小学生课外阅读方法指导.doc
  • 小学生课外阅读方法指导PPT课件.pptx
  • 浅谈小学生整本书阅读方法指导
  • 小学生课外阅读方法指导精选PPT课件.pptx
  • 学生阅读成绩的影响 Rhe Schools 的心理学 1981, 18, 334-340 VAKT 程序的动觉-触觉组件对中学 LD 学生阅读成绩的影响W. THORPE SCHERIE LAMPE 威斯康星大学奥什科什分校 Oshkosh 地区公立学校 ROBERT T. NASH 和 ...
  • 本研究旨在探索两种教学方法学生词汇习得的不同影响。三组学生中第1组(30人)为实验组,第2组(30人)和第3组C90人)为对比组。教师为第1组与第2组提供四篇快速阅读...学生交流与教师指导结合的课堂教学比起满堂灌的教学
  • 通过课堂教学教会学生学习,培养学生独立获取数学知识的能力,总少不了对阅读指导.本文就阅读教学的经验,从认识的提高,时机的选择、方法指导与教学步骤四个方面,阐述了自己的观点.
  • 内有完整教学方案及资源链接【程序阅读阅读并运行下面的程序,找出其中出现构造函数、友元函数、运算符重载、静态数成员语法现象出现的位置,仔细体会其用法,在以后的设计中能够灵活应用有关方法和技巧#include ...

    课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接


    【程序阅读】阅读并运行下面的程序,找出其中出现构造函数、友元函数、运算符重载、静态数成员语法现象出现的位置,仔细体会其用法,在以后的设计中能够灵活应用有关方法和技巧

    #include <iostream>
    #include <string.h>
    using namespace std;
    #define MAX 100
    
    class CDate  // 定义日期类
    {
    private:
        unsigned short int year;   // 年
        unsigned short int month;  // 月
        unsigned short int day;    // 日
    public:
        CDate(int y=0,int m=0,int d=0);
        bool operator < (CDate d);
        friend istream & operator >> (istream &in,CDate &d);
        friend ostream & operator<<(ostream &out,CDate &d);
        friend bool CheckValid(CDate d);
        friend bool LeapYear(int year);
        void SetDate(int y,int m,int d);
    };
    CDate::CDate(int y,int m,int d):year(y),month(m),day(d) {}
    // 设置日期
    void CDate::SetDate(int y,int m,int d)
    {
        year=y;
        month=m;
        day=d;
    }
    // 重载输入运算符>>
    istream &operator>>(istream &in,CDate &d)
    {
        char ch1,ch2;
        cout<<"请输入日期(输入格式:YYYY-MM-DD):";
        while(1)
        {
            cin>>d.year>>ch1>>d.month>>ch2>>d.day;
            if (ch1=='-' && ch2=='-')
                if (CheckValid(d)) break;
            cerr<<"时间格式或取值不正确! 请重新输入\n";
        }
        return cin;
    }
    // 重载输出运算符<<
    ostream &operator<<(ostream &out,CDate &d)
    {
        out<<d.year<<"年"<<d.month<<"月"<<d.day<<"日";
        return out;
    }
    // 判断日期d1<d2
    bool CDate::operator < (CDate d)
    {
        if (year<d.year) return true;
        if (year>d.year) return false;
        if (month<d.month) return true;
        if (month>d.month) return false;
        if (day<d.day) return true;
        return false;
    }
    
    // 检查是否为闰年
    bool LeapYear(int year)
    {
        if (year%4==0 && year%100 || year%400==0)
            return true;
        return false;
    }
    
    // 检查日期合法性
    bool CheckValid(CDate d)
    {
        int n;
        if (d.month<1 || d.month>12) return false;
        if (d.day<1) return false;
        n=31;
        switch(d.month)
        {
        case 2:
            if (LeapYear(d.year))
                n=29;
            else
                n=28;
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            n=30;
            break;
        }
        if (d.day>n) return false;
        return true;
    }
    
    class CStudent
    {
    private:
        char *name;              // 姓名
        bool sex;                // 性别
        CDate date;              // 出生日期,类对象作数据成员
    public:
        static int num;          // 学生人数
        CStudent();
        void InputData();
        friend void Sort();      // 排序
        friend void FindName();  // 按姓名查询
        friend void Statistic(); // 按性别统计
        friend void Display();   // 显示全部信息
    } stu[MAX];
    int CStudent::num=0;
    CStudent::CStudent() {}
    // 输入信息
    void CStudent::InputData()
    {
        int p;
        char s[41];
        cout<<"请输入学生信息(NO."<<num<<"):\n";
        cout<<"姓名:";
        cin>>s;
        name=new char[strlen(s)+1];
        strcpy(name,s);
        cout<<"性别(1-男,0-女):";
        cin>>p;
        if (p)  sex=true;
        else sex=false;
        cin>>date;
        cout<<endl;
    }
    // 排序
    void Sort()
    {
        int i,j,p,num;
        char *tn;
        bool ts;
        CDate td;
        num=CStudent::num;
        for(i=1; i<num; i++)
        {
            p=i;
            for(j=i+1; j<=num; j++)
                if (stu[j].date<stu[p].date) p=j;//找到当前未排序元素中年龄最小的对象的下标
            if (p==i) continue;
            //下面交换stu[i]和stu[p]
            tn=stu[i].name;
            stu[i].name=stu[p].name;
            stu[p].name=tn;
            ts=stu[i].sex;
            stu[i].sex=stu[p].sex;
            stu[p].sex=ts;
            td=stu[i].date;
            stu[i].date=stu[p].date;
            stu[p].date=td;
        }
    }
    // 按姓名查询
    void FindName()
    {
        char name[41];
        int i,num;
        cout<<"请输入姓名:";
        cin>>name;
        num=CStudent::num;
        for(i=1; i<=num; i++)
            if (strcmp(stu[i].name,name)==0) break;
        if (i>num)
        {
            cout<<"查无此人!"<<endl<<endl;
            return;
        }
        //如果查到了,显示学生信息
        cout<<"姓名:"<<stu[i].name<<endl;
        cout<<"性别:";
        if (stu[i].sex)
            cout<<"男"<<endl;
        else
        cout<<"女"<<endl;
        cout<<"生日:"<<stu[i].date<<endl;
        cout<<endl;
    }
    // 按性别统计
    void Statistic()
    {
        int i,num,s1,s0;
        num=CStudent::num;
        s1=0;
        s0=0;
        for(i=1; i<=num; i++)
            if (stu[i].sex==1)
                s1++;
            else
                s0++;
        cout<<"男生人数:"<<s1<<endl;
        cout<<"女生人数:"<<s0<<endl;
        cout<<endl;
    }
    
    // 显示全部信息
    void Display()
    {
        int i,num;
        num=CStudent::num;
        for(i=1; i<=num; i++)
        {
            cout<<stu[i].name<<"\t";
            if (stu[i].sex)
                cout<<"男";
            else
                cout<<"女";
            cout<<"\t"<<stu[i].date<<endl;
        }
        cout<<endl;
    }
    
    int main()
    {
        char *menu[]= { "","输入信息","排序","按姓名查询","按性别统计","显示全部信息","退出" };
        int i,p;
        bool end;
        end=false;
        while(!end)
        {
            for(i=1; i<7; i++)
                cout<<i<<"  "<<menu[i]<<endl;
            cin>>p;
            switch(p)
            {
            case 1:                          // 输入信息
                CStudent::num++;
                stu[CStudent::num].InputData();
                break;
            case 2:                          // 排序
                Sort();
                break;
            case 3:                          // 按姓名查询
                FindName();
                break;
            case 4:                          // 按性别统计人数
                Statistic();
                break;
            case 5:                          // 显示全部信息
                Display();
                break;
            case 6:                          // 退出
                end=true;
                break;
            }
        }
        return 0;
    }
    
    【扩展提示】你是否可以在如上设计基础上,增加文件保存数据,使其趋向于真正实用的系统?


    ==================== 迂者 贺利坚 CSDN博客专栏=================
    |== IT学子成长指导专栏 专栏文章的分类目录(不定期更新) ==|
    |== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==|
    |== 我写的书——《逆袭大学——传给IT学子的正能量》    ==|
    ===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====



    展开全文
  • 【来信】 你好,老师!我是大三的学生,最近一直在找实习(想做后台...有什么好书和方法推荐的,谢谢!【回复】csdn的私信限140字了,我的方式也只能变成先发博文,给来信人回复链接了。 我一直在提倡大学生的学习
    【来信】
    
      你好,老师!我是大三的学生,最近一直在找实习(想做后台开发),面试的时候经常有面试官问我关于一些诸如虚函数、纯虚函数之类的后台机制是怎么实现的,linux环境下进程与线程间的工作机制,但我平时比较注重怎么用,所以我想请问老师该怎么系统学这些东西?有什么好书和方法推荐的,谢谢!


    【回复】csdn的私信限140字了,我的方式也只能变成先发博文,给来信人回复链接了。
      我一直在提倡大学生的学习以实践作为先锋,实现直接经验和来自书本的间接经验的交融。看来你的问题,先锋官派出去了,这很好。现在要做的是,大队人马要跟上,通过阅读,与已经有的体验产生交互,发生化学反应。
      你可以考察一下,你现在正在关注的问题,属于哪一个学科。你已经有一定的积累,是可以找一些相应学科的经典著作去读一读了。例如虚函数之类的问题,Bjarne Stroustrup的《C++程序设计语言》可以作为语言层面上的一个参考,再如进程、线程的工作机制,应该找操作系统类的经典。我所提的著作仅仅作为一个参考,我不了解你真正的需求,对你提到的具体问题也没有深入研究,你要根据自己的情况做出选择。
      在专业学习阶段,尤其在高年级具备一定基础后,找好方向阅读读经典,这是成为高水平人才的一个必须要做的事。提醒你的是,因为这是个课外自主学习的项目,可以放弃“系统学习”的希望,而是立足自己有限时间这样一个前提,需要什么读什么,就在这个“乱搭”当中,成就的是你自己的系统,这使你成为独特的人。(见我的博文《 破除“系统学习”的情结》)而在看这些书的时候,因为大多是厚本,快速浏览你已经知道的知识,钻研你需要的核心。甚至有些内容,留个映像,等待你用到的时候,将经典书籍当作手册去查。切不可以一头扎进去细细读来,看完绪论后激情已经全无。
      就提这样一些建议。祝学习顺利!


    【再评论】(回复之余,只觉得就问题谈问题了,他的实际问题,不应围绕面试官的两个提问展开。恰他给我提供链接看他的博文,增加下面的建议)

      再读你的博文,想到回信中只是围绕着你信中提出的面试的两方面问题做了解答。补充的建议是,面试中的那两个问题反映出了你需要深入了解一些原理,而更重要的事情是,需要一个自己设定的方向。大三是一个确定了方向并形成特长的时候。既然已经选定了C++,你可以瞄准一个C++的应用领域,以做入手,以用为目标,在用中学习。我搜索一下,C++的应用领域可以参考http://developer.51cto.com/art/201001/178946.htm(建议你也自己找找启发)。用接下来半年左右的时间做这样的准备,到年底应聘时,你是可以有底气的。




    ==================== 迂者 贺利坚 CSDN博客专栏=================
    |== IT学子成长指导专栏 专栏文章的分类目录(不定期更新) ==|
    |== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==|
    |== 我写的书——《逆袭大学——传给IT学子的正能量》    ==|
    ===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====



    展开全文
  • 邯山区教育科学“十三五”规划课题 开 题 报 告 立项编号 200413 课题名称 小学生预习能力培养的策略和方法研究 ...预习是学生对将要学习的知识的提前进行接触与熟悉,是学生在学习之前按一定的学习要求对教材所

    邯山区教育科学“十三五”规划课题

    开 题 报 告

    立项编号 200413
    课题名称 小学生预习能力培养的策略和方法研究
    课题类别 教师 个人课题
    学科分类 语文
    课题主持人 马学娟
    所在单位 邯郸市邯山区实验小学

    邯山区教育科学规划领导小组办公室制
    2020年4月

    一、开题报告要点(题目、内容、方法、组织、分工、进度、经费分配、预期成果等,限5000字,可加页)
    课题题目:小学生预习能力培养的策略和方法研究
    预习是学生对将要学习的知识的提前进行接触与熟悉,是学生在学习之前按一定的学习要求对教材所进行的一种探索性的自我学习活动。它是教学过程的必要组成部分。当今科学知识突飞猛进,知识不断增长,知识陈旧率不断提高。培养学生的自学能力,让学生掌握开启知识宝库的金钥匙,是现在这个阶段学校教育的重要问题。联合国教科文组织埃德加.富尔说:“未来的文盲不再是不识字的人,而是没有学会怎样学习的人。”可见,培养学生的预习能力、自学能力,使学生由“学会”到“会学”,无论是从素质教育的角度看,还是从终身教育、创新教育的角度看,都具有十分重要的长远价值。对小学生来说,预习的现实意义表现在:有助于扫除听课时的障碍、提高学习效率、提高小学生的自学能力;有助于知识的融会贯通;有助于探究意识、创新能力的提高。
    语文新课程标准指出:“让学生学习有价值的语文,让学生带着问题,带着自己的思想,思维进入语文课堂对于学生的语文学习有着重要的作用。”由此可见,语文预习能力对语文学习来说也是非常重要的能力。学生良好的语文预习习惯的养成,可以培养学生的自学能力,创新能力。也可以为课堂节省许多宝贵的时间。提高课堂教学效率。目前国内许多学校和教师都很重视对学生预习能力的培养。关于学生预习方面的课题研究也有很多,并且在学生预习习惯的养成、预习方法的指导、预习能力的培养等方面取得了诸多成效。如洋思中学。但这些课题的研究的学科以小学各个学科为主。研究对象也基本上是以中学生或小学高段学生为主。 任何良好的习惯都要从小抓起。新教材实施后,中段学生随着小学各个学科阅读量的增加,已经没有识字和理解上的障碍,完全有能力在教师的指导下进行语文预习。因此,我提出从中段(即三、四年级)开始,教师就应该努力培养学生的语文预习能力。
    另外,从平时的观察和调查来看,不少教师在语文学科上布置预习时往往存在这样一些问题:1、笼而统之,没有明确的要求;2、预习作业太随意,有时有,有时无;3、预习作业没有层次性,没有针对性;4、不能对预习情况进行及时的检查、反馈等等。大部分学生对待预习,单纯地理解为对内容的通读和浏览,却不动脑,不分析。这样的预习效果可想而知,它既不利于学生听课,也不利于培养学生的自学能力。对于预习,叶圣陶先生早就有过精辟的论述:“上课之前,学生要切实预习”。要切实预习,教师就要教给学生预习的方法,培养学生的预习兴趣,建立恰当的预习检查机制。我们希望通过课题研究,能帮助学生从三年级开始学会正确的预习方法,主动地进行有效预习。
    课题研究的目标:
    1、通过本课题研究,制定行之有效的方法,使学生在老师的指导下,家长的督促下长期坚持课前预习,并形成习惯。使学生掌握正确、科学的预习方法,提高自学能力,提高学习效率。从而整体提高我校的语文学习质量。
    2、通过本课题研究,使学生掌握正确的预习方法。通过教师各种渠道的检查,学生真正做到会预习。
    3、通过本课题研究,使学生树立预习意识,能提高学生对各学科预习的兴趣。
    课题研究的主要内容:
    针对中段小学生的年龄特点、学习规律,设计出目标明确、任务具体、易于操作的预习领路卡,通过一定的预习方法,引导学生深入地思考,使预习有效,能够为课堂教学服务,使课堂教学真正事半功倍。因此准备从以下几个方面着手研究:
    1、 培养与研究学生进行预习的良好习惯。
    2、教会学生掌握正确的预习步骤。
    3、预习之前,教师如何提出明确的预习要求。
    4、教师如何检测学生的预习情况。
    5、如何激发学生的预习兴趣。
    6、小学生自主、合作以及借助其他外界信息进行预习的培养。
    课题研究的方法:
    1、文献研究法:通过在图书馆收集有关小学生预习能力的具体内容的文献资料,包括中文论著、外文论著、法学期刊等,了解学者们对该课题的研究,从中梳理出已形成的观点和研究成果。在这些资料的基础上,对这些文献资料进行分析和概括,并根据实证研究形成自己的观点。通过这些书籍使我对小学生预习能力的理论有了大致的了解,之后做深层次的研究奠定了基础。
    2、调查研究法:对学生目前预习习惯情况进行调查研究。
    3、行动研究法:课题实施过程中,对学生进行预习的有效指导方案。
    4、整理分析研究法:对学生养成预习习惯过程中的成功与不足之处,收集整理课题研究的数据资料,并进行分析、总结,运用经验总结,案例研究,论文撰写的形式,对研究的内容进行收集整理。
    课题组织和分工:本课题为个人研究课题,个人承担本课题的研究、材料整理、论文和研究报告的写作,课题验收等全部工作。
    课题进度:
    第一阶段(2020年4月)组织准备阶段。主要工作是制定研究步骤、设计并完善课题方案。启动教师课题研究培训。
    第二阶段(2020年5月——2021年2月)研究探索阶段。主要工作包括组织教师进行专项培训,课题组拟订实验方案和开展探索工作。进行期中评估,调整侧重点。不断积累资料,及时提升成果。
    第三阶段(2021年3月——2021年4月)深化巩固、总结思考阶段。主要工作是深入研究、不断完善,分析修订资料,收集子课题的研究成果,结题。
    课题经费分配:用于课题研究的书籍,材料费用以及培训、印刷、外出学习等费用,一律由自己承担。
    课题预期成果:
    1、论文《小学语文教师要注重预习方法的指导》
    2、论文《小学语文课前预习的策略和方法》
    3、研究报告《小学学生预习能力培养的策略和方法研究报告》

         课题主持人签名:马学娟
    

    2020 年 6 月 17 日
    二、学校意见

     盖   章
    
                                        年    月    日
    

    三、邯山区教育科学规划办公室意见

     盖  章
    
                                        年    月    日
    
    展开全文
  • 4 wxWidgets学习资料及利用方法指导 初学者常苦于找不到参考资料。实际上,是找不到,不是没有。真正有用的资料,常常也就在手边,只是不知道。有能力熟练地使用一切能用得着的资料,这是水平提高的指标之一。这种...
    
    

    4 wxWidgets学习资料及利用方法指导

      初学者常苦于找不到参考资料。实际上,是找不到,不是没有。真正有用的资料,常常也就在手边,只是不知道。有能力熟练地使用一切能用得着的资料,这是水平提高的指标之一。这种能力,同样,也是在实践中获得,而不是有谁为你讲一堂课就能得到。

      本章的学习资料,从最一般的——书籍开始谈起。


    4.1 关于C++ wxWidgets的书籍


    4.1.1 《使用wxWidgets进行跨平台程序开发》

      关于wxWidgets的书籍还真少见,从亚马逊上只查到一本《使用wxWidgets进行跨平台程序开发》(http://www.amazon.cn/gp/product/B00A1WDQ30),部分电子版(含书中例程的源代码,从http://download.csdn.net/detail/cjylg/2997827下载)。看得好,请支持纸质出版。

      这本书的英文版叫《Cross Platform GUI Programming With wxWidget》(见http://www.wxwidgets.org/docs/book/),我浏览过其中的一部分,读起来不难。


    4.1.2 wxwidgetsWiki主页

      我推荐阅读的是wxwidgetsWiki主页(http://wiki.wxwidgets.org/Main_Page)中的Guides & Tutorials部分(http://wiki.wxwidgets.org/Guides_%26_Tutorials)链接的一个教程《wxWidgets tutorial》(http://zetcode.com/gui/wxwidgets/)。写作时再次看wxwidgetsWiki主页,发现其中的宝,太多了。开源社区的贡献者不仅提供软件的共享,而且将这种共享精神延续到指导书籍,必须赞。


    4.1.3 wxWidgets tutorial

      《wxWidgets tutorial》是我极力推荐的一个在线教程。其中的叙述很少,一直在用小例子,启发读者获得对wxWidgets的认知。我一边读代码,一边练习,完成了一次愉快的学习之旅。《wxWidgets tutorial》最后一章开发了一个俄罗斯方块游戏,当看完并同步练习完之时,也就是掌握了用wxWidgets开发应用程序的基本路数之时。

      为方便读者,我将这个教程中整理到一个Word文档中,作为本教程的一个附件,一起打包供下载使用。在Word文档中,加入了部分批注,是我在学习中查阅得到的线索。

      唯一引发本文读者不爽的是,《wxWidgets tutorial》是英文版的。这其实是个好事,在这个时代,靠着翻译来的二手中文书还想学到新技术,不拍脑袋也知道这只是天方夜谭的事。不断学习英语,是IT学生的学习形态。我一直鼓励同学们“在用英语中学英语”(见http://blog.csdn.net/sxhelijian/article/details/12177147),这就是一个大好的时机。是否能看下去,不决定于你英语水平的高低,而是决定于你的心态。再进一步,这本书中的描述性文字很少,即使高考英语时是在考场抓阄决定ABCD的,也能看下去,只要去看。


    4.2 用好wxWidgets的在线文档

      在互联网时代,另一类资料必须引起学习者的注意,那就是在线的文档和教程。

      到wxWidgets的主页http://www.wxwidgets.org/中看看,其中Documentation部分的每一个链接,各自都连接着一座宝库,如下图:

       


    4.2.1 成熟平台常有在线文档

      用微软平台开发程序时,最好的参考是MSDNhttp://msdn.microsoft.com/library/),而用Java开发时,有Java SE 6 Documentationhttp://docs.oracle.com/javase/6/docs/index.html),也有部分内容被翻译成中文(http://www.javaweb.cc/JavaAPI1.6/)。在软件开发过程中,需要的类、函数、宏是记不住的。有在线文档查找,专业人员不记这些。大多数成熟的平台,既提供真正在线的文档,这些文档也可以下载到本地,通过浏览器阅读。


    4.2.2 wxWidgets的在线文档

      wxWidgets也有在线文档(http://docs.wxwidgets.org/3.0/),在2.1,要求读者下载了Manual(HTML).zip

      现在请选择一个自己用着习惯的文件夹,将Manual(HTML).zip解压缩。我解压缩到了F:\wxWidgets-3.0.0-docs-html。找到其中的index.html文件,双击打开,如下图所示,这就是将有大用的最佳参考。

       

      建议用鼠标右击index.html文件,在菜单中选择“发送到->桌面快捷方式”。在桌面上建立打开在线文档的快捷方式,将方便以后的使用。


    4.2.3 查找在线文档

      在线文档通过超链接组织起相关材料之间的联系。作为实践,将各个链接点一点,你会有感觉。

      举一个例子。在《wxWidgets tutorial》中,Menus and Toolbars部分第一节Simple menu example中的例程,有一段如下代码:

    SimpleMenu::SimpleMenu(const wxString& title)
       : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(280, 180))  //下面的例子,要通过在线文档查一查构造函数的参数
    {
      menubar = new wxMenuBar;
      file = new wxMenu;
      file->Append(wxID_EXIT, wxT("&Quit"));//练习:想知道Append函数的情况
      menubar->Append(file, wxT("&File"));
      SetMenuBar(menubar);
     
      Connect(wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED,
          wxCommandEventHandler(SimpleMenu::OnQuit));
      Centre();
    }

      现在想知道wxFrame类的构造函数中的各参数含义,要点的链接是:Class->Class Index ->FwxWidgets中类的命名均以wx开头,取wxFrame中的F),如下图:

       

      接着,在“wxFrame Class Reference”页面,可以看到wxFrame类同其他类的继承关系以及其他信息,如下图:

       

      我们关心wxFrame类的构造函数,继续往下看,可以在“Constructor & Destructor Documentation”部分看到构造函数的定义及说明:

    wxFrame::wxFrame

    (

    wxWindow * 

    parent,

     

     

    wxWindowID 

    id,

     

     

    const wxString & 

    title,

     

     

    const wxPoint & 

    pos = wxDefaultPosition,

     

     

    const wxSize & 

    size = wxDefaultSize,

     

     

    long 

    style = wxDEFAULT_FRAME_STYLE,

     

     

    const wxString & 

    name = wxFrameNameStr 

     

    )

     

     

    Constructor, creating the window.

    Parameters

    parent

    The window parent. This may be NULL. If it is non-NULL, the frame will always be displayed on top of the parent window on Windows.

    id

    The window identifier. It may take a value of -1 to indicate a default value.

    title

    The caption to be displayed on the frame's title bar.

    pos

    The window position. The value wxDefaultPosition indicates a default position, chosen by either the windowing system or wxWidgets, depending on platform.

    size

    The window size. The value wxDefaultSize indicates a default size, chosen by either the windowing system or wxWidgets, depending on platform.

    style

    The window style. See wxFrame class description.

    name

    The name of the window. This parameter is used to associate a name with the item, allowing the application user to set Motif resource values for individual windows.

      这里,构造函数的参数、返回值一目了然,各个参数的含义、用法、默认值也可以看到。这是最佳的第一手的开发参考资料。

       

      下面请做一个练习。在读下面的程序时,想知道Append函数的情况。如何利用在线文档找到说明?请找到后,再找一遍真正学会。

      关于上面的代码中还有哪些疑问,试着通过在线文档给出解答。


    4.2.4 查看在线文档的设备支持

      如果有条件,布置如下图所示的工作条件。用双屏,一个看文档,一个写程序。

       

      当前的学习,有很多时候用电子版的参考资料。开发中查阅在线文档,是件相当频繁的事情,双屏幕的配置成为需要。

      当然,作为在校学生,当场地受限时,也不必太纠结这样的条件了。毕竟,这不是必须。


    4.3 在编程环境中找帮助

      本文使用的编程环境是Code::BlocksC++编码规范中,将类声明、常变量声明、宏定义等保存在头文件(.h)中,而将类、函数的实现用源文件(.cpp)保存。头文件实际上就是一个非常好的帮助文档。符合规范要求的开发者,通过恰当的命名,总能够让程序的阅读者“见文知义”,从头文件中得到足够的信息。

      在Code::Blocks中,为找到这些信息提供了足够的支持。其实,其他IDE,也能做到这一点。

      例如,对于4.2.3中的那一段代码:

    SimpleMenu::SimpleMenu(const wxString& title)
       : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(280, 180))
    {
      menubar = new wxMenuBar;
      file = new wxMenu;
      file->Append(wxID_EXIT, wxT("&Quit"));  //例
      menubar->Append(file, wxT("&File"));    //练习
      SetMenuBar(menubar);
     
      Connect(wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED,
          wxCommandEventHandler(SimpleMenu::OnQuit));
      Centre();
    }

      现在,想知道file->Append(wxID_EXIT, wxT("&Quit"));一句中Append函数各参数的含义。由上一句可以看出,file是wxMenu类的实例,只要看wxMenu类的声明即可。于是,在Code::Blocks中,单击鼠标右键,单击在在菜单中出现的“Find declaration of: wxMenu”选项,如图:

       

      在Code::Blocks中,将打开新的页签,显示wxMenu类的声明。但是wxMenu类并没有Append这样的成员函数,发现wxMenu类是wxMenuBase类的派生类,推断Append应该是继承自wxMenuBase类的成员函数。用相同的操作,在wxMenuBase类名上单击鼠标右键并选择对应的选项,在新出现的页签中,找到了Append成员函数的4种重载形式的的声明,如下图所示。

       

     

      现在做一个练习。找出menubar->Append(file, wxT("&File"));中Append函数的声明,从中看出其调用的方法。


    4.4 深入学习路线建议


    4.4.1 看书的策略

      在完成本文前3章的工作之后,建议同时看《使用wxWidgets进行跨平台程序开发》和《wxWidgets tutorial》这两本书,同步地实践书中的程序。

      同步看,意味着交叉、重复再看。可以先运行例程,有感性认识之后再阅读代码。一次看不明白不要紧,继续往后看,或者看另外一本书的相关部分,当再次看时,问题或许能够自然化解。

      我在学习中,看完了《使用wxWidgets进行跨平台程序开发》的前两章,然后将《wxWidgets tutorial》从头看到完,再看《使用wxWidgets进行跨平台程序开发》中的后面部分时,常能联系起《wxWidgets tutorial》中运行过的例子。这种安排的体验,感觉不错。

      在Code::Block中频繁新建项目很麻烦,况且每建一个项目还得设置Build options...。我的做法是,建立了一个只包含一个源文件的项目。所有的练习,都是将代码粘贴到这个文件中完成,这节约了不少时间。

      《wxWidgets tutorial》中的例子写得非常规范,严格执行了.h头文件中写声明,.cpp源文件中写实现的要求。我在实践时,偷了个懒,将本应放在多个文件中的内容,粘贴到前述的一个文件中。当然,诸如

    #include <wx/wx.h>
    #include <wx/menu.h>

    之类的包含头文件要保留,而

    #include "menu.h"

      之类的自定义头文件的包含命令,需要删除。因为合并到了同一个文件中,这些头文件根本不存在。


    4.4.2 更多的案例

      安装好的wxWidgets中还提供了很多演示和示例的项目。X:\wxWidgets-3.0.0\demos中是所有的演示案例,示例的项目在X:\wxWidgets-3.0.0\samples中,学习到一定时候,运行这些程序,读一读源码,是一种很好的学习方式。

      例如,wxWidgetsDemo中的一个项目forty,是一个纸牌游戏,运行结果如下图:

       

      这个项目中的源文件如下图所示:

       

      在Code::Block中新建一个项目,将Demo\forty中所有.cpp.h文件复制到项目所在文件夹中,并通过鼠标右击项目名,在弹出菜单上选Add file...的方式将文件加入项目,成为项目的源文件和头文件。Demo为适应多种平台,提供了很多的文件,一般只需要.cpp.h文件即可,如上图中加了方框的部分。

      如果项目中有.xpm文件(并不是每个项目都有),也请将这种文件复制过去,这是一种图形格式文件,程序中一般会用到。项目forty中就有3个这样的文件。

      在更极少数情况下,还可能有其他文件需要复制过去。这可以通过读代码,看源程序中是否写了这个文件名。偷懒的办法,运行程序,若由于找不到文件出错了,会提示还需要哪个文件。比如项目forty中的about.htm文件。

      后两类文件复制过去即可,是为支持程序运行的,不必通过Add file...将其加入项目。

      运行其他项目,方法类似。




    ================= 迂者 贺利坚 CSDN博客专栏=================
    |== IT学子成长指导专栏 专栏文章的分类目录(不定期更新) ==|
    |== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==|
    |== 我写的书——《逆袭大学——传给IT学子的正能量》    ==|
    ===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====



    展开全文
  • 阅读的一些方法

    千次阅读 2009-07-29 09:59:00
    本文转自:http://www.sciencenet.cn/blog/user_content.aspx?id=214465 我写这个本来是想...本文分三节,第1节主要是讲搜集文献的整体步骤,第2节主要讲具体得到一些Paper的资源,如何去整理,第3节是讲在查找和阅读
  • 有同学反映很多导师不管学生,更不会指导学生完成论文。这种情况其实很普遍,遇到这种情况,应该怎么做呢?听下过来人的经验。本文来源:知乎精华回答一 作者:王鸿伟链接:https://www....
  • 学霸中学生FAQ

    2012-02-05 17:05:49
    能力拓展:在“夯实双基”的基础上,重点提升学生的学习能力,培养学生站在系统的高度把握知识,指导学生了解章节与学科整体之间的关系,使学生的知识更扎实、更牢固。 阶段复习:配合“测 -- 阶段小考”,加大深度...
  • 阅读文献的方法和意义_科研与论文

    千次阅读 2014-04-07 17:57:30
    阅读文献的方法和意义 相信,很多初入科研之门的同学们,都有这样的经历,导师给了一堆文献,说回去看吧。我们拿回去之后,看到的却是和英语课上所学到的不一样的英文。好多的专业词汇,读完之后,不知所云。甚至查...
  • 《数学物理方程学习指导与习题解答》是与... 阅读《数学物理方程学习指导与习题解答》,可以帮助学生学习数学物理方程中各类定解问题的解题方法和技巧,了解丰富多彩的各种题型,从而加深对这门课程的理解和掌握。
  • 推荐语、学生和网友留言 推荐语 教师推荐 学生推荐 网友留言 推荐语、学生和网友留言 推荐语 书中每个话题都是计算机专业在校生所困惑的,贺老师的讲解很通俗很真很实在,处处传递着正能量。IT这样一个行业...
  • Dinkmeyer, Don C. (Ed.) 小学的指导和咨询。...本期中提到的三本新书对快速变化的当代社会环境中出现的问题、方法、角色以及咨询和指导计划进行了批判性讨论。 第一个的作者和其他两个的编辑和贡献
  • 阅读指导 Qt 是跨平台应用程序和 UI 框架,可用来编写应用程序,无须重新编写源代码,便可跨不同的桌面和嵌入式操作系统进行部署。自Qt 4.5发布以来,秉承着Nokia不断开发出更多令人喜爱的产品与体验的...
  • 这本简短的书涵盖了大量重要主题:阅读过程中的要素、阅读准备、阅读能力评估、非正式评估技巧、分组指导,以及开始阅读方法。 作者将这本书转换成程序化的格式。 学生通读一个简短的段落,详细说明一个关键概念。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,720
精华内容 9,088
关键字:

怎样指导学生阅读方法