Помощь в написании студенческих работ
Антистрессовый сервис

Условные операторы. 
Условные операторы

РефератПомощь в написанииУзнать стоимостьмоей работы

Этот самый распространенный итерационный оператор может содержать до трех частей. Первая, которая может встречаться только раз, служит для инициализации в начале цикла. Вторая — проверка условия, в результате которой определяется, выполнять ли цикл снова. И третья — «приращение» — обычно (но не обязательно) используется для инкремента счетчика, управляющего продолжением цикла — именно этот… Читать ещё >

Условные операторы. Условные операторы (реферат, курсовая, диплом, контрольная)

Цель работы: Изучение массивов в C#.

Краткие теоретические сведения.

Условные операторы.

Оператор if.

Выполняет один или несколько операторов, если вычисленное им выражение имеет результат true.

Синтаксис оператора // (квадратные скобки указывают, что конструкция else является необязательной):

if (выражение).

оператор1.

[else.

оператор2].

Указанное здесь выражение должно давать булевский результат. Если он равен true, управление передается на оператор1. Если результат равен false и присутствует конструкция else, управление передается на one ратор2.

Пример составного оператора, который вычисляется, если значение выражение равно true.

if (выражение!).

{.

оператор1 оператор2 }.

Несколько конструкций else.

else можно также применять в случаях, когда нужно проверить более двух условий.

if (выражение1).

{ операторы1;

}.

else if (выражение2.

{ операторы2;

}.

else if (выражение n).

{.

} else.

{.

операторы в случае невыполнения условий выражений с 1 по n—ое.;

}.

Новички в С# могут «пойматься» на том, что результатом вычисления выражения в операторе должно быть булевское значение. Этим С# отличается от таких языков как C++, которые позволяют в операторе if сравнивать любые переменные на их совпадение с нулем.

Оператор switch В операторе switch вы указываете выражение, возвращающее некоторое значение и один или несколько фрагментов кода, которые будут выполняться в зависимости от результата выражения. Он аналогичен применению нескольких операторов if/else, но если в последних вы можете указать несколько условий (возможно, не связанных между собой), то в операторе switch содержится лишь один условный оператор, за которым следуют блоки, которые нужно выполнять. Вот его синтаксис:

switch (выражение-переключатель) {.

case выражение-константа:

оператор

оператор_перехода.

case выражение-константа_N:

onepamop_N [default].

}.

Выражение-переключатель должно иметь тип sbyte, byte, short, ushort, int, uint, long, ulong, char или string (или еnum на основе одного из этих типов) или же должно быть явно преобразовано в один из этих типов. Во-вторых, в каждом операторе case (кроме последнего блока).

должен быть тот или иной оператор перехода, включая оператор break.

По сути оператор switch работает так же, как if. Сначала вычисляется выражение-переключатель, а затем результат сравнивается со всеми выражениями-константами или case-метками, определенными в операторах case. При обнаружении совпадения управление передается первой строке кода в соответствующем операторе case.

Кроме нескольких операторов case, в switch можно указать оператор default. Это аналогично конструкции else в операторе //. Каждый оператор switch может иметь только одну метку default. При ее отсутствии, если значение выражения-переключателя не соответствует ни одной case-метке, управление передается на первую строку после закрывающей скобки оператора switch. }.

Объединение case-меток.

Если объединить case-метки?В этом случае нужно расположить case-метки одну за другой.

Операторы цикла.

Оператор while.

Форма оператора while такова:

while (булевское выражение) {операторы тела цикла}.

пример:

int count;

Console.WriteLine («Сколько приветствий Вы хотите?»);

count=Console.ReadLine ();

while (count>0) {.

Console.WriteLine («Hello! «);

Оператор do/while.

Приглядевшись к синтаксису оператора while, вы можете обнаружить потенциальную проблему. Булевское_выражение вычисляется до исполнения встроенного оператора. Чтобы решить эту проблему используйте оператор do/while.

do.

{операторы тела цикла} while (булевское_выражение);

пример:

string password;

do{.

password=Console.ReadLine ();

} while (password≠"пароль");

Оператор for.

Этот самый распространенный итерационный оператор может содержать до трех частей. Первая, которая может встречаться только раз, служит для инициализации в начале цикла. Вторая — проверка условия, в результате которой определяется, выполнять ли цикл снова. И третья — «приращение» — обычно (но не обязательно) используется для инкремента счетчика, управляющего продолжением цикла — именно этот счетчик обычно анализируется во второй части оператора.

Форма оператора for:

for (инициализация; булевское выражение; приращение).

{ операторы тела цикла }.

пример:

int k=Int32.Parse (Console.ReadLine ());

int sum=0;

for (int i=1;i<=k;i++){.

sum+=i;

}.

Любая из трех частей (инициализация, булевское выражение, приращение) может отсутствовать. Когда булевское выражение равно false управление передается от начала цикла к строке, следующей за операторами тела цикла. То есть оператор for работает так же, как и while, но при этом у вас две дополнительные части: инициализация и приращение.

Оnepaтopы тела цикла for могут содержать такие же циклы — их называют вложенными.

Оператор foreach.

Некоторые языки, такие как Visual Basic, давно имеют специальные операторы для итерации массивов и наборов. В С# тоже есть такая конструкция — оператор foreach:

foreach (тип in выражение) {операторы тела цикла}.

например:

int [] m={1,2,3};

int sum=0;

foreach (int i in m){.

sum+=i;

}.

Массивы.

Объявление массивов.

Для объявления массива на С# нужно поместить пустые квадратные скобки между именем типа и переменной, например, так:

int[] numbers;

Далее вы должны создать экземпляр массива, и только после этого он будет существовать в.

том смысле, что для его элементов будет выделена память. Вот как объявить массив и одновременно создать его экземпляр:

// Этот код объявляет одномерный массив.

// из 6 элементов и создает его экземпляр.

int[] numbers = new int[6]; ;

пример использования массива:

using System;

class SingleArray {.

protected int[] numbers;

SingleArray () {.

numbers = new int[6];

for (int 1 = 0; i < 6; i++).

{.

numbers[i] = i * i; } }.

protected void PrintArrayO {.

for (int 1=0; i < numbers. Length; 1++) {.

Console.WriteLine («numbers[{0}]={1}», i, numbers[i]); } }.

public static void Main () <

SingleArray app = new SingleArrayO;

app. PrintArrayO; } }.

При запуске этого примера будет получена выходная информация:

numbers[0]=0.

nurabers[1]=1.

numbers[2]=4.

nuinbers[3]=9.

nurabers[4]=16.

numbers[5]=25.

Элементы массива можно задавать сразу при объявлении:

int []k={1,2,3};

Нумерация элементов ведется с нуля. Начальный элемент массива задается как k[0]=1;

Многомерные массивы.

Двумерные массивы :

int [,] k=new int[2,3];

Первый элемент такого массива это— k[0,0], последний — k[1,2].

Многомерные массивы также можно инициализировать при объявлении:

int [,] k=[1];

Рассмотренные выше массивы называют прямоугольными. В языке C# есть также ступенчатые массивы.

Объявление ступенчатых массивов:

Двумерный ступенчатый массив можно объявить так:

int[ ] [ ] k=new int[2][ ];

объявим 0—й элемент этого массива, это будет также массив, например с тремя элементами:

k[0]=new int[3];

объявим 1—й элемент этого ступенчатого массива теперь уже с четырьмя элементами.

k[1]=new int[4];

обращение к элементу такого массива будет выглядеть так:

k[1][3]=22;

У ступенчатых массивов мы задаем несколько пар квадратных скобок (столько, сколько размерность у массива).

1. Задание

Напишите программу, в которой с клавиатуры вводятся элементы одномерного массива. Программа должна определить, верно, ли что максимальный элемент массива больше минимального элемента ровно в 2 раза и напечатать соответствующее сообщение.

Условные операторы. Условные операторы.
Условные операторы. Условные операторы.

Ответы на вопросы:

Как объявляется одномерный массив?

Для объявления массива на С# нужно поместить пустые квадратные скобки между именем типа и переменной, например, так:

int[] numbers;

Далее вы должны создать экземпляр массива, и только после этого он будет существовать в.

том смысле, что для его элементов будет выделена память. Вот как объявить массив и одновременно создать его экземпляр:

// Этот код объявляет одномерный массив.

// из 6 элементов и создает его экземпляр.

int[] numbers = new int[6]; ;

пример использования массива:

using System;

class SingleArray {.

protected int[] numbers;

SingleArray () {.

numbers = new int[6];

for (int 1 = 0; i < 6; i++).

{.

numbers[i] = i * i; } }.

protected void PrintArrayO {.

for (int 1=0; i < numbers. Length; 1++) {.

Console.WriteLine («numbers[{0}]={1}», i, numbers[i]); } }.

public static void Main () <

SingleArray app = new SingleArrayO;

app. PrintArrayO; } }.

При запуске этого примера будет получена выходная информация:

numbers[0]=0.

nurabers[1]=1.

numbers[2]=4.

nuinbers[3]=9.

nurabers[4]=16.

numbers[5]=25.

Элементы массива можно задавать сразу при объявлении:

int []k={1,2,3};

Нумерация элементов ведется с нуля. Начальный элемент массива задается как k[0]=1;

Из каких двух этапов состоит процесс создания массива?

Процесс создания массива можно разделить на следующие этапы:

объявление, сортировка, обращение.

3. Как осуществляется доступ к элементу массива?

Доступ к элементам массива осуществляется с помощью указания имени массива и значения, заключенного в квадратные скобки. Например, определим массив с тремя элементами так:

var myArray = [1,51,68];

Массивы в JavaScript индексируются, начиная с нуля, поэтому, чтобы получить доступ к первому элементу массива, следует указать myArray [0]. Вот как можно получить доступ к различным элементам нашего массива:

var х = myArray[0];

var у = myArray[1];

var z = myArray[2];

При доступе к элементам массива, которые не были установлены, надо быть осторожным. Например,.

alert (myArray[35]);

отобразит значение undefined, поскольку указанный элемент массива, очевидно, не установлен. Однако, если требуется установить этот элемент массива, то сделать это очень просто.

4. Как объявить массив типа double, в котором содержится 5 элементов?

Чаще всего при объявлении массива используется имя с инициализацией. И опять-таки, как и в случае простых переменных, могут быть два варианта инициализации. В первом случае инициализация является явной и задаётся константным массивом. Вот пример:

double[] x = {5};

Следуя синтаксису, элементы константного массива следует заключать в фигурные скобки. Если массив инициализируется константным массивом, то в динамической памяти создаётся константный массив с заданными значениями, с которым и связывается ссылка.

5. Осуществляется ли во время выполнения программы на языке C# контроль над граничными значениями индексов массива?

Во время выполнения осуществляется Жесткий контроль над граничными значениями индексов. Следует указывать индекс, не превышающий граничные значения индексов данного массива, в противном случае возникнет ошибка выполнения программы.

6. Может ли отличаться длина каждого внутреннего массива в невыровненном массиве?

Невыровненный массив — это внешний массив, состоящий из внутренних массивов разной длины. Следовательно, невыровненный массив можно использовать для создания таблицы, содержащей строки различной длины. При объявлении невыровненных массивов для указания каждой размерности используется отдельная пара квадратных скобок.

7. Как инициализируются многомерные массивы?

Многомерные массивы инициализируются так же, как и одномерные. В следующем примере массив sqrs инициализируется числами от 1 до 10 и их квадратами:

int sqrs[10][2] = {.

  • 1, 1,
  • 2, 4,
  • 3, 9,
  • 4, 16,
  • 5, 25,
  • 6, 36,
  • 7, 49,
  • 8, 64,
  • 9, 81,
  • 10, 100

};

Инициализируя многомерный массив, для улучшения наглядности элементы инициализации каждого измерения можно заключать в фигурные скобки. Этот способ называется группированием подагрегатов (subaggregate grouping). С использованием этого приема предыдущий пример может быть записан так:

int sqrs[10][2] = {.

{1, 1},.

{2, 4},.

{3, 9},.

{4, 16},.

{5, 25},.

{6, 36},.

{7, 49},.

{8, 64},.

{9, 81},.

{10, 100}.

};

При такой записи, если внутри группы недостаточно констант инициализации, то оставшиеся элементы группы автоматически заполняются нулями.

8. Как указывается каждая размерность для прямоугольных многомерных массивов?

В С# и CLR имеется прямая поддержка многомерных массивов, которые также называются прямоугольными массивами. В С# очень легко объявить массив с несколькими измерениями.

Для этого понадобится внутри квадратных скобок просто перечислить через запятую размерности массива, как показано в следующем примере:

массив switch программа клавиатура.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

using System;

public class EntryPoint.

{.

static void Main () {.

int[,] twoDiml = new int[5,3];

int[,] twoDim2 = { {1, 2, 3},.

{4, 5, 6},.

{1, 8, 9} };

f oreach (int i in twoDim2) {.

Console.WriteLine (i);

}.

Относительно использования прямоугольных массивов следует отметить несколько моментов. Все обращения к этим массивам сводятся к вызову методов сгенерированного CLR ссылочного типа, и встроенный тип вектора здесь не участвует. Обратите внимание на два объявления.

В обоих случаях при объявлении типа указывать размер каждого измерения не нужно. Это объясняется тем, что массивы типизируются на основе типа элементов и размерности (ранга). Однако при создании экземпляра типа массива указывать размер измерений обязательно.

В данном примере это сделано двумя разными способами. При создании twoDiml размеры указаны явно, а при создании twoDim2 компилятор определяет размеры на основании выражения инициализации.

9. В программе заданы два одномерных массива с именами соответственно array1 и array2. Объясните, что означает следующее выражение: array1=array2;

выражение $array1[] = $array2 не добавляет значения массива $array2 к $array1, но добавляет $array2 как последний элемент $array1.

Вот тут неправильный ответ!!! Попробуй посмотри правильный.

10. Существует ли возможность изменить размер массива в программе C#? Массив называется динамическим потому что память под него выделяется динамически, а менять размер вовсе не обязательно. Если нужно изменить размер, то лучше всего использовать System.Collections.ArrayList или нечто подобное. А если напрямую, то так:

[src].

int[] arr = new int[5];

for (int i = 0; i < 5; i++).

{.

arr = i;

}.

int[] temp = arr;

arr = new int[10];

tmp.CopyTo (arr, 0);

[/src].

Показать весь текст
Заполнить форму текущей работой