Команды в программе отделяются друг от друга точкой с запятой да или нет

Почему после каждого кода на языке программирование C мы должны писать точку с запятой ( ; )? Я знаю, что это для того, чтобы код правильно работал, но как это работает?

Отслеживать
6,641 6 6 золотых знаков 29 29 серебряных знаков 52 52 бронзовых знака
задан 3 мар 2021 в 18:03
NO NAME I SAID NO NAME I SAID
35 2 2 бронзовых знака

Ну как-то надо же отделять друг от друга коды. Можно было бы и другой значок придумать, например «᧟», но точка с заяпятой показалась создателям языка подходящей.

3 мар 2021 в 18:07

Ну вот так сложилось исторически:) Можно было бы без этого, но как бы вы тогда понимали окончание команды? В Python, например, точки с запятой не обязательны

3 мар 2021 в 18:09
апочемупослекаждогослованарусскоммыдолжныставитьпробел?
3 мар 2021 в 19:09

А зачем мы на русском языке в конце каждого предложения ставим знак, завершающий предложение? Ответ прост: по правилам языка каждое предложение должно быть завершено одним из предназначенных для этого знаков. На заголовки не кивать, они не настоящие предложения. На бейсике инструкция завершается в конце строки, поэтому там двоеточие не нужно, но если в одной строке несколько инструкций, то их надо разделить двоеточием.

3. Как прочитать текстовый файл (TXT) в 1С

9 ноя 2022 в 6:39

Но си – не бейсик, он позволяет всю программу в один столбец написать. И завершающий знак надо поставить даже в том случае, если конец инструкции или декларации попадает на конец строки. Но заголовки выделены точно также: в них точка с запятой не ставится. И именно этим заголовок функции отличается от её предварительной декларации: в предварительной декларации точка с запятой есть, а в заголовке её нет.

9 ноя 2022 в 6:41

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

На самом деле ничего волшебного или особенного в точке с запятой нет. Она ни чем не лучше и не хуже любого другого символа в исходном коде.

Другое дело, что конкретные правила употребления того или иного символа определяются грамматикой языка. Грамматика языка C устроена так, что требует использования точки с запятой в конце объявления (англ. declaration), в конце объявления структуры (англ. struct declaration), в конце expression statement, в конце jump statement, а также в конце do while и внутри for :

Читайте также:
Как работать в программе sketchbook

(6.7) declaration: declaration-specifiers init-declarator-listopt ; (6.7.2.1) struct-declaration: specifier-qualifier-list struct-declarator-list ; (6.8.3) expression-statement: expressionopt ; (6.8.5) iteration-statement: while ( expression ) statement do statement while ( expression ) ; for ( expressionopt ; expressionopt ; expressionopt ) statement for ( declaration expressionopt ; expressionopt ) statement (6.8.6) jump-statement: goto identifier ; continue ; break ; return expressionopt ;

— Отрывок из ISO/IEC 9899:1999 Appendix A.

Использование точки с запятой не является каким-то обязательным требованием. Главное, чтобы грамматика языка не была неоднозначной (англ. ambiguous).

Пунктуация в ссп (в сложносочиненных предложениях)

Один из классических примеров неоднозначной конструкции в языках программирования — это «висячий else »:

/* К какому if относится этот else? */ if (a) if (b) s1; else s2;

Для решения этой неоднозначности можно ввести ключевое слово fi (так сделано в Bash); дополнительные begin и end (Pascal); или требовать, чтобы else относился к ближайшему if ‡ — так сделано в C.

Точно также точка с запятой просто является инструментом для решения различных неоднозначностей в языке C, которые проявились бы, если бы этой точки с запятой не было.

† Во многих других языках программирования точка с запятой, хоть и входит в грамматику, но не является обязательной для использования и может быть опущена в некоторых контекстах. В Go, например, лексический анализатор в большинстве случаев сам вставляет точку с запятой в конце каждой строки. (Кстати, это одна из причин, почему в Go нельзя переносить фигурную скобку < на новую строку.)

‡ Этого будет достаточно в плане семантики, но чтобы избавится от неоднозначности грамматики потребуются дополнительные < и >.

Источник: ru.stackoverflow.com

Команды в программе отделяются друг от друга точкой с запятой да или нет

Войдите как ученик, чтобы получить доступ к материалам школы

Внутренний язык программирования 1С 8.3 для начинающих программистов: основные правила языка 1С

Автор уроков и преподаватель школы: Владимир Милькин

Продолжаем эксперименты

Задание №3. Добейтесь того, чтобы компьютер при запуске вашей программы вывел следующий отрывок из замечательного стихотворения Александра Пушкина «Зимний вечер»:

Буря мглою небо кроет,
Вихри снежные крутя;
То, как зверь, она завоет,
То заплачет, как дитя.

Читайте также:
Какие есть программы кроме торрента

Обратите внимание, что стихотворение нужно вывести в четыре строки.

Попробуйте его выполнить сами без подсказки и лишь при необходимости воспользуйтесь инструкцией ниже:

Показать инструкцию

  • Зайдите в уже созданную на прошлом занятии базу «Учебная» в режиме конфигуратор (обращаю ваше внимание на то, что заново создавать базу не нужно).
  • Так же как на прошлом занятии откройте модуль управляемого приложения.
  • Там вы обнаружите свой старый код:

Сообщить(«Привет, Мир!»);
Сообщить(«Буря мглою небо кроет,»); Сообщить(«Вихри снежные крутя;»); Сообщить(«То, как зверь, она завоет,»); Сообщить(«То заплачет, как дитя.»);

Всё получилось? Отлично.

Первые наблюдения о языке

А теперь давайте внимательно присмотримся к написанной программе:

Показать код

Сообщить(«Буря мглою небо кроет,»); Сообщить(«Вихри снежные крутя;»); Сообщить(«То, как зверь, она завоет,»); Сообщить(«То заплачет, как дитя.»);

Вроде бы обычный текст. Но на самом деле он написан по особым правилам, которые делают его понятным для компьютера.

Компьютер считывает этот текст (ещё говорят «код программы») строку за строкой и выполняет задуманные программистом команды.

Что мы можем сказать об этом тексте?

  1. Он разделен на строчки.
  2. Каждая строчка содержит отдельную команду, которая называется «Сообщить» и заканчивается точкой с запятой.
  3. Каждая команда «Сообщить» имеет рядом с собой некий текст, заключенный в круглые скобки — этот текст называется параметром команды.
  4. Текст внутри круглых скобок заключен в двойные кавычки, как мы обычно поступаем при цитатах.

На самом деле в этих четырёх наблюдениях, замеченных нами лишь по небольшому фрагменту программы, уже содержатся правила внутреннего языка программирования 1С 8.3. Но сформулируем мы их позже, а пока просто обратите внимание на эти особенности текста.

Коверкаем нашу программу

Задание №4. Сделайте 6 вариантов изменения нашего кода таким образом, чтобы каждый из них отличался хоть чем-нибудь от других, но все они выводили одинаковый результат — те самые 4 строчки из Пушкина.

Придумывайте, изменяйте. И тут же пробуйте запустить. Если программа после вашего изменения запустилась и вывела стихотворение — значит ваш вариант подходит. Если появляется сообщение об ошибке — значит так менять текст нельзя, потому что это противоречит правилам внутреннего языка 1С 8.3.

Первые два варианта я вам подскажу:

Сообщить («Буря мглою небо кроет,»); Сообщить(«Вихри снежные крутя;»); Сообщить(«То, как зверь, она завоет,»); Сообщить(«То заплачет, как дитя.»);
Сообщить («Буря мглою небо кроет,») ; Сообщить(«Вихри снежные крутя;»);Сообщить(«То, как зверь, она завоет,»); Сообщить(«То заплачет, как дитя.»);

Читайте также:
Программа nvidia corporation для чего она нужна

Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся

Войдите на сайт как ученик

Авторизуйтесь, чтобы получить доступ ко всем материалам школы

А вы обратили внимание на пояснения (зелёным цветом), которые я использовал в эталонном решении? Такие пояснения (по-другому комментарии) могут встречаться где угодно в коде. Комментарий начинается с двух косых черт и продолжается до конца строки. Компьютер комментариев не читает — они предназначены для человека, чтобы легче и быстрее разбираться в написанной программе. Наличие или отсутствие комментариев никак не влияет на результат выполнения программы.

Правила языка 1С

Итак, из наших экспериментов мы можем сделать следующие выводы о правилах языка 1С 8.3:

  • Код программы состоит из команд для компьютера (пока мы познакомились только с командой Сообщить).
  • Все команды языка отделяются друг от друга точкой с запятой.
  • Чтобы отдать компьютеру команду на выполнение — нужно передать некий параметр (текст в круглых скобках рядом с командой), чтобы команда знала, что мы от неё хотим.
  • Одна команда (вместе с параметром и точкой с запятой) может занимать сразу несколько строчек в редакторе.
  • Компьютер выполняет команды последовательно — одну за другой.

Проверьте себя

Задание №5. Ответьте на следующие вопросы по уже изученным правилам внутреннего языка 1С 8.3:

    Сколько команд содержится в приведенном ниже фрагменте кода:

Сообщить(«Буря мглою небо кроет,»); Сообщить(«Вихри снежные крутя;»); Сообщить(«То, как зверь, она завоет,»); Сообщить(«То заплачет, как дитя.»);

Не торопитесь сразу смотреть в ответы. Тщательно подумайте, а затем проверьте себя при помощи ответов ниже.

  1. Четыре команды. Мы четыре раза просим компьютер вывести ту или иную строку из стиха.
  2. «Вихри снежные крутя;». Параметром команды является всё то, что заключено в круглые скобки сразу после имени команды.
  3. Да, можно. Главное, чтобы между командами была точка с запятой. Это разделитель для компьютера. На строчки мы их разбиваем для «красоты», чтобы человеку проще было читать.
  4. Командой является не только её имя, но и параметр вместе с точкой запятой в самом конце:

Сообщить(«То, как зверь, она завоет,»);
Сообщить(«То заплачет, как дитя.»); Сообщить(«То, как зверь, она завоет,»); Сообщить(«Вихри снежные крутя;»); Сообщить(«Буря мглою небо кроет,»);

Источник: helpme1s.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru