Библиотека knigago >> Компьютеры и Интернет >> Учебники и самоучители по компьютеру >> Лекции по языку Ruby


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1922, книга: Темный инквизитор (СИ)
автор: Владик Разящий

от Владика Разящего – это захватывающее и оригинальное фэнтези-приключение, погружающее читателей в мрачный и интригующий мир инквизиции и охоты на ведьм. Главный герой, охотник на демонов Арек, вынужден отправиться в путешествие, чтобы расследовать серию похищений людей в отдаленной деревне. По ходу расследования он обнаруживает, что за этими событиями кроется нечто большее, чем кажется на первый взгляд. Автор мастерски создает темную и готическую атмосферу, где страх и суеверия царят...

СЛУЧАЙНАЯ КНИГА

Автор неизвестен - Лекции по языку Ruby

Лекции по языку Ruby
Книга - Лекции по языку Ruby.   Автор неизвестен  - прочитать полностью в библиотеке КнигаГо
Название:
Лекции по языку Ruby
Автор неизвестен

Жанр:

Самиздат, сетевая литература, Учебники и самоучители по компьютеру, Литература ХXI века (эпоха Глобализации экономики), Программирование: прочее, Ruby

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Лекции по языку Ruby"

Аннотация к этой книге отсутствует.

Читаем онлайн "Лекции по языку Ruby". [Страница - 2]

... arNew.size
4
arNew[i] = arNew[i]∗2

4

5
6
7
8
9
10
11
12
13
14

1
2
3
4
5
6

end
return arNew
end
a = [1, 2, 3, 4]
puts "До вызова функции"
pa
puts "Вызвали функцию"
p dont_modify(a)
puts "Исходный массив не изменился!"
pa
До вызова функции
[1, 2, 3, 4]
Вызвали функцию
[2, 4, 6, 8]
Исходный массив не изменился!
[1, 2, 3, 4]

5

Глава 1

Комплексные числа в языке
программирования Ruby
§ 1.

Реализация на базе массива из двух элементов

Создание комплексного числа
Как известно, любому комплексному числу z = x +yi соответствует
точка плоскости с координатами (x, y). Поэтому для задания комплекс
ного числа следует указать два действительных числа x и y. Самым
простым способом хранения этих двух чисел в одном объекте является
хранение их в массиве из двух элементов z = [x, y], например,
z1 = [1, 1]
z2 = [0, -3]
Недостатком такого представления является отсутстствие провер
ки на количество элементов массива и соответствие типа каждого из
элементов массива одному из числовых типов (Integer, Float). Предпо
лагается, что пользователь программы сам контролирует корректность
ввода данных и их использования.

Печать комплексного числа
Одной из самых распространенных операций для любого типа дан
ных является их представление в виде строки, которое используется
при их печати. Поэтому первой функцией, которую мы реализуем бу
дет функция comp_str для заданного комплексного числа z = [a, b]
возвращающая строку a+bi (без пробелов и знака умножения), напри
1

2

Глава 1. Комплексные числа в языке программирования Ruby

мер, для числа, заданного массивом [1, 2] будет возвращена строка
"1+2i" , а для числа [0, -3] — "0-3i".
def comp_str(z)
"#{z[0]}+#{z[1]}i"
end
puts comp_str(z1)
1+1i
На первый взгляд функция работает правильно, однако, если мы по
пробуем применить её к числу z2, то получим не тот результат, который
ожидали:
puts comp_str(z2)
0+-3i
Изменим функцию так, чтобы знак мнимой части отображался коррект
но:
def comp_str(z)
"#{z[0]}"+(z[1] < 0 ? ’-’ : ’+’)+"#{z[1].abs}i"
end
puts comp_str(z1)
puts comp_str(z2)
1+1i
0-3i

Сложение комплексных чисел
Определим функцию plus, возвращающую сумму двух комплексных
чисел:
def plus(z, w)
[z[0]+w[0], z[1]+w[1]]
end
z3 = plus(z1, z2)
puts comp_str(z3)
1-2i

§ 1. Реализация на базе массива из двух элементов

3

Умножение комплексных чисел
Функция mult предназначена для вычисления произведения двух
комплексных чисел:
def mult(z, w)
[z[0]*w[0] - z[1]*w[1], z[0]*w[1] + z[1]*w[0]]
end
z4 = mult(z1, z2)
puts comp_str(z4)
3-3i

Вычисление модуля комплексного числа
Так как в нашей программе используется функция с именем abs,
то нам придется дать функции для определения модуля комплексного
числа какое-нибудь другое имя. Пусть эта функция называется dist,
т. к. модуль комплексного числа z = x + yi есть расстояние от точки с
координатами (x, y) до начала координат.
def dist(z)
Math.sqrt(z[0]**2+z[1]**2)
end
puts dist(z1)
1.4142135623731

Упражнения
1. Измените функцию comp_str так, чтобы нулевые действительная
или мнимая части числа не отображались, например для z = [0, -2]
результат работы функции должен равняться "-2i".
2. Измените функцию comp_str так, чтобы равный 1 или −1 коеффи
циент мнимой части не печатался, например, для z = [2, -1] функция
должна возвратить значение "2-i".
3. Напишите функцию вычитания двух чисел minus.
4. Напишите функцию conjugate, находящую сопряженное число.
5. Напишите функцию divide, определяющую частное двух комплекс
ных чисел.

Глава 1

Объектно-ориентированное
программирование
§ 1.

ООП — результат эволюции методологий
программирования

Потребность в ООП связана со стремительным усложнением раз
рабатываемых программ и, как следствие, их недостаточной надежно
стью. Объектно-ориентированный подход позволяет программисту пи
сать более надежный код, избавленный от многих ошибок, которые
могут проявиться в коде, разработанном в процедурном стиле.
Другим немаловажным качеством ООП является возможность мно
гократного использования кода. Реализованные однажды библиотеки
классов программист может использовать в различных программах,
что обеспечивает повышение производительности труда программиста
и увеличивает надежность готового программного продукта.
Практически все современные языки программирования, независи
мо от принадлежности к тому или иному стилю (директивному или де
кларативному), поддерживают концепцию --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.

Книги схожие с «Лекции по языку Ruby» по жанру, серии, автору или названию: