Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Закрытая тема Создать тему
Новые блоги и статьи
ИИ и человечность
kumehtar 21.07.2026
Забавно, что общаясь с ИИ, я замечаю, насколько он высказывается умно, и насколько верит в людей. Он умеет прощать. Он знает как отвечать не обесценивая опыт других людей, даже если сам не верит. Он. . .
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного. 1. Почему показания термометра заряжены целью? Цель заложена в самом. . .
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ По ссылке 403. Не очень информативно такую ссылку постить. Запись от Usaga размещена Сегодня в 06:46 . . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru