首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
辅导APS 105编程、讲解C/C++程序设计 辅导Python编程|解析SPSS
项目预算:
开发周期:
发布时间:
要求地区:
APS 105 — Computer Fundamentals
Lab 5: Functions, Logic, and Debugging
Winter 2021
The goal of this laboratory is to practice the material on functions. You are to write one C program that
consists of a main() and several functions. The program displays the Pascal’s triangle as explained in the
following section.
Preparation
Read through this entire document carefully, and do the work to create the programs that are described
below. You are encouraged to:
▪ Read the class bulletin board on Piazza, to see if others had similar problems. If you do not see
anything helpful there, ask a question. Do not ask for, or ever give a full or partial solution to the
lab assignment.
▪ Ask for assistance from your lab/tutorial TAs.
▪ Attend and ask questions during the plenary sessions.
Notes:
In the sample output examples that follow:
o The text
stands for the user pressing the enter key on the keyboard. On some
keyboards, the enter key may be labeled return.
Throughout this lab, there is a single space after the colon (:) in each output line.
Pascal’s Triangle
In a file called Lab5.c, write a C function named “triangle” that outputs Pascal’s triangle (for example) as
follows:
2
In general the Pascal’s triangle can be represented as:
0C0
1C1 1C0
2C2 2C1 2C0
3C3 3C2 3C1 3C0
4C4 4C3 4C2 4C1 4C0
...
where nCr represents how many ways there are to choose r from n, not counting duplicates.
In mathematics, it is usually presented as . The formula used to calculate nCr can be written as:
𝑛𝑪𝑟 =
𝑛!
𝑟! (𝑛 − 𝑟)!
where 𝑛! is the factorial of 𝑛.
The function triangle:
Is called by value where exactly one parameter (the number of rows of the Pascal’s triangle) is
passed to it.
Returns void (i.e. no value).
Prints out the Pascal’s triangle to the standard output.
Employs two other functions namely:
int choose(int n, int r);
That chooses r from n
int factorial(int n);
That calculates factorial of 𝑛.
Note: You are allowed to use any other function as need be.
You are required to provide a complete C program by writing the code for the main() function
Prompts user to supply the number of rows in the Pascal’s triangle.
Calls the function triangle such to display the Pascal’s triangle based on the number of rows
provided by the user.
Terminates the run of the program if the user supplies a negative value.
An example of the required output from your program is as follows:
3
4
Notes:
The number of the rows is limited to integers between 0 and 13 inclusive.
Automarker tests inclusively between 0 and 13.
If 0 then there are no triangles displayed.
If negative integer then program terminates.
The number displayed in the last column MUST be always displayed at the start of the line.
Carefully calculate the spaces used between the numbers so that the numbers are properly
aligned across rows.
Use of a function spaces() that deals with spacing is recommended.
Grading by TA and Submitting Your Program for Auto-Marking
There are a total of 10 marks available in this lab, marked in two different ways:
1. By your TA, for 4 marks out of 10. Once you are ready, show your program to your TA so that
we can mark your program for style, and to ask you a few questions to test your understanding of
what is happening. Programs with good style are:
Clear comments that describe what is happening in the program.
Good choices for variable names that indicate their purpose. Please adopt the naming
convention where if you have a variable that is described by multiple words, user lower
case for the first letter of the first word, and Upper case for all subsequent words e.g.
inputCode.
Properly indented code.
Proper use of named constants, rather than putting constants (such as 125) directly into
the code.
The TA will also ask you some questions to be sure that you understand the underlying concepts
being exercised in this lab.
2. By an auto-marking program for 6 marks out of 10. You must submit all of your program files
through the ECF computers for marking. We will use a software program to compile and run your
program, and test it with different inputs. Long before you submit your program for marking, you
should run the exercise program that compiles and runs your program and gives it sample inputs,
and checks that the outputs are correct. You should run the following command:
/share/copy/aps105s/lab5/exercise
within the directory that contains both your solution programs. This program will look for the files
comprising Lab5 in your directory, compile them, and run them on some of the test cases that will be used
to mark your program automatically later. If there is anything wrong, the exercise program will report this
to you, so read its output carefully, and fix the errors that it reports.
IMPORTANT: YOU WILL HAVE TO COPY ALL OF YOUR FILES TO BE IN THE SAME
FOLDER/DIRECTORY WHERE YOU WILL RUN THE SUBMIT COMMAND.
3. Once you have determined that your program is as correct as you can make it, then you must
submit your program for auto-marking. This must be done by the end of your lab period as that is
the due time. To do so, go into the directory containing your solution files and type the following
command:
/share/copy/aps105s/lab5/submit
5
This command will re-run the exercise program to check that everything looks fine. If it finds a
problem, it will ask you if you are sure that you want to submit. Note that you may submit your
work as many times as you want prior to the deadline; only the most recent submission is marked.
All files to be submitted as solutions to the lab must be within the same directory, and the
submission script must be run also from that directory via the command line. The exercise
program (and the marker program that you will run after the final deadline) will be looking for
the exact letters as described in the output in this handout, including the capitalization. When you
test your program using the exercise program, you will see that it is expecting the output to be
exactly this, so you will have to use it to see if you have this output correct.
Important Note: You must submit your lab by 11:59 p.m. after the end of your assigned lab
period. Late submissions will not be accepted, and you will receive a grade of zero.
You can also check to see if what you think you have submitted is actually there, for peace of
mind, using the following command:
/share/copy/aps105s/lab5/viewsubmitted
This command will download into the directory you run it in, a copy of all of the files that have
been submitted. If you already have files of that same name in your directory, these files will be
renamed with a number added to the end of the filename.
After the Final Deadline Obtaining Automark
Briefly after all lab sections have finished you will be able to run the automarker to determine the
automarked fraction of your grade on the code you have submitted. To do so, run the following
command:
/share/copy/aps105s/lab5/marker00
This command will compile and run your code, and test it with all of the test cases used to determine the
automarked grade. You will be able to see those test cases output and what went right or wrong.
Good Luck!
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代做ceng0013 design of a pro...
2024-11-13
代做mech4880 refrigeration a...
2024-11-13
代做mcd1350: media studies a...
2024-11-13
代写fint b338f (autumn 2024)...
2024-11-13
代做engd3000 design of tunab...
2024-11-13
代做n1611 financial economet...
2024-11-13
代做econ 2331: economic and ...
2024-11-13
代做cs770/870 assignment 8代...
2024-11-13
代写amath 481/581 autumn qua...
2024-11-13
代做ccc8013 the process of s...
2024-11-13
代写csit040 – modern comput...
2024-11-13
代写econ 2070: introduc2on t...
2024-11-13
代写cct260, project 2 person...
2024-11-13
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!