#!/usr/bin/env ruby class Car @@NUM_CARS = 0 def initialize @@NUM_CARS = @@NUM_CARS + 1 puts @@NUM_CARS end end class SportsCar < Car end class FamilyCar < Car end a = Car.new b = SportsCar.new c = FamilyCar.new
#!/usr/bin/env ruby =begin Напишите программу подсчета суммы всех нечетных чисел, заключенных в интервале от K до L, где K и L - аргументы командной строки =end if ARGV.length < 2 puts "Слишком мало входных данных" exit(1) end s = 0 k = ARGV[0].to_i l = ARGV[1].to_i for i in k .. l s += i if i%2 != 0 end puts "Сумма нечетных чисел в интервале " + "от #{k} до #{l} равна #{s}"
#!/usr/bin/env ruby =begin Напишите программу, получающую с качестве аргумента командной строки целое число n, и печатающую n-е число Фибоначчи. =end def fib(n) if n<2 n else fib(n-2)+fib(n-1) end end t1 = Time.now n = ARGV[0].to_i puts "#{n}-е число Фибоначчи равно #{fib(n)}" t2 = Time.now puts "Время расчета около #{(t2-t1).round} сек."
#!/usr/bin/env ruby =begin Напишите программу, получающую с качестве аргумента командной строки целое число n, и печатающую n-е число Фибоначчи. =end t1 = Time.now n =ARGV[0].to_i f= [0, 1] fib = case n when 0 f[0] when 1 f[1] else for i in 2 .. n f[i] = f[i-1] + f[i-2] end f[n] end puts "#{n}-е число Фибоначчи равно #{fib}" t2 = Time.now puts "Время расчета около #{(t2-t1).round} сек." a = fib.to_s.split('') puts "Количество цифр в #{n}-м числе Фибоначчи равно #{a.size}."
#!/usr/bin/env ruby =begin Напишите программу, получающую с качестве аргумента командной строки целое число n, и печатающую n-е число Фибоначчи. =end t1 = Time.now n =ARGV[0].to_i if n > 1 prev, beforePrev = 1, 0 for i in 2 .. n fib = prev + beforePrev prev, beforePrev = fib, prev end else fib = n end puts "#{n}-е число Фибоначчи равно #{fib}" t2 = Time.now puts "Время расчета около #{(t2-t1).round} сек." a = fib.to_s.split('') puts "Количество цифр в #{n}-м числе Фибоначчи равно #{a.size}."
... Напишите программу, вычисляющую НОД(a,b) - наибольший общий делитель двух введенных с клавиатуры неотрицательных целых чисел a и b , не равных нулю одновременно. ... Загрузить файл с примером) Как и другие языки программирования, Ruby позволяет передавать данные в программу, использую аргументы командной строки. ... Напишите программу, получающую с качестве аргумента командной строки целое число n, и печатающую n-е число Фибоначчи. ... Загрузить файл с программой) . ... Напишите программу . ...
#!/usr/bin/env ruby # 1 print "Введите первое число: "; a = gets.to_i print "Введите второе число: "; b = gets.to_i k = a >= b ? a : b # теперь k - максимум until (a%k == 0)&& (b%k == 0) k-=1 end print "НОД(#{a},#{b}) = #{k}\n" #2 Алгоритм Евклида print "Введите первое число: "; a = gets.to_i print "Введите второе число: "; b = gets.to_i m, n = a, b while !((m == 0) || (n == 0)) if m >= n m = m - n else n = n - m end end k = m == 0 ? n : m print "НОД(#{a},#{b}) = #{k}\n"
#!/usr/bin/env ruby # Метод Монте-Карло puts "Введите количество точек:" n1, n, t1 = 0, eval(gets.chop), Time.now for i in 1 .. n x = 2*rand() - 1 y = 2*rand() - 1 # проверяем попадание внутрь круга n1 += 1 if (x**2 + y**2) < 1 end puts "PI=#{4.0*n1/n}" t2 = Time.now puts "Число точек #{n}, время расчета " + "около #{(t2 - t1).round} сек."
Язык программирования Java является современным объектно-ориентированным языком, предоставляющим программисту богатый набор классов различных объектов, которые значительно упрощают процесс разработки. Все программы на языке Java можно разделить на две большие группы. ... Именно благодаря им язык Java так популярен в сети интернет. ... Java, являясь профессиональным языком, позволяет писать большие и сложные программы, зачастую состоящие из сотен классов и десятков файлов. ...
Java и Ruby - схожие по структуре языки. Основными строительными блоками обоих языков являются переменные, операторы, методы и классы. ... В языке Java не существует глобальных функций и переменных, весь код программы содержится в одном или нескольких классах. Выполнение программы начинается с метода main , который обязан находиться в классе, указанном интерпретатору java в качестве параметра, в то время как программы на Ruby выполняются последовательно, строка за строкой, начиная с первой. ...
Каждая переменная языка Java имеет свой тип, определяющий как множество значений, которое она может принимать, так и набор операций, выполнимых над ней. ... int - целый; . ... int i = 2; int j = 3; double delta = (double) i / j; Общий вид оператора преобразования типа в языке Java таков: (имяТипа) операнд Так, в следующем примере будет напечатано число 29. double a = 29.99999; int i = (int) a; System.out.println(i); . ... В языке Java, как и в Ruby, используются строки (экземпляры класса String ). ...
Массивы в языке Java очень похожи на массивы в Ruby, но все их элементы обязаны иметь один и тот же тип. ... Ruby . ... myArray = [] . int myArray[]; . ... myArray = Array.new(10) . myArray = new int[10]; . ... int i = myArray[1000]; // ошибка Язык Java допускает совмещение объявления массива с выделением памяти: int myArray[] = new int[10]; . Аналогично Ruby язык Java поддерживает работу с многомерными массивами. ... Ввод данных в языке Java устроен значительно сложнее, чем в Ruby. ...
Все функции языка Java являются членами классов и, как правило, называются методами. Как и в Ruby существуют методы класса и методы экземпляра, каждый из которых может быть общедоступным ( public ) или "скрытым" ( private ). Рассмотрим внимательнее объявление уже неоднократно использованного нами метода main : public static void main(String[] args) С этого метода начинается выполнение программы, он вызывается извне класса и поэтому должен иметь квалификатор доступа public . ...
Условный оператор аналогичeн условному оператору Ruby, его общая форма такова: if (логическоеВыражение) { . ... В Ruby мы пользовались оператором elseif . Обратите внимание, что в языке Java его следует заменить на else if : class TestIf { public static void howBig(int i) { if (i (загрузить программу) . ... Ниже приведен его общий вид. switch (выражение) { case значение1: блок1; break; case значение2: блок2; break; . ... Java . ... Цикл while в языке Java работает точно также, как и в Ruby. ...
... import java.io.*; class TestRead { public static void main(String[] args) throws Exception{ BufferedReader r = new BufferedReader( new FileReader("rfile.txt")); String str; while ((str = r.readLine()) != null) { System.out.println(str); } } } (загрузить программу и тестовый файл) . ... import java.io.*; class TestWrite { public static void main(String[] args) throws Exception{ BufferedWriter w = new BufferedWriter( new FileWriter("wfile.txt")); int i = 10; String str1 = "Строка 1. ...