Построение графиков делается командой plot (x, y) или plot (x, y, s). х, у - это массивы абсцисс и ординат точек графика (в этом смысле данная команда чем-то похожа на построение поточечного графика в Экселе). Параметр s задаёт стили - вид линии, цвет, типы точек и т. д.
Массивы координат задаются как обычно, любым из доступных способов. Например, для построения параболы в диапазоне от -1 до +2 c шагом 0,01 можно задать массивы так:
x = -1:0.01:2
y=x.*x + 2.*x +1 (обратите внимание на точку перед знаками умножения - она говорит о том, что операция выполняется почленно)
Вот с двумя такими массивами и можно дать команду plot (x, y).
Задача очень простая. И Бейсик язык простой, на нём очень легко состряпать примитивную программку даже если уроки информатики у тебя были ...дцать лет тому назад.
Естественно, настоящие программисты посмеются над ней и её недалёким автором, но... работает она.
Это не VB, это QuickBasic для DOS, но Бейсик - он и в Африке...
Змейка наша циклична (вправо, влево, и снова, по числу зигзагов), потому используем циклы.
Для формирования отступа используем функцию SPC(n), печатающую заданное число пробелов.
Писал программулинку с отступами, для читаемости, но наш Большой Вопрос их убирает. Разберетесь.
CLS
INPUT "Число зигзагов:", nz
INPUT "Амплитуда:", a
FOR i = 1 TO nz
FOR j = 1 TO a
PRINT SPC(j - 1); "@"
NEXT j
FOR k = a - 1 TO 2 STEP -1
PRINT SPC(k - 1); "@"
NEXT k
NEXT i
PRINT "@"
1) В книге Страуструпа по яызку С++ от 90х годов вообще прописано, что операция взятия остатка должна работать для дробных чисел. Можно ли так? - а почему нет, на википедии в с статье про деление с остатком написано "Чаще всего эта операция определяется для целых или натуральных чисел". Чаще всего, но не всегда.
Например:
(1.1 % 0.2) = 0.1
Разве это не логично? - На деле оно так не работает (по крайней мере в С++) и в стандарте языка оператор % также описан только для целых. При попытке скомпилировать вы получите ошибку типа:
Однако, почему бы этой операции так не работать в другом языке?
2) То то я описал выше - это пример того, как еще можно "иначе" реализовать этот оператор. Та проблема, что описана у вас - это проблема знака остатка. В каждом языке программирования ее решили по своему. Знак результата может совпадать со знаком делимого или знака делителя (на выбор разработчиков языка программирования), либо вообще оказывать неопределенным (как в Си/С++). Т.е. если выполнить на С++ следующий код:
4 % (-2)
то результат окажется неопределенным. Даже в рамках одного языка программирования. Скомпилировали вы под компилятором Intel - результат один, скопилировали компилятором Microsoft - результат другой.
Кстати, по поводу знака результата в википедии есть большая таблица. Приведу ее фрагмент чтобы было видно, что разные языки и этот момент обрабатывают по разному:
Я практически всю жизнь прикладной программист. Знаком и программировал на многих машинах и языках. Считаю и это безусловно правильно, что в первую очередь программист должен знать объект программирования, особенно это касается сложных специальных программ, например касающихся той или иной инженерной сферы деятельности. Поэтому в первую очередь необходима подготовка в этой сфере. Вся инженерия основывается на физике и математике и химии. Само по себе умение писать языковые конструкции на том или ином языке программирования явно недостаточно (это доступно всем). Аналогия это работа переводчика с одного языка на другой. А вот создать сам переводимый текст это совсем другое. Поскольку мало людей которые могли бы в одиночку охватить все нюансы программируемой области, то приходится приниматься за работу десяткам и более людей. Ошибки взаимодействия очевидны и постоянны ... В результате в больших программах полно ошибок в первых версиях операционных систем их только официально были несколько тысяч...
При разбитии файла добавляется служебная информация, которая позволяет потом соединить файл снова. Еще добавляются пустые части кластеров при записи на диске, так почти все файлы не занимают пространство на жестком диске точно. Если для разбития использовалась какая-то программа она обычно еще дописывает части своего кода, чтоб идентифицировать файл.