Variant-7
1, За сравнение в basic отвечает оператор If . Он записывается в слудуещем виде:
If условие then операторы 1 else операторы 2
Главное надо помнить, что скока раз вы написали If, столько же раз вам надо закрыть его, то есть написать End If.
СПРАВКА: Оператор END Заканчивает программу, процедуру, блок или тип данных, определенный пользователем. END [{DEF | FUNCTION | IF | SELECT | SUB | TYPE}]
DEF - заканчивает, состоящее из нескольких строк, определение функции DEF FN.
FUNCTION - заканчивает определение процедуры типа FUNCTION.
IF - заканчивает блок оператора IF...THEN...ELSE.
SELECT - заканчивает блок SELECT CASE.
SUB - заканчивает процедуру типа SUB.
TYPE - заканчивает определение типа данных, определенных пользователем.
Если аргумент не указан, то END завершает программу и закрывает все файлы.
2.Логический (булевый) тип обозначается словом bool. Данные булевого типа могут принимать только два значения: true и false. Значение false обычно равно числу 0, значение true — числу 1. Под данные булевого типа отводится 1 байт. В стандарте C нет типа данных, который можно было бы считать действительно символьным. Для представления символьной информации есть два типа данных, пригодных для этой цели, — это типы char и wchar_t, хотя оба эти типа по сути своей вообще-то являются целыми типами. Например, можно взять символ 'A' и поделить его на число 2. Кстати, а что получится? Подсказка: символ пробела. Для «нормальных» символьных типов, например, в Паскале или C#, арифметические операции для символов запрещены.
Тип char используется для представления символов в соответствии с системой кодировки ASCII. Это семибитный код, его достаточно для кодировки 128 различных символов с кодами от 0 до 127. Символы с кодами от 128 до 255 используются для кодирования национальных шрифтов, символов псевдографики и др.
Тип wchar_t предназначен для работы с набором символов, для кодировки которых недостаточно 1 байта, например, Unicode. Размер типа wchar_t обычно равен 2 байтам. Если в программе необходимо использовать строковые константы типа wchar_t, то их записывают с префиксом L, например, L"Слово". Чтобы работать с переменной, для неё требуется выделить необходимое количество памяти и определить где будут выполняться вычисления с использованием такой переменной. Дело в том, что вычисление чисел с плавающей запятой (точкой) выполняет математический сопроцессор. Целые числа обрабатывает процессор. В зависимости от типа данных выделяется различное количество памяти. Объявляя переменную, вы тем самым выделяете под неё память и определяете то, чем она будет обрабатываться.
Variant-11
1.В языке Basic для изменения последовательности выполнения операторов используются специальные операторы: безусловного перехода GОТО и условного перехода IF. Синтаксис для оператора безусловного перехода: GОТО метка. Синтаксис для оператора условного перехода: IF [условие] THEN [операторы_1] ELSE [операторы_2]. Условие содержит знаки сравнения, которые записываются следующим образом:
= |
< |
> |
<= |
>= |
<> |
равно |
меньше |
больше |
меньше или равно |
больше или равно |
не равно |
Условие может состоять из несколько условий, связанных логическими операциями. Логические операторы: NOT - не; AND - и; OR - или. Операторы_1 выполняются, если условие истинно. Операторы_2 выполняются, если условие ложно.
2. Для использования функций динамического выделения памяти необходимо описать указатель, представляющий собой начальный адрес хранения элементов массива.
int *p; // указатель на тип int
Начальный адрес статического массива определяется компилятором в момент его объявления и не может быть изменен.
Для динамического массива начальный адрес присваивается объявленному указателю на массив в процессе выполнения программы. Функции динамического выделения памяти находят в оперативной памяти непрерывный участок требуемой длины и возвращают начальный адрес этого участка.
Функции динамического распределения памяти:
void* malloc(РазмерМассиваВБайтах);
void* calloc(ЧислоЭлементов, РазмерЭлементаВБайтах);
Для использования функций динамического распределения памяти необходимо подключение библиотеки <malloc.h>:
#include <malloc.h>
Поскольку обе представленные функции в качестве возвращаемого значения имеют указатель на пустой тип void, требуется явное приведение типа возвращаемого значения. Форма обращения к элементам массива с помощью указателей имеет следующий вид:
int a[10], *p; // описываем статический массив и указатель
int b;
p = a; // присваиваем указателю начальный адрес массива
... // ввод элементов массива
b = *p; // b = a[0];
b = *(p+i) // b = a[i];
Для объявления массива необходимо указать две вещи (помимо имени): тип и размер массива: int my_array[ n ];
Для определения размера массива при помощи оператора sizeof, разделите весь его объем на объем одного элемента. Например, если имеется следующее определение массива: int aTemp[] = { 10, 20, 0xFFFF, -1, 16 };то его объем может быть вычислен как:int nSize = sizeof(aTemp) / sizeof(aTemp[0]);
Обратите внимание, что индексация элементов в массиве начинается с 0. Таким образом Обращение к элементам массива всегда будет происходить со смещением, например:
int my_array[ 4 ]; // объявление массива
my_array[ 2 ] = 2; // установить значение третьего (именно третьего!) равным
