#!/usr/bin/env ruby i=1 while i <= 5 puts i; i += 1 end puts # еще раз i=1 until i > 5 puts i; i += 1 end puts 3.times do print "Ау! " end puts 0.upto(9) do |x| print x, " " end puts 0.step(12, 3) {|x| print x, " " } # 0 3 6 9 12 puts [1, 1, 2, 3].each {|k| print k, " " } # 1 1 2 3 puts for i in ["one", "two", "three"] print i, " " end puts # то же самое ["one", "two", "three"].each{ |i| print i, " "} puts for i in 1..5 puts i end puts for i in 1 ... 6 puts i end puts print "Введите целое положительное число: " str = gets.chop! # ввели строку num = str.to_i # преобразовали в число if num > 0 i = 1 fact = 1 while i <= num fact *= i i += 1 end puts "Факториал числа #{num} равен #{fact}" else puts "Вы ввели неположительное число" end puts print "Введите целое положительное число: " num = gets.to_i # строку сразу преобразовали в число if num > 0 fact = 1 for i in 1 .. num fact *= i end puts "Факториал числа #{num} равен #{fact}" else puts "Вы ввели неположительное число" end puts def fact(n) f = 1 1.step(n,1) {|k| f *= k} return f end print "Введите целое положительное число: " if (num = gets.to_i) > 0 print "#{num}! = #{fact(num)}\n" else puts "Факториал числа #{num} не определен\n" end puts print "Введите целое положительное число: " a, k = gets.to_i, 0 while a>0 a /= 10; k += 1 # отбросили последнюю цифру end print "Количество цифр в введенном числе равно #{k}.\n" puts print "Введите число элементов массива: " sn = gets.chop!; n = sn.to_i b = Array.new(n) # создали массив из n элементов s = 0 # обнулили сумму for i in 0 .. n - 1 print "Введите #{i+1}-й элемент массива: " b[i] = gets.chop!.to_f; s = s + b[i] end print "Сумма всех элементов массива равна ", s, "\n" puts puts "Введите массив чисел (разделяя их пробелами):" a = gets.chop! b = a.split # разбили строку на отдельные числа s = 0 for i in 0 .. b.length - 1 s += b[i].to_f end puts "Сумма всех элементов массива равна #{s}" puts =begin for i in 1 .. 5 print i break if i == 3 print "*" end puts for i in 1 .. 5 print i redo if i == 3 print "*" end puts for i in 1 .. 5 print i next if i == 3 print "*" end puts for i in 1 .. 5 print i retry if i == 3 print "*" end puts =end for i in 1 .. 5 print "Now at #{i}. Restart?(y/n) " retry if gets.chop == "y" end puts