Презентация на тему "Оператори вибору"

Включить эффекты
1 из 19
Смотреть похожие
Ваша оценка презентации
Оцените презентацию по шкале от 1 до 5 баллов
  • 1
  • 2
  • 3
  • 4
  • 5
0.0
0 оценок

Рецензии

Добавить свою рецензию

Аннотация к презентации

Посмотреть и скачать бесплатно презентацию по теме "Оператори вибору". pptCloud.ru — каталог презентаций для детей, школьников (уроков) и студентов.

  • Формат
    pptx (powerpoint)
  • Количество слайдов
    19
  • Слова
    другое
  • Конспект
    Отсутствует

Содержание

  • Слайд 1

    Тема 4. Оператори мови С ++. Умовні оператори, оператори вибору switch, оператори циклу (for, while, dowhile), оператори переходу (break, continue, return, goto), порожній оператор.

  • Слайд 2

    Оператори вибору

    У мові програмування С ++ існує два оператора вибору: 1) Оператор вибору if 2) Оператор вибору switch Оператори вибору дозволяють прийняти програмі рішення, грунтуючись на істинності або хибності умови. Якщо умова є істиною (true), оператор в тілі if виконується, після чого виконується наступний по порядку оператор. Якщо умова хибна (false), оператор в тілі if не виконується (ігнорується або пропускається) і відразу ж виконується наступний оператор.   a=5; b = 7; if(a > b){      // код невиконується } if(a < b)  {     // код виконується   }else{ // код невиконується }

  • Слайд 3

    Також іноді зручно використати конструкцію else if. Приклад:   a=5; b = 7; if(a <4){      // код невиконується }else if(a > b){  // код невиконується }else if(a > 4){  // код виконується } Конструкціяelse if дозволяє створювати галуження програми. Таку конструкцію зручно використовувати при невеликій кількості гілок програми.

  • Слайд 4

    // синтаксис оператора выбору switch switch(a){  case 0: //код  break;    case 1:   //код break;   .    .    .   default:   //код   }   a – змінна break; - оператор виходу case 0: - випадок, якщо а = 0. case1: - випадок, якщо а = 1.

  • Слайд 5

    Оператори циклу з предумовою

    // синтаксис оператора циклу while while (a>b){ //якщо умова виконються (a>b) – правда, то код виконується   //код   } Приклад. Обчислити факторіал числа k. int k = 5;//факторіл 5 inti= 1; int result = 1; while(i <= k){ result *= i; i++; } //result містить значення факторіала  

  • Слайд 6

    Оператори циклу з післяумовою

    // синтаксис оператора циклу do {} while(); do{ //код }while (a>b); //якщо умова виконються (a>b) – правда, тоцикл виконується Приклад. Обчислити факторіал числа k. int k = 5;//факторіл 5 inti= 1; int result = 1; do{ result *= i; i++; } while(i <= k); //result містить значення факторіала  

  • Слайд 7

    Оператори покрокового циклу

    // синтаксис оператора циклу for(inti = 0; i < n; i++) { //код } Приклад. Обчислити суму перших цілих чисел до k. З Edit1 зчитується значення k, у Edit2 виводиться результат. int k = StrToInt(Edit1->Text); int result = 0;//початковезначеннясуми for(inti = 1; i <= k; i++){ result += i; } Edit2->Text = IntToStr(result);   Вираззбільшення Умовнийвираз Початковийвираз

  • Слайд 8

    Оператори циклу

    Тело оператора for выполняется до тех пор, пока условное выражение не станет ложным (равным 0). Начальное выражение и выражение приращения обычно используются для инициализации и модификации параметров цикла и других значений. Начальное выражение вычисляется один раз до первой проверки условного выражения, а выражение приращения вычисляется после каждого выполнения оператора. Любое из трех выражений заголовка цикла, и даже все три могут быть опущены (не забывайте только оставлять точки с запятой). Если опущено условное выражение, то оно считается истинным, и цикл становится бесконечным. Оператор пошагового цикла в языке С++ является гибкой и удобной конструкцией, поэтому оператор цикла с предусловием whileиспользуется в языке С++ крайне редко, т.к. в большинстве случаев удобнее пользоваться оператором for.  

  • Слайд 9

    Оператор розриву break;

    Оператор разрыва прерывает выполнение операторов while, do, for и switch. Он может содержаться только в теле этих операторов. Управление передается оператору программы, следующему за прерванным. Если оператор разрыва записан внутри вложенных операторов while, do, for, switch, то он завершает только непосредственно охватывающий его оператор. Приклад. Скільки випадкових чисел потрібно згенерерувати поки не випаде задане число k. З Edit1 зчитується значення k, у Edit2 виводиться результат. int k = StrToInt(Edit1->Text); int result = 0; while(1){ // нескінчений цикл result++; if(k == random(100)) break;// розрив оператора while, якщо умова виконана } Edit2->Text = IntToStr(result);  

  • Слайд 10

    Оператор продовження continue;

    Оператор продолжения передает управление на следующую итерацию в операторах цикла while, do, for. Он может содержаться только в теле этих операторов. В операторах do и while следующая итерация начинается с вычисления условного выражения. В операторе for следующая итерация начинается с вычисления выражения приращения, а затем происходит вычисление условного выражения.  

  • Слайд 11

    Приклад. Підрахувати окремо суми випадкових k=1000 чисел, більших k>50 та менших k<=50. З Edit1 зчитується значення k, у Edit2 та Edit3 виводяться суми.   int k = StrToInt(Edit1->Text); intmax_step = 0; int S1 = 0, S2 = 0; do{ max_step++; k = random(100); if(k > 50){ S1 += k; continue; } if(k <= 50){ S2 += k; } }while(max_step < k); Edit2->Text = IntToStr(S1); Edit3->Text = IntToStr(S2);

  • Слайд 12

    Оператор повернення retutn;

    returnвираз ; Оператора возврата заканчивает выполнение функции, в которой он содержится, и возвращает управление в вызывающую функцию. Управление передается в точку вызывающей функции, непосредственно следующую за оператором вызова. Значение выражения, если она задано, вычисляется, приводится к типу, объявленному для функции, содержащей оператор возврата, и возвращается в вызывающую функцию. Если выражение опущено, то возвращаемое функцией значение не определено.  

  • Слайд 13

      Приклад. Написатифункцію, яка обчислюєвиразS,де r є аргументом функції. З Edit1 зчитується значення r, у Edit2 виводяться S.   //функція double f(double r){ double S = 3.1415926538*r*r; return S; } void __fastcall TForm1::Button1Click(TObject *Sender) { double r = StrToFloat(Edit1->Text); Edit2->Text = FloatToStr( f(r) ); //викликфункції }

  • Слайд 14

      Тема 5. Масиви. Об'ява масиву, завдання типу елементів масиву та їх кількості. Операції з масивами. Робота з рядками.

  • Слайд 15

    Масиви

      Массивы — это группа элементов одинакового типа (double, float, int и т.п.). Из объявления массива компилятор должен получить информацию о типе элементов массива и их количестве. Объявление массива имеет два формата: 1) спецификатор-типа описатель [константное_выражение]; Пример: int M[10]; 2) спецификатор-типа описатель [ ]; Пример: intM[]; Описатель — это идентификатор массива. Спецификатор-типа задает тип элементов объявляемого массива. Элементами массива не могут быть функции и элементы типа void. Константное-выражение в квадратных скобках задает количество элементов массива. Константное-выражение при объявлении массива может быть опущено в следующих случаях: - при объявлении массив инициализируется, - массив объявлен как формальный параметр функции, - массив объявлен как ссылка на массив, явно определенный в другом файле проекта.

  • Слайд 16

      Приклади: 1) int a[2][3]; /* представлено в виде матрицы a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] */ 2)double b[10]; /* вектор из 10 элементов имеющих тип double */ 3) intw[3][3] = { { 2, 3, 4 }, { 3, 4, 8 }, { 1, 0, 9 } };

  • Слайд 17

    Динамічні масиви

      Приклад: String S = "Hello C++"; intlen = S.Length(); char *M = new char [len]; for(inti = 0; i < len; i++){ M[i] = S.operator [](i+1); } Memo1->Clear(); Memo1->Lines->Add(M[i]); for(inti = 0; i < len; i++){ Memo1->Lines->Add(M[i]); } delete[] M; «Розібрати» строку «Hello C++» на символи та вивести символив стовпчик у Memo.

  • Слайд 18

      String S = "";//Обява змінної типу рядок int n = StrToInt(Edit1->Text); int**M = new int* [n]; for(inti = 0; i < n; i++) M[i] = new int [n]; for(inti = 0; i < n; i++){ for(int j = 0; j < n; j++){ if(i == j) M[i][j] = 1; else M[i][j] = random(100); } } Заповнитиквадратнуматрицю NxNвипадквими числами, тільки головну діагогаль заповнити одиницями. Вказівник на вказівник Можливе оголошення змінної, котра містить адресу інший змінної, котра, у свою чергу, також є вказівником.

  • Слайд 19

      Memo1->Clear(); for(inti = 0; i < n; i++){ S = ""; for(int j = 0; j < n; j++){ S += IntToStr(M[i][j])+" " ; } Memo1->Lines->Add(S); } delete[] M; Заповнитиквадратнуматрицю NxNвипадквими числами, тільки головну діагогаль заповнити одиницями.

Посмотреть все слайды

Предложить улучшение Сообщить об ошибке