Полная версия

Главная arrow Информатика arrow Введение в программирование на языке Visual C#

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

ЛИНЕИНЫИ АЛГОРИТМ

Алгоритм называется линейным, если он содержит N шагов и все шаги выполняются последовательно друг за другом от начала до конца. Общий вид линейного алгоритма представлен на рис. 59.

Общий вид линейного алгоритма

Рис. 59. Общий вид линейного алгоритма

где Рь Р2, ... Рп — операторы.

Упражнения к главе

Вопрос 1. Какими будут значения переменных шип после выполнения фрагмента программы?

private void buttonl_Click(object sender, EventArgs e)

{

int m = 25; int n = m + 1; m = m - 25;

MessageBox.Show("Ответ = " + m.ToString("n"));

MessageBox.Show("Ответ = " + n.ToString("n"));

}

Ответ. Действие оператора присваивания заключается в занесении какого-либо значения в соответствующую ячейку памяти, причем старое значение, находящееся в ячейке, исчезает. Таким образом, если в ячейке ш находится число 25, то в ячейку п после выполнения оператора присваивания n = m + 1 заносится число 26. Затем выполняется оператор ш = ш — 25. Значение переменной ш не изменялось, поэтому 25 — 25 = 0, т.е. значение переменной ш = 0, а значение переменной п = 26.

Вопрос 2. Каким будет значение переменной п после выполнения фрагмента программы?

private void buttonl_Click(object sender, EventArgs e) {

int m = 20; int n = 10; m = m / n;

n=m*n; n = n + 3 0;

MessageBox.Show("Ответ = " + n.ToString("n"));

}

Ответ. После выполнения оператора присваивания m = m / п в ячейку m заносится число 2. Выполняется оператор n = m * п. В ячейке m находится число 2, а в ячейке п — число 10, поэтому после выполнения операции умножения в ячейку п заносится число 20. Выполняется оператор n = п + 30, и так как в ячейке п находится 20, то значение переменной п будет равно 50.

Вопрос 3. Каким будет значение переменной m после выполнения фрагмента программы?

private void buttonl_Click(object sender, EventArgs e)

{

int m = 30; int n = 2; n = m / 2; m = n; m=m+n; m = m;

MessageBox.Show("Ответ = " + m.ToString("n"));

}

Ответ. После выполнения оператора n = m / 2 в ячейку п заносится число 15. После выполнения оператора m = п в ячейке m будет также находиться число 15. Следовательно, число 30 заносится в ячейку m после выполнения оператора m = m + п. Оператор m = m переприсваивает значение переменной m. Ответ в упражнении: значение переменной m равно 30.

Вопрос 4. Какое число будет выведено в качестве ответа после выполнения фрагмента программы?

int m = 11;

int n = m * 2;

m = ш + n;

m = m;

Console. WriteLine("Pe3ynbTaT = " + m);

Console.ReadLine();

Ответ. После выполнения оператора n = m * 2 в ячейку п заносится число 22, которое складывается с числом 11 после выполнения оператора m = m + п. Оператор m = m переприсваивает значение переменной m. Следовательно, на экран выводится число 33.

Вопрос 5. Дано описание переменных:

double q;

int х, w;

bool d;

Какой из перечисленных ниже операторов допустим?

  • 1. d = q;
  • 2. q = х + w;
  • 3. q = х + d;
  • 4. d = w;

Ответ. В первом случае переменная d описана как логическая переменная, а переменная q как вещественная. Логическая переменная может принимать два значения: true и false. Значит, этот оператор — недопустим. Во втором случае в правой части складываются две переменные целого типа. Такое присваивание допустимо. В третьем случае в правой части складываются переменная целого и логического типов, что недопустимо. И, наконец, в четвертом случае логической переменной присваивается целое число, что недопустимо. Вывод: допустим второй оператор присваивания.

Вопрос 6. Дано описание переменных:

int X, у, z;

bool a, s;

Есть ли из перечисленных ниже операторов недопустимые?

  • 1. х = у + z
  • 2. у = z
  • 3. а = х > z
  • 4. s = true
  • 5. Все операторы записаны верно

Ответ. В первом случае справа от оператора присваивания находятся переменные z и у, описанные как целочисленные, переменная х описана как целочисленная переменная, значит, такой оператор допустим. Второй пример аналогичен первому. В третьем случае справа от оператора присваивания сравниваются между собой две целочисленные переменные. Слева находится переменная а, которая описана как логическая. Следовательно, такой оператор допустим. В четвертом случае переменная s описана как логическая. Логическая переменная может принимать два значения: true и false. Значит, этот оператор допустим. Вывод: все операторы записаны верно.

 
<<   СОДЕРЖАНИЕ   >>