Где взять FreeFem++? FreeFem++ является свободно распространяемым продуктом (лицензия LGPL) под операционные системы Windows XP и выше, MacOS 10 intel, различные дистрибутивы UNIX OS и GNU Linux (с компилятором g++ 3.3 и позже и библиотекой OpenGL). Также программу можно загрузить в виде исходного кода.
Программа для FreeFem++ представляет обычный текстовый файл. Каждая используемая переменная должна быть объявлена, переменные типизированы (т.е. при объявлении переменной обязательно указывается ее тип), каждое выражение отделяется от другого символом точка с запятой (;). Подстрочные комментарии обозначаются двумя символами дробной черты (//), все что идет после них до конца строки игнорируется.
В приведенных ниже примерах для удобства значения переменных выводятся в консоль с помощью команды C++ вывода в консоль cout, в которой переменные помещаются в поток символами <<, а для перевода на новую строку используется встроенная константа endl.
Как написать код? Код программы записывается в обычный текстовый файл с расширением .edp, например, test.edp. В ОС Windows можно использовать, например, обычный Блокнот, Notepad++ или Word (но, в этом случае сохранять нужно как обычный текстовый формат txt). В ОС Linux можно использовать, например, vim, gedit, встроенный редактор Krusader, kate. Последний вариант удобен еще и тем, что содержит встроенную консоль для запуска программы.
Как запустить код? В ОС Windows и MacOS код запускается двойным нажатием мыши. В ОС Windows можно запускать в командном процессоре cmd, по аналогии консоли ОС Linux. В ОС Linux исполняется в консоли командой
Область действия переменных ограничивается текущим блоком расположенном внутри фигурных скобок {...}, за исключением переменной типа fespace. За пределами блока, в которой была описана локальная переменная, она уничтожается.
real a = 0.5; { cout << "a = " << a << endl; // a = 0.5 real a = 1.5, b = 2.0; cout << "a = " << a << endl; // a = 1.5 cout << "b = " << b << endl; // b = 2.0 } cout << "a = " << a << endl; // a = 0.5 cout << "b = " << b << endl; // ошибка, переменной b не существует