设计大赛初赛考试大纲(ObjC方向)_免费下载.docx_第1页
设计大赛初赛考试大纲(ObjC方向)_免费下载.docx_第2页
设计大赛初赛考试大纲(ObjC方向)_免费下载.docx_第3页
设计大赛初赛考试大纲(ObjC方向)_免费下载.docx_第4页
设计大赛初赛考试大纲(ObjC方向)_免费下载.docx_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

达内发现杯第二届中国大学生软件设计大赛 初赛考试大纲(Objective-C方向)一、 概述Objective-C语言是应用与苹果公司操作系统Mac、iOS的编程语言。目前,基于iOS的iPhone、iPad的智能终端中的绝大多数应用都是基于Objective-C语言开发的。本次初赛侧重于考察考生的基础编程能力以及对Objective-C基础知识的掌握程度。题型为多项选择题(60%)和编程题(40%)。二、 内容大纲基础技能考察点内容比例基础算法利用常用的数据结构(数组、链表、二叉树、散列表)搭建业务算法。40%行业知识移动操作系统的概念、功能、分类及发展;移动互联网相关知识; iOS相关概念;企业应用知识。20%Objective-C语言基础考察点内容比例语言基础变量、数据类型;运算符及优先级;数组;流程控制;函数;指针;预处理指令;结构、联合、枚举;复合类型和高级指针15%语言面向对象编程类、对象;属性和方法;封装、继承、多态;协议(Protocol)、分类(Category)、扩展(Extension) ;内存管理(MRC, ARC) ; Block; KVC和KVO15%Foundation FrameworkNSObject, NSString;NSValue, NSNumber, NSData;集合;线程处理和多任务;文件和存档处理10%三、 样题1. 选择题样题样题1:下面是一段Objective-C语言代码,请阅读代码,并判断下列说法正确的是: id str = ”hello”;long len = str count;NSLog(“len=%ld”, len);A. 代码能通过编译但有警告产生B. 代码可以正常通过编译并没有警告产生C. 代码虽有编译警告但能正常运行D. 代码虽没有编译警告但运行时异常E. 代码有编译警告并运行时异常【答案: B、D】样题2:苹果公司App Store中的应用数量已经突破100万个,下载量突破500亿次。其中的游戏应用创造的收益占据了80%的市场份额。如果一家游戏公司希望开发自己的iOS游戏,下面哪些技术可以在开发中使用:A. Cocos2DB. Cocos2D-XC. Box2DD. DirectX E. OpenGL/ES【答案: A B C E】2. 编程题样题样题3:实现一个算法: 将一副54张扑克牌经过洗牌后顺序发给三个人,然后将每个人的牌按降序排序。我们已经设计出了TRCard类、TRGameProtocol协议,并且有了测试代码,请设计TRGame类,该类需遵守TRGameProtocol协议,以使测试代码输出期望的内容。TRCard扑克牌类,定义扑克牌的花色和点数:/ TRCard.h/ TestSample/ Created by Tarena on 13-11-2./ Copyright (c) 2013年 Tarena. All rights reserved./#import /扑克牌点数enumTHREE = 0, / 3FOUR = 1, / 4FIVE = 2, / 5SIX = 3, / 6SEVEN = 4, / 7EIGHT = 5, / 8NINE = 6, / 9TEN = 7, /10JACK = 8, / JQUEEN = 9, / QKING = 10, / KACE = 11, / ADEUCE = 12, / 2BLACK = 13, /小王RED = 14, /大王DIAMOND = 0, /方块CLUB = 1, /梅花HEART = 2, /红桃SPADE = 3, /黑桃JOKER = 4, /王;static NSString* SUIT_NAMES = 方块,梅花,红桃,黑桃,;static NSString* RANK_NAMES = 3,4,5,6,7,8,9,10,J,Q,K,A,2,小王,大王;/* * 扑克牌类 */interface TRCard : NSObject/花色property (nonatomic, readonly) NSUInteger suit;/点数property (nonatomic, readonly) NSUInteger rank;/初始化方法-(id)initWithSuit:(NSUInteger) suit andRank:(NSUInteger)rank;/打印一副扑克牌+(void)print:(NSArray*)cards;end/ TRCard.m/ TestSample/ Created by Tarena on 13-11-2./ Copyright (c) 2013年 Tarena. All rights reserved./#import TRCard.hinterface TRCard ()property (nonatomic, readwrite) NSUInteger suit;property (nonatomic, readwrite) NSUInteger rank;endimplementation TRCard-(id)initWithSuit:(NSUInteger) suit andRank:(NSUInteger)rank if (self = super init) self.suit = suit; self.rank = rank; return self;-(NSString*)description return NSString stringWithFormat:%,SUIT_NAMESself.suit,RANK_NAMESself.rank;-(BOOL)isEqual:(id)object if (object = nil) return NO; if (self = object) return YES; if (object isMemberOfClass:TRCard class) TRCard* g = (TRCard*)object; return self.suit = g.suit & self.rank = g.rank; return NO;end+(void)print:(NSArray *)cards NSMutableString* string = NSMutableString allocinit; for (int i=0; icards.count-2; i+) string appendFormat:%, cardsi; string appendFormat:%, cardscards.count-1; NSLog(%, string);TRGameProtocol协议, 定义了发牌和洗牌方法:/ TRGameProtocol.h/ TestSample/ Created by Tarena on 13-11-2./ Copyright (c) 2013年 Tarena. All rights reserved./#import #import TRCard.hprotocol TRGameProtocol /发牌方法-(NSArray*) deal:(NSArray*)cards;/洗牌方法-(void)shuffle:(NSMutableArray*)cards;end测试代码如下:/ main.m/ TestSample/ Created by Tarena on 13-11-2./ Copyright (c) 2013年 Tarena. All rights reserved./#import #import TRCard.h#import TRGame.hint main(int argc, const char * argv) autoreleasepool /创建游戏对象 TRGame* game = TRGame alloc; /生成54张扑克牌 NSMutableArray* cards = NSMutableArray allocinitWithCapacity:54; for (int rank=THREE; rank=DEUCE; rank+) cards addObject:TRCard allocinitWithSuit:DIAMOND andRank:rank; cards addObject:TRCard allocinitWithSuit:CLUB andRank:rank; cards addObject:TRCard allocinitWithSuit:HEART andRank:rank; cards addObject:TRCard allocinitWithSuit:SPADE andRank:rank; cards addObject:TRCard allocinitWithSuit:JOKER andRank:BLACK; cards addObject:TRCard allocinitWithSuit:JOKER andRank:RED; /洗牌 game shuffle:cards; /打印扑克牌 NSLog(一副扑克牌:); TRCard print:cards; /发牌 NSArray* players = game deal:cards; NSLog(发牌以后:); /打印发牌结果(3副牌) TRCard print:players0; TRCard print:players1; TRCard print:players2; return 0;运行测试代码后,可能的输出结果:一副扑克牌:黑桃9, 方块2, 梅花7, 红桃9, 黑桃J, 黑桃10, 梅花9, 梅花J, 梅花5, 方块3, 梅花A, 梅花8, 梅花6, 方块9, 梅花2, 黑桃7, 大王, 红桃J, 方块J, 红桃3, 黑桃6, 红桃8, 梅花4, 方块Q, 小王, 黑桃Q, 红桃A, 梅花3, 方块8, 红桃2, 梅花10, 黑桃4, 方块K, 黑桃8, 黑桃2, 红桃K, 红桃6, 方块10, 方块6, 红桃Q, 黑桃A, 梅花Q, 方块7, 黑桃3, 方块5, 方块A, 梅花K, 方块4, 黑桃K, 红桃5, 红桃7, 红桃4, 红桃10, 黑桃5发牌以后:小王, 方块A, 黑桃K, 红桃Q, 方块J, 梅花10, 黑桃9, 红桃9, 梅花9, 红桃8, 黑桃8, 黑桃7, 方块7, 梅花6, 红桃6, 红桃4, 方块3, 梅花3大王, 方块2, 黑桃2, 梅花A, 黑桃A, 梅花K, 黑桃Q, 黑桃J, 梅花J, 方块10, 红桃10, 方块9, 方块8, 红桃5, 梅花4, 黑桃4, 红桃3, 黑桃3梅花2, 红桃2, 红桃A, 方块K, 红桃K, 方块Q, 梅花Q, 红桃J, 黑桃10, 梅花8, 梅花7, 红桃7, 黑桃6, 方块6, 梅花5, 方块5, 黑桃5, 方块4请设计TRGame类的内容, 要求遵守TRGameProtocol协议, 实现发牌方法和洗牌方法。【答案】/ TRGame.h/ TestSample/ Created by Tarena on 13-11-2./ Copyright (c) 2013年 Tarena. All rights reserved./#import #import TRGameProtocol.hinterface TRGame : NSObject /发牌-(NSArray*) deal:(NSArray*)cards;/洗牌-(void)shuffle:(NSMutableArray*)cards;end/ TRGame.m/ TestSample/ Created by Tarena on 13-11-2./ Copyright (c) 2013年 Tarena. All rights reserved./#import TRGame.hinterface TRGame ()-(void)sort:(NSMutableArray*)players;endimplementation TRGame-(NSArray*) deal:(NSArray*)cards long sum = cards count / 3; NSArray* players = NSArray arrayWithObjects:NSMutableArray allocinitWithCapacity:sum, NSMutableArray allocinitWithCapacity:sum, NSMutableArray allocinitWithCapacity:sum, nil; for (int i=0, index=0; icards.count; i+, index+) TRCard* card = cardsi; NSMutableArray* someone = playersindex%players

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论