s-laplandia6
?>

Cформировав двухмерный массив размерностью 10 к 10 присвоить значение 7 элементам, имеющим четные индексы, например el(2)=2, el(8)=8

Информатика

Ответы

timonina29
Int a[10][10];
a[0][2] = 1;
a[0][4] = 2;
a[0][6] = 3;
a[0][8] = 4;
a[2][2] = 5;
a[2][4] = 6;
a[2][6] = 7;
Стяжкин
Переменные в программе дают возможность обращаться к областям в памяти компьютера с удобных имен - это упрощает написание, отладку и модификацию программы. Получив описание переменной, современный транслятор (непринципиально, будет это компилятор или интерпретирующая программа) должен отвести под эту переменную область памяти, достаточную для размещения в ней данных и впоследствии учитывать тип переменной, делая, при необходимости, неявные преобразования типа. Ранние языки программирования не допускали неявных преобразований, т.е. преобразований, которые выполняются без участия программиста. Пример таких языков - Fortran II. В этом языке нельзя было смешивать в одном операторе переменные разных типов.
Кстати, о типе переменных. Существуют разные классификации, но для понимания самой концепции типов непринципиально, какой классификацией пользоваться.
Если говорить упрощенно, можно различать числовые и нечисловые данные. С числовыми можно совершать математические операции, а нечисловые можно только вводить в компьютер (например, с клавиатуры) и выводить из компьютера во внешнюю среду (например, отображать на мониторе). И вот тут самое интересное. Перед тем, как компьютер получит числовое данное, оно должно быть введено в форме нечислового. Тут-то и возникает неявное преобразование типов. Когда мы, к примеру, вводим число 25, то нажимаем клавиши "2" и "5", посылая компьютеру определенные коды. Компьютер преобразует их и получает последовательность символов "25". Это то же, что число 25? Если мы пишем 25 на бумаге, то для нас оно хоть число, хоть текст, изображающий число. А для компьютера это не так. Его система команд обрабатывает символы отдельно, числа отдельно. И хранит компьютер число 25 и символы "25" совсем по-разному.  Вот поэтому мы должны описывая переменные, сообщать не только их имена, но и тип - чтобы транслятор "понял", как эти данные ему обрабатывать. Даже числовые данные неоднородны - компьютер может хранить их с разным представлением (целые, с фиксированной точкой, с плавающей точкой) и с разной разрядностью (максимальным числом цифр). И, встретив в операции два числа разного типа, транслятор должен привести их к одному - это тоже случай неявного приведения типов. Например, оно возникнет при вычислении выражения 2.5+1, потому что первое значение дробное, а второе - целое. Транслятор приведет его к 2.5+1.0.

Описание переменной должно быть сделано до её первого использования в программе. Обычно стараются вынести все описания в начало программы - при изучении текста чужой программы так легче найти нужное описание. Это характерно для "классических" языков программирования типа Pascal.
Описание переменных в этом языке делается в разделе, который начинается ключевым словом var (от английского слова variable - переменная).
Альтернативой является описание в месте, непосредственно предшествующем первому использованию переменной - это облегчает первичное написание программы, когда заранее сложно сказать, какие переменные понадобятся - особенно этим любят пользоваться программисты на языках С/С++, хотя и в этом языке есть возможность описать переменные в начале программы.

Примеры описания одних и тех же переменных:
a) Pascal
var
   a:integer;
   b1, b134, delta: real;
   weight: array[1..n] of integer;

б) С/С++
int a;
single b1, b134, delta;
int weight[n+1];

в) BASIC
DIM a AS INTEGER
DIM b1 AS REAL, b134 AS REAL, delta AS REAL
DIM weight(1 To N) AS INTEGER
Aleksandrovich-Mayatskikh

{#1 Деление на числа меньше 7}

begin

var F: boolean;

var a: integer; read(a);

 for var x := 7 downto 1 do

 begin

   F := (a mod x = 0) ? true : false;

   if F <> true then break;

 end;

end.

{#2 Находится ли точка внутри окружности}

begin

 var F: boolean;

 var z: cardinal;

 var x,y: double; read(x,y,z);

  x := (x<1)? x*-1:x;

  y := (y<1)? y*-1:y;

  if (x<z) and (y<z) then  

 F := true;

end.

{#3 В трехзначном числе есть три одинаковые цифры}

begin

 var F: boolean;

 var n: integer; read(n);

 var s := n.ToString;

 if (s[1] = s[2])  

    or (s[2] = s[3])  

     or (s[1] = s[3]) then

 F := true;

end.

{#4 Точки лежат на одной прямой}

begin

 var F: boolean;

 var x1,y1,x2,y2,x3,y3: integer;

 read (x1,y1,x2,y2,x3,y3);

 if (x2 - x1)*(y3 - y1) - (x3 - x1)*(y2 - y1) = 0 then

 F := true;

end.

{#5 Х или трёхзначное чётное число или четырёхзначное нечётное}

begin

var F: boolean;

var x:integer; read(x);

var s:=x.ToString;

if ((length(s) = 3) and (x mod 2 = 0)) or ((length(s) = 4) and (x mod 2 <> 0)) then

F := true;

end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Cформировав двухмерный массив размерностью 10 к 10 присвоить значение 7 элементам, имеющим четные индексы, например el(2)=2, el(8)=8
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Ионов202
alislisa191
Кедрин Карлен
foto5113161
margo55577869
Aleksei1463
anikamalish
hello
merung
Александра440
okarp
zurabghiendzhoian886
Мирзоев Денис
mixtabak2
АлександровнаВладлен243