Показать полную графическую версию : ,можно ли на паскале создавать простые программки
MANKSTAR
02-09-2013, 14:54
Ребят,помогите!Скажите,можно ли на паскале создавать простые программки?
Можно. И не простые — тоже.
Dreamer_UFA
02-09-2013, 15:32
А почему тема в C/C++ а речь про паскаль ?
[PASCAL]
program Hello_World;
Begin
Writeln('Hello World!!!');
end.
[BASIC]
10 PRINT "Hello World!"
20 GOTO 10
XPEHOMETP
05-09-2013, 12:37
[BASIC]
10 PRINT "Hello World!"
20 GOTO 10 »
Программы с бесконечным зацикливанием не кошерны! ;)
program Hello_World;
Begin
Writeln('Hello World!!!');
end. »
Это слишком сложная программа. Простая:
begin
end.
И главное как лаконично! Не то что на этом хваленом C++:
int main()
{
return 0;
}
Tonny_Bennet
05-09-2013, 14:51
Программы с бесконечным зацикливанием не кошерны! »
использование goto не кошерно... ;)
Tonny_Bennet, я конечно не знаток бейсика, но там вроде бы кроме goto и не было то ничего. Само собой, я говорю о старых реализациях бейсика, а не о VB.
AMDBulldozer
05-09-2013, 16:50
И главное как лаконично! Не то что на этом хваленом C++: »
Программа на С (равно как и на С++) будет еще более лаконична:
main(){}
AMDBulldozer, такой вариант конечно работает, но "warning: ISO C++ forbids declaration of `main' with no type". "Не кошерно" как то.
AMDBulldozer
05-09-2013, 17:46
torauma, пользуйтесь нормальным ANSI-совместимым компилятором, не будет предупреждений. Например Intel'овским.
Grabber2006
05-09-2013, 22:13
Программа на С (равно как и на С++) будет еще более лаконична: »
На C++ немного сложнее:
int main (int nNumberofArgs, char* pzArgs[])
{
return 0;
}
Поэтому C++ компилятор и ругается на чисто сишное main().
AMDBulldozer
06-09-2013, 03:59
Поэтому C++ компилятор и ругается на чисто сишное main(). »
Повторяю еще раз: смотря какой компилятор. Сохраните текст в файл и выполните команду "g++ test.cpp" без каких-либо дополнительных ключей - никаких предупреждений не получите. Можете заменить g++ на icc, результат будет тот же самый.
"g++ test.cpp" »
Ну если без -Wall запускать, то конечно же не будет предупреждений
-Wall
This enables all the warnings about constructions that some users consider questionable, and that are easy to avoid (or modify to prevent the warning), even in conjunction with macros. This also enables some language-specific warnings described in C ++ Dialect Options and Objective-C and Objective-C ++ Dialect Options.
-Wall turns on the following warning flags:
-Waddress -Warray-bounds (only with -O2) -Wc++0x-compat -Wchar-subscripts -Wimplicit-int -Wimplicit-function-declaration -Wcomment -Wformat -Wmain (only for C/ObjC and unless -ffreestanding) -Wmissing-braces -Wnonnull -Wparentheses -Wpointer-sign -Wreorder -Wreturn-type -Wsequence-point -Wsign-compare (only in C ++ ) -Wstrict-aliasing -Wstrict-overflow=1 -Wswitch -Wtrigraphs -Wuninitialized -Wunknown-pragmas -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wvolatile-register-var
Note that some warning flags are not implied by -Wall. Some of them warn about constructions that users generally do not consider questionable, but which occasionally you might wish to check for; others warn about constructions that are necessary or hard to avoid in some cases, and there is no simple way to modify the code to suppress the warning. Some of them are enabled by -Wextra but many of them must be enabled individually.
# g++ -Wall -ansi test.cpp -o test.run
test.cpp:1: warning: ISO C++ forbids declaration of ‘main’ with no type
Вот, что по этому поводу написано в ISO/IEC 9899:1999
5.1.2.2.1 Program startup
1 The function called at program startup is named main. The implementation declares no
prototype for this function. It shall be defined with a return type of int and with no
parameters:
int main(void) { /* ... */ }
or with two parameters (referred to here as argc and argv, though any names may be
used, as they are local to the function in which they are declared):
int main(int argc, char *argv[]) { /* ... */ }
or equivalent;9) or in some other implementation-defined manner.
А вот ISO/IEC 9899:2011 пункт 3.6.1.2
An implementation shall not predefine the main function. This function shall not be overloaded. It shall
have a return type of type int, but otherwise its type is implementation-defined. All implementations shall
allow both of the following definitions of main:
int main() { /* ... */ }
and
int main(int argc, char* argv[]) { /* ... */ }
...
XPEHOMETP
06-09-2013, 10:19
Да! Но никто не ответил по существу, если не считать лаконичного ответа Iska. Вопрос явно от новичка в программировании. Фишка в том, что Паскаль как раз для новичков очень подходит, ибо и был создан Виртом как своего рода учебный язык. И как раз именно для Паскаля в сети полно методических рекомендаций, на русском языке, написанных без формализмов вроде форм Бэкуса — Наура, и где все изложено вполне человеческим языком. Понятным, скажем, любому студенту. Ни один другой язык программирования столь доступным и в то же время строгим изложением принципов работы с ним.
И не надо мне совать под нос QBasic. Проще. Но все, что я видел на русском, неизбежно сваливается в "грязное программирование". А на английских сайтах фанатов есть очень хорошие учебные материалы.
AMDBulldozer
06-09-2013, 10:48
torauma, я поэтому и написал "без дополнительных ключей". Если нужно соответствие вызова main стандарту ISO (в отличие от ANSI C), придется добавить еще 3 буквы к тексту программы: "int main(){}". Всё равно не слишком длинно и явно короче, чем у Вас, правда?
Но никто не ответил по существу, если не считать лаконичного ответа Iska »
Человек спрашивает можно ли создавать программы на языке программирования. Что тут еще ответить можно?
Вопрос явно от новичка в программировании. »
ИМХО: скорее от тролля. Даже от новичков таких вопросов мне еще видеть не доводилось.
"int main(){}"
Согласен. Подзабыл я что по стандарту "return 0" в конце программы необязательно указывать явно.
Если нужно соответствие вызова main стандарту ISO (в отличие от ANSI C)
Мы же и говорим о С++, стандартом которого является ISO/IEC 9899, а не ANSI C. C и C++ - разные языки и не надо их смешивать.
Хотя тут получилась довольно интересная дискуссия, но как правильно заметил XPEHOMETP, мы оффтоп устроили. Так что предлагаю завязывать пока модераторов не разозлили.
P.S. Мое первое сообщение в этой теме является шуткой на тему "Pascal vs C/C++" (если вдруг кто нибудь не понял).
XPEHOMETP
06-09-2013, 13:46
Человек спрашивает можно ли создавать программы на языке программирования. Что тут еще ответить можно? »
Можно предположить, что человек просто в поиске некого языка программирования, с которого он мог бы начать обучение этому делу. Типа, я тут ни бум-бум, но хочу самостоятельно что-то освоить. Из того, что есть в сети. Для ньюба, простейшие программы. Я тут голову даю на отсечение, что Паскаль в таком случае не имеет конкурентов. Ни один другой язык программирования не имеет в русскоязычной сети столь понятной любому смертному поддержки по части дидактических материалов. Я уже об этом говорил. И это - общие проблемы преподавания у нас языков программирования. Кроме QB, там уже проблемы свои, из-за наглого сползания в "грязное программирование". Чему, правда, язык откровенно способствует. Да много таких языков, на которых можно выделывать просто непотребные вещи. Фортран, к примеру. Ну и С-шные указатели тоже в анналы вошли.
Grabber2006
06-09-2013, 23:50
Ещё для Pascal (т.е. для Object Pascal) есть отличная бесплатная IDE Lazarus (http://www.lazarus.freepascal.org/), которая уже достигла стабильной версии 1.0.12.
В ней HelloWorld просто мышкой делается.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.