Аватар для 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Закрытая тема Создать тему
Опции темы

Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru