程序设计实践入门:大学程序设计课程与竞赛训练教材
作者 : 周娟 吴永辉 编著
出版日期 : 2021-07-12
ISBN : 978-7-111-68579-1
适用人群 : 读者对象不仅包括大学计算机、软件工程专业的学生,参加程序设计竞赛的选手;而且也包括其他学习程序设计语言课程,磨炼编程解决问题的学生和社会人士。
定价 : 69.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 180
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书面向程序设计竞赛的准备和训练,引导读者进入编程的大门,主要内容包括:编程概述、编程语法基础、编程结构、进制转换、链表、排序、STL、思维训练、递推、贪心算法、优先队列、简单搜索、分治等。

图书特色

WU

图书前言

我们编著“大学程序设计课程与竞赛训练教材”系列图书的初心是,基于程序设计竞赛的试题,以全面、系统地训练和提高学生编程解决问题的能力为目标,出版既能用于大学程序设计类课程的教学和实验,又能用于程序设计竞赛选手训练的著作。目前,这一系列在中国大陆出版了简体中文版,在中国台湾地区出版了繁体中文版,在美国由CRC Press出版了英文版。而我们不仅对本系列不断进行改进,也就课程建设、教学和训练体系的建设开展了一系列的工作。
对于“大学程序设计课程与竞赛训练教材”系列图书的建设,宁夏理工学院副校长俞经善教授建议,要出版一部专门进行程序设计入门训练的书籍,它不仅能够适用于“双一流”院校的学生,也要能够适用于应用技术型院校的学生。华东交通大学的周娟老师一直负责学校的程序设计竞赛训练,她有一本使用了若干年的讲义,我们对这本讲义进行了改编,形成了本书。
对于本书的编写,我们的指导思想如下。
1)内容上,基于大学一年级的程序设计语言、高等数学、线性代数课程的教学内容,以及中学期间所学的数学、物理相关知识,让学生体会和实践通过编程解决问题。
2)形式上,和系列著作一样,章节的组织以实验为核心,以程序设计竞赛试题以及详细的解析、带注解的程序作为主要内容。
本书的内容如下。
第1章给出简单输出,以及练习“输入-处理-输出”模式的实验。第2章给出选择结构、循环结构、嵌套结构、数组、二维数组、字符和字符串的实验;第3章给出函数、递归函数、结构体、指针的实验。本书的前三章是基于程序设计语言的教学大纲,循序渐进地展开编程实验,可以作为程序设计语言课程的实验教材。
第4章分为五节:几何初步,欧几里得算法和扩展的欧几里得算法,概率论初步,微积分初步,矩阵计算。一方面,结合学生在中学期间所学习和掌握的数学知识进行编程解题训练;另一方面,配合学生大一期间学习的高等数学中的导数、线性代数中的矩阵给出编程实验。第5章也分为五节:简单的排序算法(选择排序、插入排序、冒泡排序),归并排序,快速排序,利用排序函数进行排序,结构体排序。首先,给出运用运行时间为O(n2)的简单排序算法进行排序的实验;然后,给出运用时间复杂度为O(nlog2n)的排序算法进行排序的实验;最后,给出利用排序函数进行排序以及结构体排序的实验。第6章分为两节:STL容器,STL算法。
本书可作为大学程序设计语言入门课程的实验教材,也可用作程序设计竞赛选手的入门训练参考书籍。
我们对浩如烟海的ACM-ICPC程序设计竞赛区域预赛和全球总决赛、大学的程序设计竞赛、在线程序设计竞赛以及中学生信息学奥林匹克竞赛的试题进行了分析和整理,从中精选出84道试题(包括一题多解)作为本书的实验范例试题,每道试题不仅有详尽的试题解析,还给出了标有详细注释的参考程序。
华章网站(www.hzbook.com)提供了本书所有试题的英文原版以及大部分试题的官方测试数据。
这些年来,我们秉承“不忘初心,方得始终”的信念,不断地完善和改进系列著作。我们非常感谢广大海内外同人的情义相挺,并特别感谢中国大陆及中国台湾、中国香港、中国澳门的同人一起创建ACM-ICPC亚洲训练联盟,该联盟不仅为本书也为我们的系列著作及其课程建设提供了一个实践的平台。
由于时间和水平所限,书中肯定会夹杂一些错误,表述不当和笔误也在所难免,热忱欢迎学术界同人和读者赐正。如果你在阅读中发现了问题,请通过电子邮件告诉我们,以便我们在课程建设和中英文版再版时加以改进。联系方式如下。
通信地址:上海市邯郸路220号复旦大学计算机科学技术学院?吴永辉(邮编:200433)
电子邮件:yhwu@fudan.edu.cn

周 娟 吴永辉
2021年4月

注:本书试题的在线测试地址如下。
在线评测系统 简称 网址
北京大学在线评测系统 POJ http://poj.org/
浙江大学在线评测系统 ZOJ https://zoj.pintia.cn/home
UVA在线评测系统 UVA http://uva.onlinejudge.org/
http://livearchive.onlinejudge.org/
Ural在线评测系统 Ural http://acm.timus.ru/
HDOJ在线评测系统 HDOJ http://acm.hdu.edu.cn/
计蒜客在线评测系统 计蒜客 https://nanti.jisuanke.com/acm
Gym在线评测系统 Gym http://codeforces.com/problemset

上架指导

计算机\程序设计

封底文字

本书面向各类程序设计竞赛选手以及高校程序设计课程的教学,针对初学者的学习需求,基于作者在长期教学和竞赛训练中总结的知识体系和行之有效的编程能力训练方法,以各类程序设计竞赛的初级试题为素材编写而成,通过启发式、案例化的方式,吸引读者探索和编程,顺利地达到程序设计入门的效果。本书不仅可以作为ACM-ICPC、IOI等程序设计竞赛的训练起步教程,也可作为高校程序设计相关课程的实践教材以及对编程感兴趣的读者的自学读物。
本书特点
从ACM-ICPC等各类国内外程序设计竞赛中精选80余道初级试题作为本书的范例试题,包含编程起点、选择结构、循环结构、嵌套结构、数组、函数、指针、数学计算、排序和C++ STL。 解题知识涉及程序设计语言、简单的中学数学和物理到导数和矩阵,启发学生逻辑思维,并以此磨炼读者编程解决问题的能力。
每道试题不仅有详尽的试题解析,还给出有详细注释的参考程序,读者可参考这些清晰的提示,进一步训练通过编程解决问题的能力。
本书给出所有试题的英文原版以及大部分试题的官方测试数据和解答程序,读者可登录华章网站下载。
书中的经典试题可用于程序设计相关课程的实验教学,还可用于辅导大学生和青少年进行程序设计入门和竞赛的专项训练。

图书目录

前 言
第1章 编程起点:输入和输出 1
1.1 输出 1
1.2 输入与输出 2
第2章 编程基础I 4
2.1 选择结构 4
2.2 循环结构 7
2.3 嵌套结构 14
2.4 数组 21
2.4.1 数组的特点 22
2.4.2 离线计算 26
2.4.3 序列 29
2.5 二维数组 33
2.6 字符和字符串 41
第3章 编程基础II 49
3.1 函数 49
3.2 递归函数 57
3.3 结构体 61
3.4 指针 69
第4章 数学计算 76
4.1 几何初步 76
4.2 欧几里得算法和扩展的欧几里得算法 87
4.3 概率论初步 93
4.4 微积分初步 101
4.5 矩阵计算 108
第5章 排序 115
5.1 简单的排序算法:选择排序、插入排序、冒泡排序 116
5.2 归并排序 122
5.3 快速排序 129
5.4 利用排序函数进行排序 132
5.5 结构体排序 138
第6章 C++ STL 144
6.1 STL容器 144
6.1.1 序列式容器 144
6.1.2 关联式容器 150
6.1.3 迭代器 161
6.2 STL算法 170

教学资源推荐
作者: [美] 基普·R.欧文(Kip R.Irvine) 著
作者: [美] 托尼·加迪斯(Tony Gaddis) 著
作者: (美)Richard C.Detmer
参考读物推荐
作者: Patrick Keegan, Ludovic Champenois, Gregory Crawley, Charlie Hunt, Christopher Webster
作者: 杨贵发 等编著
作者: 董天一 戴嘉乐 黄禹铭 著