初学者 编程_初学者编程原则

初学者 编程

我们中的许多人都在为算法和数据结构而苦苦挣扎。 当我在大学开始编程时,引起我的关注并激发我去寻找生活动力的一门学科的名称就是编程原理。 我开始花费大量时间来弄清楚如何解决教授的作业。 现在这些算法对我来说很容易,但后来却变得不可行,而且我无法通过考试,学习方式错误,您无法记住它们,必须练习并弄清楚自己需要做什么。

我们绘制流程图以使用if和while循环显示结果,而没有任何预定义的代码。 我认为现在这是我们可以学习如何创建算法以及如何像程序员一样思考的最佳学科。 我写这篇文章的原因是为您提供日常编程中最常见的基本问题。

1.创建函数pozpar,该函数的自变量具有整数y的数组。 函数需要返回数组的每个元素,该元素为正数且为偶数,减少2,其余元素扩大1

def pozpar (y)
  n  = y.length
  i = 0
  while i < n
    e = y[i].round
    q = e / 2
    if e > 0 && q * 2 == e
      y[i] = e - 2
    else
      y[i] = e + 1
    end
    i+= 1
   end
  return y
end
p pozpar([ 1 , 2 , 3 , 4.4 , 5 , 6 ])
Output: [ 2 , 0 , 4 , 2 , 6 , 4 ]

非常简单,在变量n中,我放置了一个数组的长度,然后将变量i设置为0,而i小于通过元素的数组循环的长度,不允许使用浮点数,将其转换为最接近的整数,然后使确保数字必须为正数和偶数的条件,请更改数组的元素(偶数小2且奇数大1)。完成此分配。

2.使用两个参数编写一个函数,两个参数分别为字符串s1和s2,如果在字符串s2中存在大字母,则用字符串s1的第一个元素替换它。 仅当替换发生时,输出才应为字符串s2;否则,则输出的不是友好消息。

def strings(s1,s2)i = 0
  n2 = s2. length
  count = 0
  while i < n2
    if s2[ i ] >= 'A' && s2[ i ] <= 'Z'
      s2[ i ] = s1[ 0 ]
      count += 1
      end
    i += 1
  end
  if count > 0
    p s2
  else
    print "There is no change in s2"
  end
end
strings( 'zDkalskdlAKk123@' , 'AlldapPWDA<zx4567?' )
Output: "zlldapzzzz<zx4567?"

因此,我将i设置为0,n2是字符串s2的长度,我开始遍历字符串,大写字母A的ASCII值十进制为65,对于Z来说,十进制值为90,在if语句中如果有大的字母,我将用s1的第一个元素替换它,需要检查的count如果没有输出,将有任何迭代,这将是一条友好的消息。 那时,作为一名学生,我一年级,第一次考试,当我看到这份作业时,我会感觉自己是世界上最愚蠢的人。 如果我多练习,一切都会好的。

3.创建一个接受字符串t的函数。 如果字符串中不包含数字,则输出字符串中大字母的数量(如果确实包含数字),则将那些大3的数字减少1。输出更改后的字符串。

def stringy(t)
  count =0
  i = 0
  n = t. length
  res = false
  while i < n
    if !(t[ i ] >= '0' && t[ i ] <= '9' )
      if t[ i ] >= 'A' && t[ i ] <= 'Z'
      count+= 1
      res = true
      end
    elsif t[ i ] >= '0' && t[ i ] <= '9'
      if t[ i ] > '3'
      inte = t[ i ].to_i
      t[ i ] = (inte -1 ).to_s
      end
    res = false
    end
    i += 1
    end
    if res == true
      p count
    else
      p t
    end
end
stringy( 'asdjJKLj1256657' )
Output: ‘asdjJKLj1245546’

阅读并做,如果它不包含数字字母,并且确实将大于3的字母减少1,我将变量res添加为false。因此,这是考试的最后一项任务,供将来的Ruby开发人员使用。

4.创建一个带有字符串r的函数,该函数需要检查字符串是否是名称,要使字符串成为名称,它必须包含第一个大字母,其余字母应该很小。 输出友好消息,告诉用户字符串是否可以是名称。

def name(s)i = 0
  j = 1
  n = s. length
  res = false
  while ( j < n)
    if s[ i ] >= 'A' && s[ i ] <= 'Z' && s[ j ] >= 'a' && s[ j ] <= 'z'
      res = true
    else
      res = false
    end
    j += 1
  end
  if res == true
    print "This string can be a name"
  else
    print "This string can't be a name"
  end
end
name( 'Ivana' )
Ouptut: This string can be a name

非常简单,我将变量i设置为0,将变量j设置为1,n包含字符串的长度,而j <n,请检查第一个元素是否为大字母,并检查其余字母是否为小字母,数字或任何其他字母字符是不允许的,因此在我希望某些事情是正确的情况下,我使用了变量res,所有与期望结果不同的结果都会导致错误。

尝试做一些算法而不使其变得更容易,尝试不使用很多预定义函数而仅通过两个循环就可以使我们更好地理解某些事物的工作原理,而无需使用预定义函数,我们就可以更容易地理解它们在做什么的情况。开始使用它们。 要检查大字母,我可以做str.uppercase并完成工作,但是查看ASCII表并尝试不使用该功能就不会有问题。

除非不使用每个each_with_index,否则,除非没有正则表达式,映射,计数等,否则我们可以在没有那些使我们的生活更轻松的帮助者的情况下进行操作。 良好的做法是像使用那些算法一样对所有这些循环和函数进行编码,仅使用一会儿,如果使用if循环,则通过这样的练习,我们可以更轻松地了解这些预定义函数的工作方式。

通过这样的练习,我们在面试中不会遇到一些小问题,例如我们需要对字符串或数组进行处理的部分,我们不会因为一些愚蠢的错误而失败,因为我们没有注意,失败会更容易,下一次面试我们会准备的,不会因为初学者的失误而失望。

翻译自: https://hackernoon.com/programming-principles-for-beginners-ug733v8e

初学者 编程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值