Perl+习题答疑Word格式文档下载.docx

上传人:b****7 文档编号:22198148 上传时间:2023-02-03 格式:DOCX 页数:18 大小:20.67KB
下载 相关 举报
Perl+习题答疑Word格式文档下载.docx_第1页
第1页 / 共18页
Perl+习题答疑Word格式文档下载.docx_第2页
第2页 / 共18页
Perl+习题答疑Word格式文档下载.docx_第3页
第3页 / 共18页
Perl+习题答疑Word格式文档下载.docx_第4页
第4页 / 共18页
Perl+习题答疑Word格式文档下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

Perl+习题答疑Word格式文档下载.docx

《Perl+习题答疑Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Perl+习题答疑Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。

Perl+习题答疑Word格式文档下载.docx

\@fredis@fred\n"

(Shouldbe678910)\n"

my@barney=&

above_average(100,1..10);

\@barneyis@barney\n"

(Shouldbejust100)\n"

#!

\usr\bin\perl-w

usestrict;

subabove_average{

my@in=@_;

my$average_value=&

average(@in);

my@out;

foreach(@in){

if($_>

$average_value){push@out,$_;

}

return@out;

subaverage{

my$sum=0;

foreach(@in)

{

$sum+=$_;

$sum=$sum/@in;

return$sum;

3写一个程序,要求用户在不同的行中输入一些字符串,将此字符串打印出来,规则是:

每一条占20个字符宽度,右对齐。

为了确保正确的输出,在开头打印出一串数字作为比较(帮助调试)。

注意,不要犯19个字符宽度的错误。

例如,如果输入,hello,good-bye,则输出为:

123456789012345678901234567890123456789012345678901234567890

hello

good-bye

(第5章习题)

/usr/bin/perl-w

unless(@ARGV){

lengthofline>

my$length=$ARGV[1];

)ordie;

$ARGV[2]"

my$cnt=1;

foreach(1..$length){

$cnt"

$cnt++;

if($cnt==10){$cnt=0;

printOUT"

while(<

){

chomp;

my$len=length($_);

if($len>

=$length){printOUT"

$_\n"

else{

foreach(1..$length-$len){

printOUT"

"

}

printOUT"

closeIN;

closeOUT;

修改上一个程序,允许用户选择宽度,如,用户输入30,hello,good-bye(在不同的行中),则每一行的宽度为30。

(提示:

参阅第二章相应部分)。

提示,如果选择的宽度太长,可以增加比较行的长度。

my($n,@a)=split/\s*,\s*/,<

STDIN>

chomp$a[-1];

4写一个程序,读入一串单词(一个单词一行)◆,输出每一个单词出现的次数。

如果某个作为数字使用值是undefined的,会自动将它转换为0。

)如果输入单词为fred,barney,dino,wilma,fred(在不同行中),则输出的fred将为3。

作为额外的练习,可以将输出的单词按照ASCII排序。

(第6章习题)

my%count;

){

$count{$_}++;

foreach(sort{$acmp$b}keys%count){

$_\t$count{$_}\n"

5使用模式测试程序,创造一个模式能匹配任何单词(\w意义下的单词),但这个单词必需以字母a结尾。

它匹配wilma而没匹配barney吗?

它匹配Mrs.WilmaFlintstone吗?

wilma&

fred呢?

使用前一章习题的文件进行练习(如果没有上述字符串,则加上它们)(第8章习题)

修改上述程序,使之将由a结尾的单词放到$1之中。

同时修改源代码,使此变量对应的值被放在单引号之中,如$1contains‘Wilma’。

unless(@ARGV)

{

if($_=~/(\w*a)\W?

/or$_=~/(\w+a)$/){printOUT"

$_contains\'

$1\'

}#also,/(\w*a)\b/

Whatabout“wssssilma&

fred,alsoMrs.WilmaFlintstone”?

6写一个程序,它可以得到当前文本文件的一个拷贝。

在拷贝的文件中,字符串Fred(大小写无关)将被Larry替换掉。

(因此,“ManfredMann”将变成“ManLarryMann”.)输入的文件名已经在命令行中指定(不需要询问用户),输出的文件名是对应的输入文件名后面加上.out。

(第9章习题)

修改上面程序,使之将Fred由Wilma替换,Wilma由Fred替换。

如果输入的为fred&

wilma,则输出为Wilma$Fred。

$ARGV[0].out"

){

s/fred/\n/ig;

s/wilma/Fred/ig;

s/\n/Wilma/ig;

7写一个程序,能重复要求用户猜测某个在1到100之间的数字,直到猜对为止。

你的程序应当能随机的产生一个数字,使用公式int(1+rand100)。

当用户猜测错误时,程序应该回应“Toohigh”或者“Toolow”。

如果用户输入quit或exit,或者回车时,程序应立即退出。

如果用户猜测正确,程序也退出。

(第10章习题)

if(defined$ARGV[0]and$ARGV[0]=~/help/i){

justrun\n"

Thisisagameofguessthenumberbetween1-100\nHaveFun^_^\n"

my$num=int(1+rand100);

my$in=<

while

(1){

if($in=~/(quit)|(exit)/i){print"

GameOver\n"

last;

elsif($in>

$num){print"

TooHigh\n"

$in=<

next;

elsif($in<

TooLower\n"

elsif($in==$num){print"

Great,youareright\n"

8写一个程序,找出命令行中存在时间最长的文件名,并报告其天数。

当参数为空时,其行为如何(例如,命令行中没有输入任何的文件)?

(第11章习题)

perl$0<

files>

my@in=@ARGV;

my$longest=0;

my$save_name;

foreach(@in){

my$age=-M;

if($age>

$longest){$longest=$age;

$save_name=$_;

Thelongestfileis$save_name\nIt$longestdaysaftermodified\n"

9如果你的操作系统支持,写一个程序来查找当前目录下的符号连接(symboliclinks),并将它们的值打印出来(如ls–l一样:

name->

value)。

(第12章习题)

dir>

my@file=glob"

$ARGV[0]/*"

foreach(@file){

chomp$_;

my$link=readlink"

if(defined$link){print"

$_->

$link\n"

@a=`ls-l|grep-e‘->

’`;

10写一个程序,从文件中读入字符串,一行一个字符串,然后让用户输入模式,这个模式可能匹配上某些字符串。

对于每一个模式,程序将指出文件中有多少个字符串(多少行)匹配上了,并指出是哪些。

对于新的模式不需要重新读文件,将这些字符串保留在内存中。

文件名可以直接写在程序之中。

如果模式无效(例如,圆括号不匹配),则程序报告这个错误,并让用户继续尝试新的模式。

当用户输入一个空行,则程序退出。

(第16章习题)

my@in=<

print"

Pleaseinputamodel\n"

my$model=<

chomp$model;

if($model=~/^\s+$/or!

defined$model){

print"

Next\n"

last;

my$cnt=0;

foreach(@in)

{

if($_=~/$model/){

print"

$cnt++;

}

Total$cntmatchthemodel\n"

next;

11将blast程序原始输出转换成列表格式,16列数据分别是

1Query_id 

 

2Query_length 

3Query_start 

4Query_end

 

5Subject_id 

6Subject_length 

7Subject_start 

8Subject_end

9Identity 

10Positive 

11Gap 

12Align_length 

13Score

14E_value 

15Query_annotation 

16Subject_annotation

BLASTN2.2.18[Mar-02-2008]

Reference:

Altschul,StephenF.,ThomasL.Madden,AlejandroA.Schaffer,

JinghuiZhang,ZhengZhang,WebbMiller,andDavidJ.Lipman(1997),

"

GappedBLASTandPSI-BLAST:

anewgenerationofproteindatabasesearch

programs"

NucleicAcidsRes.25:

3389-3402.

Query=X16077#rRNA_18S[Arabidopsisthaliana]18SrRNAgene

(1902letters)

Database:

/panfs/GAG/xiemin/FFF/rRNA/././ass.scafSeq.gapfill3.shorter.

cut/ass.scafSeq.gapfill3.shorter.18

131sequences;

13,055,928totalletters

Searching..................................................done

ScoreE

Sequencesproducingsignificantalignments:

(bits)Value

scaffold6343376e-92

scaffold634

Length=18181

Score=337bits(170),Expect=6e-92

Identities=230/250(92%)

Strand=Plus/Minus

Query:

1171gagaaatcaaagtttttgggttccggggggagtatggtcgcaaggctgaaacttaaagga1230

||||||||||||||||||||||||||||||||||||||||||||||||||||||

Sbjct:

9158gagaaatcaaagtttttgtattccgggggaagtatggttgcaaagctgaaacttaaagaa9099

1231attgacggaagggcaccaccaggagtggagcctgcggcttaatttgactcaacacgggga1290

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

9098attgacggaagggcaccaccaggagtggagcctgcggcttaatttgactcaacacgggaa9039

1291aacttaccaggtccagacatagtaaggattgacagactgagagctctttcttgattctat1350

|||||||||||||||||||||||||||||||||||||||||||||||||||

9038atcttaccaggcccagacactggaaggattgacagattgaaagctctttcttgattcagt8979

1351gggtggtggtgcatggccgttcttagttggtggagcgatttgtctggttaattccgttaa1410

||||||||||||||||||||||||||||||||||||||||||||||||||||||||

8978gggtggtggtgcatggccgttcttagttggtggagtgatttgtctgcttaattgcgataa8919

1411cgaacgagac1420

||||||||||

8918cgaacgagac8909

Score=317bits(160),Expect=6e-86

Identities=321/372(86%),Gaps=2/372(0%)

353gatcgcatggcctctgtgctggcgacgcatcattcaaatttctgccctatcaactttcga412

||||||||||||||||||||||||||||||||||||||||||||||||||||||

10036gatcgcatggcctc-gcgccagcgacgcatctttcaaatgtctgccctatcaactttcga9978

413tggtaggatagtggcctaccatggtggtaacgggtgacggagaattagggttcgattccg472

|||||||||||||||||||||||||||||||||||||||||||||||||

9977tggtaagttctatgcttaccatggttgtaacgggtaacggggaatcagggttcgattccg9918

473gagagggagcctgagaaacggctaccacatccaaggaaggcagcaggcgcgcaaattacc532

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

9917gagaggcagcctgagacacggctaccacatccaaggaaggcagcaggcgcgcaaattacc9858

533caatcctgacacggggaggtagtgacaataaataacaataccgggctctttcga-gtctg591

|||||||||||||||||||||||||||||||||||||||||||||||

9857cactcccggcacggggaggtagtgacgaaagataacaatacgggactcatccgaggcctc9798

592gtaattggaatgagtacaatctaaatcccttaacgaggatccattggagggcaagtctgg651

|||||||||||||||||||||||||||||||||||||||||||||||

9797gtaattggaatggcaacactttaaatcctttatggagtatctaactgagggcaagtctgg9738

652tgccagcagccgcggtaattccagctccaatagcgtatatttaagttgttgcagttaaaa711

||||||||||||||||||||||||||||||||||||||||||||||||||||||

9737tgccagcagccgcggtaattccagctcagttagcgtatatcaaagttgttgcggttaaaa9678

712agctcgtagttg723

||||||||||||

9677agctcgtagttg9666

Score=129bits(65),Expect=3e-29

Identities=137/161(85%)

956gacagtcgggggcattcgtatttcatagtcagaggtgaaattcttggatttatgaaagac1015

|||||||||||||||||||||||||||||||||||||||||||||||||

9373gacaggcgggggcattcgtattgctacgttagaggtgaaattcttggatcgtagcaagac9314

1016gaacaactgcgaaagcatttgccaaggatgttttcattaatcaagaacgaaagttggggg1075

|||||||||||||||||||||||||||||||||||||||||||||||||||

9313ggactgaagcgaaagcatttgccaaggatgttctcgttgatcaagaacgaaagtttgggg9254

1076ctcgaagacgatcagataccgtcctagtctcaaccataaac1116

|||||||||||||||||||||||||||||||||||||

9253ctcgaaggcgatcagataccgccctagtccaaaccataaac9213

Score=123bits(62),Expect=2e-27

Identities=86/94(91%)

1658aacgaggaattcctagtaagcgcgagtcatcagctcgcgttgactacgtccctgcccttt1717

|||||||||||||||||||||||||||||||||||||||

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1