为算法编写伪代码以确定与会者所属的类别

时间:2013-03-10 16:35:55

标签: algorithm

如何为这个问题编写伪代码?我尝试编写算法,但这真的很难。

算法或伪代码,接受参加会议的22个人的姓名作为输入。每个人属于以下两类之一: 一)参加 b)中演示

算法应确定与会者所属的类别。该算法还应确定属于每个类别的与会者人数。参与者支付2000.00美元的注册费和1000.00美元的主持人。必须打印每个类别中的类别和总人数列表,以及每个部分中产生的总金额。

这是我尝试过的但没有运气。

program Persons attending the conference (input,output);
Uses Crt

Const
    Presenters=('per17,per18,per19,per20,per21,per22'),'('$1000.00);
    Participant=('per1,per2,per3,per4,per5,per6,per7,per8,per9,per10,per11,per12,per13,per14,per15,per16'),'('$2000.00);


begin
    {Accept the names of 22 persons and category}
    WriteLn ('Enter names');
    ReadLn ('per1,per2,per3,per4,per5,per6,per7,per8,per9,per10,per11,per12,per13,per14,per15,per16,per17,per18,per19,per20,per21,per22');
    WriteLn ('Enter Category')
    Var
      participant:('per1...per16');
      presenter: ('per17...per22');
end.

1 个答案:

答案 0 :(得分:1)

我来自背景。我将向您展示每行“代码”并解释其背后的理性。

Participants = 0
Presenter = 0

这里我创建了两个整数变量ParticipantsPresenters。这些将保留每个变量中的人数。

for x in range (22):
    ask if person is presenter or participant

此代码使程序询问用户该人是演示者还是参与者。这重复22次。

    if presenter:
        Presenter += 1
    if participant:
        Participants += 1

此代码检查以查看最新人员属于哪个组。然后它将该变量加1。

print "There are", Participants, "participants."
print "There are", Presenter, "presenters."

此代码告诉我们每组中有多少。

print "You earned", (Participants * 2000) , " dollars from participants."
print "You earned", (Presenter * 1000), "dollars from presenters."
print "Overall, you earned", (Presenter * 1000) + (Participants * 2000), "dollars."

此代码显示屏幕上的输出。

注意:下次您在SO上提问时,您应该告诉我们

  1. 您使用的是哪种语言。

  2. 到目前为止你尝试了什么。 (你这样做了,但最好使用实际的语言。)

  3. 特定的问题。告诉我们完全你需要什么,而不是“请帮助!!!”