Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562

Как вам кусок проги?

21.06.2013, 08:02. Показов 6991. Ответов 122
Метки нет (Все метки)

Прога

Перевод
C++
1
2
3
4
for (И=0; И<=Н; И++)
{
 М[И]*=2;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.06.2013, 08:02
Ответы с готовыми решениями:

переписать кусок проги с cin/cout на printf/scanf
переписать кусок проги с cin/cout на printf/scanf очень срочно, заранее спасибо char snn; int y1=1990, y2=1999; ...

Как отследить из проги на Си завершение другой проги
Есть две программы, одна написана не мной и исходников нет (main), вторую я пытаюсь написать сам для реализации ряда дополнительных...

Установил фотошоп, вместо проги установились другие проги (игры онлайн,браузеры,рекламы и т.д.)
Здравствуйте, уважаемые программисты или форумчане! Скачал и установил с одного сайта фотошоп, а во время установки начали устанавливаться...

122
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
27.06.2013, 09:52  [ТС]
Цитата Сообщение от Nameless One Посмотреть сообщение
Операция «+» сама по себе ничего не печатает, она только вычисляет.
Это от неё более ожидаемо, но в викепедии написано, что эта строчка печатает.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
27.06.2013, 09:55
Цитата Сообщение от taras atavin Посмотреть сообщение
Ага, тильду, которая вообще ничего ни кому не говорит.
Цитата Сообщение от taras atavin Посмотреть сообщение
А может вертикальную черту, уже задействованную в паре со стрелкой в операторе сдвига?
О да, вертикальная черта со стрелкой много о чем говорит неподготовленному пользователю.

И при этом нельзя для таких целей пользоваться запятой, так как она используется в качестве разделителя операндов.
Каких операндов? В вызове функции, что ли? Приведи пример.

Добавлено через 1 минуту
Цитата Сообщение от taras atavin Посмотреть сообщение
Это от неё более ожидаемо, но в викепедии написано, что эта строчка печатает.
Не читай русскоязычную википедию. Объяснение я уже привел выше.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
27.06.2013, 10:07  [ТС]
Цитата Сообщение от Nameless One Посмотреть сообщение
О да, вертикальная черта со стрелкой много о чем говорит неподготовленному пользователю.
Ну совсем не подготовленный пользователь добрался уже до сдвигов. Но стрелка влево и черта справа значит тяни влево, стрелка вправо и черта слева значит тяни вправо, стрелка влево и черта с лева значит толкай влево, стрелка вправо и черта в право значит толкай в право. Всё вполне логично, в отличие от тильды, или излишней многозначности запятой и точки с запятой.

Добавлено через 9 минут
Цитата Сообщение от Nameless One Посмотреть сообщение
Каких операндов? В вызове функции, что ли? Приведи пример.
А когда это у функций появились операнды? Пример. А ещё она разделяет фактические параметры
m←max(a,i)
, где a - массив, i - переменная, в которую надо поместить индекс максимума, m - переменная, в которую надо поместить максимум. А ещё она разделяет однотипные переменные в их декларации:
Code
1
:= variable x,y is signed long real
. Значений у запятой и так достаточно. Кроме того, из-за дефицита выразительных символов и так уже задействовано даже не выразительное треугольное троеточие.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
27.06.2013, 10:39
Цитата Сообщение от taras atavin Посмотреть сообщение
Ну как распарсь
series (i←0; j←0; till(i<0); i←i.next; j←j.next)
C
1
2
int m, n, k;
for (int i = 0, j = 0; i < n; ++i, ++j) {}
Запятые, точки с запятой - все однозначно.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
27.06.2013, 10:44  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
Запятые, точки с запятой - все однозначно.
Ты забываешь, что на сях запятая не может разделять, например, индексы массива из-за того, что является точкой следования операторов, то есть a[fact(i), fact(i)] значит адресовать fact(i)-й элемент массива и вычислить fact(j), сохранив только побочные эффекты такого вычисления, а у меня запятая, разделяющая две величины в подстрочном индексе, разделяет именно два индекса массива.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
27.06.2013, 10:47
Цитата Сообщение от taras atavin Посмотреть сообщение
запятая, разделяющая две величины в подстрочном индексе, разделяет именно два индекса массива
Пусть разделяет. Такой смысл она приобретает в конкретном контексте: подстрочный индекс. В чем неоднозначность?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
27.06.2013, 10:59  [ТС]
Проблема в том, что не стоит злоупотреблять контекстами. На сях запятая означает разделитель параметров только в круглых скобках и точку следования в остальных случаях, а у меня уже хватает значений.
series (p1←new t1, 24, p2←new t2, 48, f(p1), f(p2); p1>null; p1←p1.next, p2←p2.previus)

Добавлено через 1 минуту
Ну как разбери на
series
(
p1←new t1, 24
p2←new t2, 48
f(p1)
f(p2)
p1>null
p1←p1.next
p2←p2.previus
)
Добавлено через 1 минуту
Дело ведь не только в индексном операторе, у меня предусмотрены и другие операторы с двумя правыми операндами, разделяемыми запятыми.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
27.06.2013, 11:03
Цитата Сообщение от taras atavin Посмотреть сообщение
p1←new t1, 24
Сюда так и просятся скобки. Но не монстры, зачем-то добавленные и снизу и сверху в первом посте, а обычные скобки из множества ([{<>}]) на выбор.

На сях тоже можно в for() понаписать много хлама. Но это не значит, что так делать стоит.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
27.06.2013, 11:17  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
Сюда так и просятся скобки.
Для сходства с функцией? Точка с запятой отлично отделит последний операнд одного оператора от левого операнда следующего оператора. Так зачем же таскать в каждом таком операторе скобки? Горизонтальные скобки применяются только в цикле со счётчиком/иттератором, а обычные то придётся лепить в каждом
p←new <type>, <size>
, или
p←new p, <type>, <size>
, не зависимо от того, валяется ли он в заголовке series, или отдельно. И набирать вручную, а горизонтальные к series подставятся автоматически.

Добавлено через 4 минуты
У меня, как на бейсике, точка с запятой (вместо тамошнего двоеточия) не обязательна, если операторы разделены помимо неё, например, символом перевода строки, или горизонтальными фигурными скобками, но когда они просто подряд, то точка с запятой ставится.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
27.06.2013, 12:28
Цитата Сообщение от taras atavin Посмотреть сообщение
А когда это у функций появились операнды? Пример. А ещё она разделяет фактические параметры
m←max(a,i)
, где a - массив, i - переменная, в которую надо поместить индекс максимума, m - переменная, в которую надо поместить максимум. А ещё она разделяет однотипные переменные в их декларации:
Code
1
:= variable x,y is signed long real
. Значений у запятой и так достаточно. Кроме того, из-за дефицита выразительных символов и так уже задействовано даже не выразительное треугольное троеточие.
Ой, да ладно, и в чем проблема? Никакой «неоднозначности» у запятой не появится, если она еще и будет разделять выражения в циклах. Напомню, в C/C++ и еще куче языков в цикле for она именно такую роль и выполняет, а также встречается в вызовах функций, перечислениях элементов при инициализации массивов и т.д. И это если еще забыть, что в C/C++ запятая — это самостоятельный оператор.

И я ее вижу, какие могут возникнуть трудности при разборе такого выражения.
0
27.06.2013, 23:11

Не по теме:

Цитата Сообщение от taras atavin Посмотреть сообщение
Функция - подпрограмма то есть программа на языке, являющаяся частью другой программы на том же языке, даже если она предопределена, это всего лишь означает, что её имя и поведение заранее прописаны в стандарте языка, но её исходный текст всё равно должен из чего то состоять.
Исходный текст и состоит. Или из функций Scheme, или из функций и всего остального инструментария того языка, который используется для реализации Scheme (и так дальше до машинных кодов). Что там используется внутри функция языка реализации — это уже проблемы языка реализации. В Scheme программы состоят исключительно из форм (которые бывают или вызовами функций, или специальными формами).

0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
04.07.2013, 14:57  [ТС]
Цитата Сообщение от Nameless One Посмотреть сообщение
Ой, да ладно, и в чем проблема? Никакой «неоднозначности» у запятой не появится, если она еще и будет разделять выражения в циклах. Напомню, в C/C++ и еще куче языков в цикле for она именно такую роль и выполняет, а также
А ничего, что не конкретно в цикле for, но и в
C++
1
a[i,j]
и вообще всегда, за исключением единственного случая - параметров функции? И что именно из-за этого не возможно разрешить перегрузку [] на произвольное количество операндов?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
04.07.2013, 15:00
taras atavin, до сих пор не вижу неоднозначностей. Напиши грамматику языка (фрагменты с запятой) в BNF и ткни меня носом, где неоднозначность.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
04.07.2013, 15:50  [ТС]
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Исходный текст и состоит.
Исходный текст функции состоит из функций, их исходный текст снова из функций, их исходный текст снова из функций и так до бесконечности. Не задумывался, почему невозможна рекурсия данных вида
C++
1
2
3
4
5
class A
{
 A a;
 ...
};
?

Добавлено через 18 минут
Если обработчик исключения возвращает значение exit, или FatalError, то программа завершается и управление передаётся в вызывающий процесс кодом возврата зависящим от комбинации значения обработчики и целевой платформы. Если обработчик исключения возвращает значение extend, то возврат происходит она следующей инструкцию после. Если обработчик исключений вернул значение skip, то возврат происходит сразу за защищённый оператором try составной оператор. Если же обработчик исключений вернул функцию up целого беззнакового числа, то возврат происходит в следующую операцию за вызовом подпрограммы, в котором возникло исключение и на столько уровней вызовов выше, каково значение параметра функции up. Например, return up(1) означает возврат в подпрограмму, непосредственно вызвавшую ту подпрограмму, в которой непосредственно возникло исключение, а return up(2) означает возврат в ту подпрограмму, в которой непосредственно вызвана подпрограмма, непосредственно вызвавшая ту подпрограмму, в которой возникло исключение. Инструкция return up(0) эквивалентна return skip. Если исключение брошено оператором throw, то операцией, бросившей исключение, считается целиком следующая инструкция.
Существует ещё один тип исключения, при броске которого оператором throw операцией, бросившей исключение, считается последний предшествующий этому throw оператор new. Тип этого исключения означает невозможность выделить динамическую память в указанном количестве.

Добавлено через 7 минут
Цитата Сообщение от Nameless One Посмотреть сообщение
taras atavin, до сих пор не вижу неоднозначностей. Напиши грамматику языка (фрагменты с запятой) в BNF и ткни меня носом, где неоднозначность.
Code
1
p+new t, f(2)
.Если запятая означает точку следования и возврат левого операнда в качестве значения всей составной инструкции, то отделяет ли запятая new t от f(2), или разделяет операнды t и f(2) оператора new? Кроме того, проблема вообще не в неоднозначности, её можно решить, а в излишней многозначности из за которых будет трудно запомнить все возможные семантики внешне похожих фрагментов и все запутанные правила, определяющие, когда один и тот же фрагмент принимает какое значение и в зависимости от какого контекста. Поэтому запятая имеет ровно одно значение - разделитель операндов/параметров.

Добавлено через 2 минуты
Точка имеет два значения: разделитель целой и дробной части и разделитель имён структуры/объекта и его члена. Ну так эти значения визуально достаточно резко различны, не возможно перепутать 2.4 c rectangle.center.x. Точка с запятой тоже имеет два значения: разделитель операторов, набранных в одной строке и разделитель деклараций набранных в одной строке фактических параметров, чьи типы независимы.

Добавлено через 4 минуты
Но во-первых эти значения ещё и достаточно близки, а во-вторых их тоже не возможно перепутать. А для того, чтоб разрулить точку следования от разделителя операндов/параметров надо подумать. И не только мне при разработке языка, но и каждому, кто будет на нём писать и читать, каждый раз, как встретится запятая.

Добавлено через 3 минуты
Закон Мёрфи:
Всё, что может быть понято не правильно, именно так и будет понято
. Так вот, как бы мы не разрулили эти два значения запятой, по закону Мёрфи они будут перепутаны.

Добавлено через 7 минут
Избежать этого можно только тремя способами: отказ от многозначности, постулирование того, что разделителем параметров запятая становится только списке параметров подпрограммы, а в остальных случаях разделяет операторы и постулирование того, что разделителем параметров запятая становится только в скобках, а в остальных случаях разделяет операторы. Скобки наблюдаются в обоих случаях, а индексный оператор - не подпрограмма. Вид скобок - не достаточное различие, особенно с учётом способности круглых скобок растягиваться на высоту многоэтажной дроби.

Добавлено через 3 минуты
А аналогичные конструкции с необходимостью разделить операторы будут возникать не только в заголовке for.

Добавлено через 2 минуты
И чтоб потом ни кто не путался, я вынужден пойти на единообразие синтаксиса составного оператора и разделителя операторов внутри стоки.
0
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
04.07.2013, 22:16
Цитата Сообщение от taras atavin Посмотреть сообщение
Исходный текст функции состоит из функций, их исходный текст снова из функций, их исходный текст снова из функций и так до бесконечности. Не задумывался, почему невозможна рекурсия данных
Ну да, бесконечная регрессия. Разрывается волевым усилием: есть функции, которые состоят из непосредственно исполнимого машинного кода.

Не по теме:

А вы не задумывались, что несколько слов "функция" относятся к различным функциям?

0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 07:18  [ТС]
Функция не может состоять из исполняемого кода, иначе она не будет фрагментом программы на языке высокого уровня. И регрессия здесь вообще ни причём. Своим постом ты показал, что вообще ничего не знаешь по предмету.
0
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
05.07.2013, 10:06
Да, конечно, русскоязычный раздел Википедии — авторитетный источник информации. Всё, что там написано, — истина; всё, чего там нет, — ложь.

А вы постоянно показываете, что понятия не имеете, что такое рантайм и аксиомы и зачем они нужны.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 15:18  [ТС]
Во-первых викепедия как минимум отражает общепринятую точку зрения. А во-вторых регрессию я изучал в курсе высшей математики и статью проверил.

Добавлено через 3 минуты
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
и аксиомы и зачем они нужны.
Аксиома - это тезис, не требующий доказательства, обычно используется для определения геометрии на исходных предпосылках. Рантайм - это время исполнения, то есть когда программа уже запущена. Где я показал, что не знаю этих понятий? А вот ты как раз не знаешь, раз на пустом месте делаешь такие выводы.

Добавлено через 1 минуту
Да, кстати, когда речь о русском термине, иноязычные ресурсы вообще не стоит принимать во внимание.
0
05.07.2013, 15:51

Не по теме:

Тарас Атавин, читал твою тему, дошел только к третьей странице. По теме. Этот кусок кода это синтаксис нового ЯП? Если он позволит:
- более чем остальные ЯП автоматизировать процесс написания кода
- выражать код более наглядно, при беглом восприятии
То это не бред сумасшедшего, и этот ЯП завоюет всемирную популярность.
---
Человеку все когда то надоедает, поэтому так популярны скины для программ. имхо, часть тобою найденного кода это скин, для

C++
1
2
3
4
for (И=0; И<=Н; И++)
{
 М[И]*=2;
}

0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 16:20  [ТС]

Не по теме:

Придуманного, а не найденного

. Рапиристам почему то кажется проще присваивать не левому операнду, а правому. Так вот, в --z валидно:
a←c*4+6*d; e*8-12*f→b
, причём, присваивание происходит переменным a и b, а c*4+6*d и e*8-12*f - выражения для вычисления присваиваемых значений. b присваивается в стиле рапиры, a - как на всех остальных. ++ надо сначала изучить, стрелка и над ней "+1" - тот же инкремент (в первом посте постфиксный), но я надеюсь, что более простой для расшифровки без учебника и преподавателя. Вот представь: сел ты рядом с постановщиком, который не знает c++ и открыл прогу, там [CPP]i++/CPP], зато раньше писал на паскале, делфях, или фортране. Врядли он сразу поймёт, что ты имел ввиду.
PureBasic
1
LET y=SIN(x)
я сам понял интуитивно, не зная ни одного яп, но для
C++
1
i++
пришлось читать толкование оператора. Бейсик программу в 4 строки я прочитал только листинг, расшифровал семантику, сразу сел за машину и написал прогу также в 4 строки, но чуть другую. Совпадали ровно две: ввод икса и вывод игрека. Запустил и она пошла. С плюсами так не получилось, первую прогу по книге написал через 5 месяцев.

Добавлено через 5 минут
А на бейсике 1 пример + клава с контекстно зависимой ракладкой и подписанными на ней операторами и в первую же минуту вполне фурычащая своя прога, а через неделю смутное представление о семантике и синтаксисе всех операторов. В течении всего первого месяца изучения языка только на самописных тестовых прогах не было ни одного тупика, через месяц я знал этот язык.

Добавлено через 2 минуты
Мой идеал - язык, простой, как бейсик, но гибкий и мощный, как c++. --z - первая попытка скрестить оба с рапирой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.07.2013, 16:20

Составить программу которая при введеном количестве лет выдает сообщени вам n лет,вам n год или года
Составить программу которая при введеном количестве лет выдает сообщение вам n лет,вам n год или года

Сколько денег Вам надо добавить или сколько Вам должны дать сдачи
В магазине Вам надо заплатить N рублей. Вы подаете продавцу m купюр по k рублей. Определите сколько денег Вам надо добавить или сколько Вам...

Как вам?
xmtX56db9js&amp;feature ЗЫ. а я дурак, сутками за компом сижу, php да javascript изучаю, да прочую компьютерную хрень...)

Как понять кусок кода и как лучше пользоваться документацией ?
Здравствуйте! Помогите понять кусок кода, пожалуйста с привязкой к msdn (как ей правильно пользоваться) String lines =...

Игра на silverlight - как можно раскрутить и как вам нравится?
Привет всем. Недавно я выложил в сеть свою новую игру: вот эту У меня два вопроса: 1) Насколько сильверлайт по вашему ещё...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru