Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.70/254: Рейтинг темы: голосов - 254, средняя оценка - 4.70
 Аватар для 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Закрытая тема Создать тему
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru