Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   ,можно ли на паскале создавать простые программки (http://forum.oszone.net/showthread.php?t=267318)

MANKSTAR 02-09-2013 14:54 2211503

,можно ли на паскале создавать простые программки
 
Ребят,помогите!Скажите,можно ли на паскале создавать простые программки?

Iska 02-09-2013 15:16 2211517

Можно. И не простые — тоже.

Dreamer_UFA 02-09-2013 15:32 2211523

А почему тема в 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 2213106

Цитата:

Цитата Dreamer_UFA
[BASIC]
10 PRINT "Hello World!"
20 GOTO 10 »

Программы с бесконечным зацикливанием не кошерны! ;)

torauma 05-09-2013 12:58 2213121

Цитата:

Цитата Dreamer_UFA
program Hello_World;
Begin
Writeln('Hello World!!!');
end. »

Это слишком сложная программа. Простая:
Код:

begin
end.

И главное как лаконично! Не то что на этом хваленом C++:
Код:

int main()
{
        return 0;
}


Tonny_Bennet 05-09-2013 14:51 2213178

Цитата:

Цитата XPEHOMETP
Программы с бесконечным зацикливанием не кошерны! »

использование goto не кошерно... ;)

torauma 05-09-2013 16:16 2213234

Tonny_Bennet, я конечно не знаток бейсика, но там вроде бы кроме goto и не было то ничего. Само собой, я говорю о старых реализациях бейсика, а не о VB.

AMDBulldozer 05-09-2013 16:50 2213248

Цитата:

Цитата torauma
И главное как лаконично! Не то что на этом хваленом C++: »

Программа на С (равно как и на С++) будет еще более лаконична:
Код:

main(){}

torauma 05-09-2013 16:57 2213252

AMDBulldozer, такой вариант конечно работает, но "warning: ISO C++ forbids declaration of `main' with no type". "Не кошерно" как то.

AMDBulldozer 05-09-2013 17:46 2213278

torauma, пользуйтесь нормальным ANSI-совместимым компилятором, не будет предупреждений. Например Intel'овским.

Grabber2006 05-09-2013 22:13 2213421

Цитата:

Цитата AMDBulldozer
Программа на С (равно как и на С++) будет еще более лаконична: »

На C++ немного сложнее:

Код:

int main (int nNumberofArgs, char* pzArgs[])
{
return 0;
}

Поэтому C++ компилятор и ругается на чисто сишное main().

AMDBulldozer 06-09-2013 03:59 2213522

Цитата:

Цитата Grabber2006
Поэтому C++ компилятор и ругается на чисто сишное main(). »

Повторяю еще раз: смотря какой компилятор. Сохраните текст в файл и выполните команду "g++ test.cpp" без каких-либо дополнительных ключей - никаких предупреждений не получите. Можете заменить g++ на icc, результат будет тот же самый.

torauma 06-09-2013 09:24 2213573

Цитата:

Цитата AMDBulldozer
"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 2213614

Да! Но никто не ответил по существу, если не считать лаконичного ответа Iska. Вопрос явно от новичка в программировании. Фишка в том, что Паскаль как раз для новичков очень подходит, ибо и был создан Виртом как своего рода учебный язык. И как раз именно для Паскаля в сети полно методических рекомендаций, на русском языке, написанных без формализмов вроде форм Бэкуса — Наура, и где все изложено вполне человеческим языком. Понятным, скажем, любому студенту. Ни один другой язык программирования столь доступным и в то же время строгим изложением принципов работы с ним.

И не надо мне совать под нос QBasic. Проще. Но все, что я видел на русском, неизбежно сваливается в "грязное программирование". А на английских сайтах фанатов есть очень хорошие учебные материалы.

AMDBulldozer 06-09-2013 10:48 2213628

torauma, я поэтому и написал "без дополнительных ключей". Если нужно соответствие вызова main стандарту ISO (в отличие от ANSI C), придется добавить еще 3 буквы к тексту программы: "int main(){}". Всё равно не слишком длинно и явно короче, чем у Вас, правда?

torauma 06-09-2013 11:36 2213652

Цитата:

Цитата XPEHOMETP
Но никто не ответил по существу, если не считать лаконичного ответа Iska »

Человек спрашивает можно ли создавать программы на языке программирования. Что тут еще ответить можно?
Цитата:

Цитата XPEHOMETP
Вопрос явно от новичка в программировании. »

ИМХО: скорее от тролля. Даже от новичков таких вопросов мне еще видеть не доводилось.
Цитата:

"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 2213707

Цитата:

Цитата torauma
Человек спрашивает можно ли создавать программы на языке программирования. Что тут еще ответить можно? »

Можно предположить, что человек просто в поиске некого языка программирования, с которого он мог бы начать обучение этому делу. Типа, я тут ни бум-бум, но хочу самостоятельно что-то освоить. Из того, что есть в сети. Для ньюба, простейшие программы. Я тут голову даю на отсечение, что Паскаль в таком случае не имеет конкурентов. Ни один другой язык программирования не имеет в русскоязычной сети столь понятной любому смертному поддержки по части дидактических материалов. Я уже об этом говорил. И это - общие проблемы преподавания у нас языков программирования. Кроме QB, там уже проблемы свои, из-за наглого сползания в "грязное программирование". Чему, правда, язык откровенно способствует. Да много таких языков, на которых можно выделывать просто непотребные вещи. Фортран, к примеру. Ну и С-шные указатели тоже в анналы вошли.

Grabber2006 06-09-2013 23:50 2213986

Ещё для Pascal (т.е. для Object Pascal) есть отличная бесплатная IDE Lazarus, которая уже достигла стабильной версии 1.0.12.
В ней HelloWorld просто мышкой делается.


Время: 22:05.

Время: 22:05.
© OSzone.net 2001-