Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
1

Сформулируйте, что такое разделитель операторов и где он ставится

05.07.2013, 08:59. Показов 4409. Ответов 44
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я интуитивно понимаю, в своих программах всегда ставлю, где надо, но словами написать не могу. А нужен полностью формализованный абзац, где и зачем ставится точка с запятой.
1
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.07.2013, 08:59
Ответы с готовыми решениями:

Сформулируйте, что такое разделитель операторов и где он ставится
Я интуитивно понимаю, в своих программах всегда ставлю, где надо, но словами написать не могу. А...

Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this
Добрый день . Помогите понять принцип работы перегрузки операторов. объясните пожалуйста в...

Разделитель в TextBox ставится не в назначенную позицию, а перед текстом
Ставлю "." или "/" эти знаки перепрыгивают вперед, ставишь ещё цифру то всё норм.

Что такое паттерны, где их применяют и где прочитать о них?
Насколько я понимаю, паттерны - это шаблон. Т.е. уже кем-то написанный код, который хорошо работает...

44
89 / 1 / 3
Регистрация: 04.07.2013
Сообщений: 282
05.07.2013, 11:46 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от taras atavin Посмотреть сообщение
И оставьте вы в покое циклы с альтернативами.
C++
1
a=2; b=c=d=e; f=c+44*355-e; z=(ds+dsfdsfa-er4*fdsa)*fgds+25/dfsa; v=4;
Расскажите, почему точка с запятой стоит именно на этих местах, а не на других и именно в таком количестве. Но при этом не используя это строчку ни целиком, ни по частям.
ёмаё и это всё!!! понаставили минусов, хотя я всё правильно сказал!!! кроме слова функции, и то для более лёгкого понятия . ну ты меня так и не понял. ; это для того чтобы компилятор видел что одна строчка не влияет на другие!!! и не выдавал билеберду!!!

с тут к примеру for(int i = 0; i < 2;i++) cout << i << endl; цикл будет распространятьсяна cout

Добавлено через 2 минуты
верните плюсики(
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
05.07.2013, 11:47 22
1) Читаем учебник
2) Читаем про точки следования
3) Читаем стандарт
4) Начинаем понимать что к чему
2
nexen
05.07.2013, 11:52
  #23

Не по теме:

Croessmah, о Боже, "точки следования"! Два месяца пытался вспомнить, как они называются. Внезапно, проблема разрешилась. Спасибо :)

0
Croessmah
05.07.2013, 11:59
  #24

Не по теме:

nexen, А так всегда - когда надо никогда не вспомнишь, а потом вдруг бац и всплыло знание :D
Как я на экзамене по математике формулу забыл, пришлось задом наперед все делать. Надо было видеть глаза препода, который это проверял :D а сказать то и нечего - результат правильный, но решение не знакомое. Пришлось объяснять что к чему и почему именно так, а не как положенно. Только из аудитории вышел и вспомнил формулу :D

2
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 12:08  [ТС] 25
Пойдёт так?
Разделитель операторов - символ ";" (точка с запятой), ставится между операторами, если ни один из них не возвращает операнд другого, но не между операндами одного оператора.

Добавлено через 5 минут
Цитата Сообщение от svk2140 Посмотреть сообщение
это для того чтобы компилятор видел что одна строчка не влияет на другие!!! и не выдавал билеберду!!!
Я как раз понимаю, для чего это нужно, но нельзя же в конце концов в спецификации языка ограничиваться фразой "Разделитель операторов подобен точке в конце предложения в тексте на русском языке", это не достаточно формально и может быть криво понято, если язык допускает
a←b←c←d←e
, или ещё какие не математические многооператорные выражения с кучей операций в каждом. Вот я и спросил чёткую формулировку, чтоб взять её за основу.
0
89 / 1 / 3
Регистрация: 04.07.2013
Сообщений: 282
05.07.2013, 12:35 26
ну и что тут такого что я объясняю понятнее, а не по программному? по-моему 1 способ лучше.
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 13:13  [ТС] 27
А то, что потом будет сложно объяснить, что такое функция и что такое цикл for. При этом где надо ставить разделитель, фигня про функцию так и не объясняет.

Добавлено через 2 минуты
Пойдёт так:
Цитата Сообщение от taras atavin Посмотреть сообщение
Разделитель операторов - символ ";" (точка с запятой), ставится между операторами, если ни один из них не возвращает операнд другого, но не между операндами одного оператора.
?

Добавлено через 2 минуты
О том, где она не ставится в альтернативе и в цикле for будет сказано отдельными предложениями.
0
89 / 1 / 3
Регистрация: 04.07.2013
Сообщений: 282
05.07.2013, 13:35 28
ПОЧЕМУ же сложно будет объяснять? цикл фор нужен для пересчёта тут и объяснять та нечего, даже если бы мы его называли функцией для пересчёта понятнее было бы.
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 13:39  [ТС] 29
Что во что он пересчитывает?
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
05.07.2013, 13:43 30
svk2140, Какой к черту пересчет?
Такой же цикл, как и остальные!
Если Вы привыкли использовать его только для пересчета чего-то, то это не значит что это его предназначение.
0
89 / 1 / 3
Регистрация: 04.07.2013
Сообщений: 282
05.07.2013, 13:45 31
так, вот только не надо говорить про меня, если вы даже не поняли. я имел ввиду именно for(int i = 0; i <x;i++) и как по моему он пересчитывает числа, и вообщем используется для пересчёта чего либо.
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
05.07.2013, 13:55 32
svk2140, Его можно смело использовать для проверки корректности ввода, для прохода списков, для проиведения множества каких-то действий, он во многих случаях намного удобнее того же while

Добавлено через 1 минуту
Да и что будет пересчитывать такой цикл?
C++
1
2
for(;;)
   //...
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 14:11  [ТС] 33
Цитата Сообщение от svk2140 Посмотреть сообщение
и как по моему он пересчитывает числа, и вообщем используется для пересчёта чего либо.
Какие числа во что пересчитывает? Дано число 3. Чему равен ответ? Функция пересчёта - это вот что:
C++
1
2
3
4
double f(double x)
{
 return регрессионное уравнение;
}
. А циклы этим не занимаются.

Добавлено через 3 минуты
И давайте вернёмся к теме.
0
89 / 1 / 3
Регистрация: 04.07.2013
Сообщений: 282
05.07.2013, 14:22 34
нет но он же пересчитывает 1 2 3 4 5 6 ... так пока ограничитель не сработает. Например делает чтото n количество раз, как бы "пересчёт"
0
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
05.07.2013, 14:26 35
svk2140, тогда уж "повтор", а не "перерасчет", но всё равно это не то.
Допустим, вы знаете, что for можно использовать как if?
C++
1
2
if (x == 1)
cout << x;
то же самое
C++
1
2
3
4
5
for(;x == 1;)
{
cout << x;
break;
}
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 15:06  [ТС] 36
Цитата Сообщение от svk2140 Посмотреть сообщение
нет но он же пересчитывает 1 2 3 4 5 6
Во что?

Добавлено через 1 минуту
Цитата Сообщение от nexen Посмотреть сообщение
if (x == 1)
cout << x;
то же самое
Код C++
1
2
3
4
5
for(;x == 1
{
cout << x;
break;
}
А это называется недообфускация алгоритма.
0
nexen
05.07.2013, 15:22
  #37

Не по теме:

taras atavin, пф, ну и ладно, что "недо-" :)
Кстати, я тут подумал, а

C++
1
for (;x==1;break;) cout<<x;
сработает? о_О

0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 15:39  [ТС] 38
Цитата Сообщение от nexen Посмотреть сообщение
taras atavin, пф, ну и ладно, что "недо-"
Именно недо, так как прочитать такой исходник ни для кого не проблема.
0
OhMyGodSoLong
05.07.2013, 21:05
  #39

Не по теме:

Раздули тут спор из-за ничего. Точки с запятой нужны, потому что синтаксис языка использует точку с запятой в качестве разделителя. Питон и Хаскелл вон одними переводами строки и пробелами могут обходиться. Какой-нибудь Пролог или там Смолток точками разделяют фразы.

Цитата Сообщение от AntonChik Посмотреть сообщение
OhMyGodSoLong, это не "полностью формализованный абзац")
Может мне и книгу за него написать? Не, спасибо, мне пока своей хватает.

Тем более, описывать грамматику языка псевдоформальным естественным языком...

0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
05.07.2013, 21:21 40
taras atavin,
ты еще про один разделитель забыл ,
вот например можно записать так
C++
1
2
int x;
x=5,x++,++x,x++,printf("%d",x);
и все сработает
0
05.07.2013, 21:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.07.2013, 21:21
Помогаю со студенческими работами здесь

Разделитель операторов в Basic
Разделителем операторов является двоеточие, которое обязательно ставится не менее, чем одно между...

Что такое криптопровайдер и где он обитает
Что-то я совсем запутался как я понял криптопровайдер реализует алгоритмы шифрования данных и...

Что такое программа Q&r, и где ее взять?
Подскажите, пожалуйста, Что за программ Q&amp;R?

Что такое и где используется stdClass?
Что такое и где используется stdClass?


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru