Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 03:31  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Но это в корне неправильно.
А что тут неправильного: считывать вещественную переменную до точки? Или преобразовывать её к типу int сразу на вводе.
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Dennis Ritchie, так что тут "тухлого"?
Слишком много писанины, это свойственно энтерпрайз-языкам.
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Давайте возьмем другую задачу:
распарсить текстовый файл с данными, для последующей обработки?
Я ещё ту задачу не решил, а вы уже следующую хотите засолить.

Добавлено через 1 минуту
Цитата Сообщение от S_el Посмотреть сообщение
E тоже уже занят.
Вот поэтому D уникален. Он последний в своём роде перед D++.
0
Заблокирован
10.02.2015, 03:33
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
А что тут неправильного: считывать вещественную переменную до точки?
Dennis Ritchie, именно. Представьте, что она понадобится для реальных расчетов.

Цитата Сообщение от S_el
E тоже уже занят.
Спасибо, не знал о его существовании.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 03:39  [ТС]
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Представьте, что она понадобится для реальных расчетов.
Значит, программист тупой, если выбрал тип int для вещественной переменной.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
10.02.2015, 04:02
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Слишком много писанины, это свойственно энтерпрайз-языкам.
Ну то есть этим Вы хотите сказать что в дэ нет системы исключений, ну или пример Вашей программы совершенно "боевой" и не нуждается в проверке ввода?

Добавлено через 2 минуты
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Значит, программист тупой, если выбрал тип int для вещественной переменной
то есть простая путаница исключается за невозможностью иметь место в работе.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 05:21  [ТС]
Цитата Сообщение от castorsky Посмотреть сообщение
Ну то есть этим Вы хотите сказать что в дэ нет системы исключений, ну или пример Вашей программы совершенно "боевой" и не нуждается в проверке ввода?
Ну почему же? В D, если вы для целочисленного типа введёте букву или другой невменяемый символ, система исключений сразу выведет такой лог с ошибками:
Кликните здесь для просмотра всего текста
a
std.conv.ConvException@C:\D\dmd2\src\pho bos\std\conv.d(1967): Unexpected '
' when converting from type LockingTextReader to type int
----------------
0x004086C0 in int std.conv.parse!(int, std.stdio.LockingTextReader).parse(ref std.stdio.LockingTextR
eader) at C:\D\dmd2\src\phobos\std\conv.d(1969)
0x0040840C in int std.conv.parse!(int, std.stdio.LockingTextReader).parse(ref std.stdio.LockingTextR
eader, uint) at C:\D\dmd2\src\phobos\std\conv.d(2163)
0x004075BC in int std.format.unformatValue!(int, std.stdio.LockingTextReader, char).unformatValue(re
f std.stdio.LockingTextReader, ref std.format.FormatSpec!(char).FormatSpec) at C:\D\dmd2\src\phobos\
std\format.d(4206)
0x0040463C in uint std.format.formattedRead!(std.stdio.Lock ingTextReader, char, int*).formattedRead(
ref std.stdio.LockingTextReader, const(char)[], int*) at C:\D\dmd2\src\phobos\std\format.d(603)
0x00404598 in uint std.stdio.File.readf!(int*).readf(const( char[]), int*) at C:\D\dmd2\src\phobos\st
d\stdio.d(1465)
0x004044EE in uint std.stdio.readf!(int*).readf(const(char[]), int*) at C:\D\dmd2\src\phobos\std\std
io.d(3038)
0x0040202D in _Dmain at C:\Users\REiS\Documents\Projects\Dlang2\ Dlang2\main.d(6)
0x0040B532 in D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6ru nAllMFZ9__lambda1MFZv
0x0040B507 in void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll()
0x0040B41D in _d_run_main
0x0040B0F8 in main
0x00421891 in mainCRTStartup
0x750D7C04 in BaseThreadInitThunk
0x775BB90F in RtlInitializeExceptionChain
0x775BB8DA in RtlInitializeExceptionChain

Цитата Сообщение от castorsky Посмотреть сообщение
то есть простая путаница исключается за невозможностью иметь место в работе.
Как будет вам угодно.

Добавлено через 16 минут
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
C#
1
2
3
4
5
var query = Enumerable.Range(2, 10)
                .Select(c => new { Length = 2 * c, Height = c * c - 1, Hypotenuse = c * c + 1 })
                .Select(x => string.Format("{0,4}{1,4}{2,4}", x.Height, x.Hypotenuse, x.Length));
            foreach (var x in query)
                Console.WriteLine(x);
Ev_Hyper, пора выбрасывать C# на помойку (много писанины) :
C++
1
2
3
4
5
6
7
8
9
void main() {
    import std.stdio, std.range;
    
    auto query = iota(2, 12)
        .map!(c => tuple(c ^^ 2 - 1, c ^^ 2 + 1, 2 * c));
 
    foreach (x; query)
        writefln("%4d%4d%4d", x[]);
}
http://ideone.com/XCFScc

Добавлено через 6 минут
Кстати, в C++ нет такой же удобной операции возведения в степень, как в D (стырили из Python'a):
C++
1
2
3
4
5
6
7
8
9
10
11
void main() {
    import std.stdio;
 
    writeln(2 ^^ 10);
 
    int a = 2;
 
    a ^^= 5;
 
    writeln(a);
}
Output1024
32


Вы понимаете, что сравнивать C# и D бесполезно, потому что Александреску в десять раз гениальнее, чем Хейлсберг.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
10.02.2015, 05:22
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Ну почему же? В D, если вы для целочисленного типа введёте букву или другой невменяемый символ, система исключений сразу выведет такой лог с ошибками
Следовательно Ваш пример тоже надо привести к такому же виду как это сделал Ev_Hyper, т.е. споймать и обработать некоректный ввод, что естесственно вложится уже не в одну строчку, а 3-4, и как следствие:
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Слишком много писанины, это свойственно энтерпрайз-языкам.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 05:37  [ТС]
Цитата Сообщение от castorsky Посмотреть сообщение
как это сделал Ev_Hyper
Ev_Hyper, это сделал потому, что ввод данных в C# устроен так, как функция gets(str) (жрёт всё подряд из потока ввода) из чистого C. Поэтому неудивительно, что там такие проверки. Уверен, что в D, даже с проверкой, кода будет намного меньше.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 06:10  [ТС]
Просто вы не понимаете элементарного.
Если у разработчика языка программирования горят глаза, значит, разрабатываемый язык будет отличным (иначе язык будет тухлым, как C# - у Хейлсберга не горят глаза):
Миниатюры
D vs C++  
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
10.02.2015, 06:14
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
pycture, специально для вас Ali Çehreli (автор одной из книг по D)
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
А в компиляторе, который выйдет 1 марта, можно будет писать так
это какойто понос из библиотечных функций, который можно устроить в любом языке. где ж хваленая мощь самого дэ? у меня используется только одна библиотечная функция - sin. все остальное выразительные средства самомого языка. и так ждем код который будет использовать только sin из стандарных библиотек
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 06:24  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
у меня используется только одна библиотечная функция - sin. все остальное выразительные средства самомого языка. и так ждем код который будет использовать только sin из стандарных библиотек
Для начала выполните два простых условия.

1) Ответьте на вопрос: "Что это за язык?":
Code
1
let sins = [for x in 0.0..pi/2.0/9.0..pi/2.0 -> sin x]
2) Напишите полный код программы.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
10.02.2015, 06:31
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Для начала выполните два простых условия. Ответьте на вопрос: "Что это за язык?"
Ev_Hyper, уже все сказал и даже показал.
Напишите полный код программы
это полный код части программы. иницилизация массива. больше (пока) ниче от дэ не требуется.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 06:44  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
это какойто понос из библиотечных функций, который можно устроить в любом языке.
И, кстати, здесь используется всего лишь одна библиотечная функция iota() для задания диапазона:
C++
1
2
3
4
5
6
7
8
import std.math;
import std.stdio;
import std.range;
 
void main()
{
    "%(%.15g\n%)".writefln(iota(0, PI/2, PI/2/9).map!sin);
}
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
10.02.2015, 06:48
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
всего лишь одна библиотечная функция iota() для задания диапазона
я ж сказал что только sin (т.к. почти все языки его реализуют библиотеками) можно. никаких iota не допускается.
что без библиотек дэ совсем ниче не может?

Добавлено через 1 минуту
подозреваю что .map это тоже функция
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 06:49  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
что без библиотек дэ совсем ниче не может?
Я попробую.

Добавлено через 1 минуту
Цитата Сообщение от pycture Посмотреть сообщение
подозреваю что .map это тоже функция
.map работает без подключения заголовочных файлов.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
10.02.2015, 07:02
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
.map работает без подключения заголовочных файлов
а writefln ?
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 07:09  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
а writefln ?
Это вывод массива на экран.

Добавлено через 5 минут
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
.map работает без подключения заголовочных файлов.
Хотя нет. Я ошибся это библиотечная функция из std.range. Но программу без функций я всё равно попробую сделать.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
10.02.2015, 07:37
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Это вывод массива на экран
это и так понятно. без import std.stdio работает?
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 07:40  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
это и так понятно. без import std.stdio работает?
А эта тухлятина на экран что-нибудь выводит?
Code
1
let sins = [for x in 0.0..pi/2.0/9.0..pi/2.0 -> sin x]
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
10.02.2015, 07:41
а то если что даже в паскале без импортов работает
Pascal
1
2
3
4
program ideone;
begin
    writeln('hello world');
end.
Добавлено через 1 минуту
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
А эта тухлятина на экран что-нибудь выводи
надо будет выведет. и двже без импортов. вы от решения не отвлекайтес. как там с созданием массива то?
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 07:42  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
а то если что даже в паскале без импортов работает
В Паскале вообще практически нет импортов. Может быть, ещё до ассемблера опуститесь?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Закрытая тема Создать тему
Опции темы

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru