Остащенко А.Ю., Певцов Е.Ф. Практикум по программированию Основы программирования на VISUAL C++ 6.0 (1017102), страница 2
Текст из файла (страница 2)
Следует отметить, что в С++ существует приоритет одних операторов по отношению к другим. Чтобы избежать ошибокрекомендуется применять блоки и скобки.1. Оператор присваивания: =. Пример: x = a + b;2. Структурная единица – блок { }. Пример:{ temp=a;a=b;b=temp;}3. Математические операторы: сложение +, вычитание -, умножение *, целочисленное деление / и деление по модулю%. Пример: 5/3 равно 1 (ответ тоже целого типа). Чтобы получить вещественное число необходимо записать: 5,0/3,0,что даст 1,66667.
Также существуют операции присвоения ссуммой: +=. Пример: Age +=2; что эквивалентно записиAge=Age+2;. Аналогично применяются операторы: -=, /=,*= и %=.4. Операции инкремента и декремента. Операция увеличения(уменьшения) переменной на единицу называется инкрементом (декрементом) и обозначается a++, что равносильнозаписи a = a + 1; или a += 1;.
Соответственно, декрементобозначается: а- -.Инкремент (декремент) бывает префиксный и постфиксный.Пример префиксного инкремента:9int a = ++x; /*если х=5, то сначала увеличиваем х (т.е. х=6),а затем присваиваем её переменной а (т.е. а=6)*/Пример постфиксного инкремента:int b = x++; /*если х=5, то сначала присвоить b (т.е. b=5), азатем увеличить на единицу х (т.е. х=6) */5. Операторы отношения: равенства = =, больше >, меньше <,больше или равно >=, меньше или равно <=, не равно !=.6.
Логические операторы: И &&, ИЛИ || , НЕ !.7. Оператор условия ?: имеет следующий синтаксис:(выражение1) ? (выражение2) : (выражение3).Если выражение1 возвращает значение true (т.е. верно), товыполняется выражение2. В противном случае выполняетсявыражение3.8. Оператор ветвления if. В самом простом виде операторветвления if записывается так:if (условие)выражение1;elseвыражение2;Т.е. если условие верно, то выполняется выражение1, в противном случае выполняется выражение2. Выполняемых выражений может быть несколько:if (условие){ выражение1;выражение2;…………….выражение N;}elseвыражениеM;Возможно создание вложенных конструкций типа ветвление споследующим ветвлением, по иному условию:if (условие1){if (условие2)выражение1;else{if ()выражение2;10elseвыражение3;}elseвыражение4;Пример программы по заданию условий.
Напишите и протестируйте программу, которая вычисляет значение функцииaY =a++ 2.5 * x ; где а – параметр, который зависит от аргуa +1мента х: а=3,5*х , если х≥-2, и а = х+1,5 , если х < -2.#include <iostream.h>int main(){double x,a, answer;cout << "Enter a value of x: ";cin >> x;if (x>= - 2){ a = 3.5*x;answer = a + (a/(a+1)) + 2.5*x;}else{ a = x + 1.5;answer = a + (a/(a+1)) + 2.5*x;}cout << "Value of fuction Y is " << answer << endl;return 0;}9.
Оператор ветвления switchПозволяет осуществлять ветвление программы с количеством ветвей больше двух за один раз.switch( выражение ){case первое_значение: оператор;break;case второе_значение: оператор;break;11case значение_N : оператор;break;default : оператор;}Оператор switch сравнивает выражение, указанное в скобках, со значениями, приводимыми после ключевого слова case.В случае совпадения выполняются операторы, следующие последвоеточия до оператора break с последующим выходом изswitch.
В случае отсутствия оператора break после выражения,следующего за case, будет выполняться переход к выражениюочередного блока case. Так бывает, когда оператор break пропущен по ошибке. Если же это делается умышленно, то вставляйте комментарии во избежание недоразумений.Если выражение не совпадает ни с одним из случаев, указанных в case, то выполняется оператор по умолчанию, следующий после ключевого слова default.Лабораторная работа №2. Программирование условийСоздайте самостоятельно программу вычисления значенияфункции в соответствии с вводимым значением переменной х всоответствии с вашим вариантом (см. Табл.2).Примечания: 1) если в задании имеются тригонометрические функции и возведение в степень, то необходимо в началепрограммы подключить стандартную библиотеку математических операций, записав: #include <math.h> после #include<iostream.h>.; 2) возведение числа а в степень b осуществляетсякомандой pow (a,b).Таблица 2№1Y=2a 2 + 7a − 2Y =+ X3x − 2.5a=⎧ x + 1.5 x 3 + e x +1 ( −2 ≤ x ≤ 5)⎪⎪4.5 x + 1.5 (5 < x ≤ 7.5)a=⎨⎪ x + 1 ( x > 7.5)⎪⎩не определено ( x < −2)122Y =⎧2 + 2 x ( x ≤ 4 )⎪a = ⎨3 (4 < x ≤ 5)⎪ x + 1 ( x > 5)⎩2+ a3x32.2a + 3.2a 2 − 2Y =x − 1.54x + (2.2a + xa )2Y =x +156789⎧2 sin x + 4 cos 2 x 2 (-1 ≤ x ≤ 1)⎪⎪ x + 3.5 (1 < x ≤ 5)a=⎨⎪− 4.6 ( x > 5)⎪⎩не определено ( x < −1)⎧5 + 2 x ( x ≤ 3)⎪a = ⎨4 (3 < x ≤ 7)⎪ x − 1 ( x > 7)⎩xππ⎧Y = 3x + a 2 −xxxsin2cos()+≤≤⎪⎪2ax22a=⎨⎪ x − 2.5 для остальных x⎪⎩ 2 + xa2 x + 1 ( x ≤ 2)+ x 3a a = ⎧⎨Y = 7.3 −(1 + x )⎩ x + 3 ( x > 2)3x 2 + a 2Y = a + 2x +a+xY =2+ a3 + exxY = a + 2 .8 x +x+a3− x⎧3.2 x + 1 x < 3.14⎪a = ⎨ x sin x ( x = 3.14)⎪ x ( x > 3.14)⎩4ππ⎧ 2()+≤≤xx⎪sin x + 222⎪⎪⎪5 ( π < x ≤ 2.5)a=⎨2⎪ x + 1 ( x > 2.5)⎪⎪не определено ( x < − π )⎪⎩2⎧4 x + 2.5 ( x ≤ 2.5)a=⎨⎩1.5 x + 8 для остальных x1310Y =a+a+ 2.5 xa +111 Y = 2.5a 2 + a + x12x2Y =a−a132+ x+ a 3 − 3xY=x⎧3.5 x ( x ≥ −2)a=⎨⎩ x + 1.5 ( x < −2)⎧5 ( x < 3)a=⎨⎩1.5 x + 8 ( x ≥ 3)⎧3.5 x ( x < 4)a=⎨⎩ x − 5 ( x ≥ 4)⎧3.7 x (-6 < x ≤ −3)⎪a = ⎨ x 2 + 3x − 3 (-3 < x ≤ 8)⎪не определено для остальных x⎩Лабораторная работа №3.
Программирование цикловЦиклом называется алгоритмическая структура, выполняющая какие-либо повторяющиеся операции. Для организации циклов в С++ используются операторы:1. whilewhile ( условие){тело цикла;}Пока условие истинно, выполняется тело цикла. Условиеможет быть сложным, например: a>b && b>0 && a<MAX.ываетнужно перейти на следующую итерацию цикла до завершениявыполнения всех операторов тела цикла. Для этого используютоператор continue.Чтобы выйти за пределы цикла, даже если условие продолжения цикла выполняются, используют операторbreak.2.
do … whileПри использовании этой конструкции условие проверяетсяпосле выполнения тела цикла. Это гарантирует выполнение операторов цикла как минимум один раз.do{тело цикла;} while (условие);143. forОператор for объединяет сразу три операции: инициализация,проверка условия, приращение счётчика цикла. Счётчиком называется переменная, подсчитывающая количество выполненийцикла.for (int i=0; i<5; i++){действие 1;действие N;}В случае множественной инициализации и приращения запись оператора будет выглядеть следующим образом:#include <iostream.h>int main(){for (int i=0, j=0; i<3; i++, j++)cout << ”i: ” << i <<”j: ”<< j << endl;return 0;}Проверьте на компьютере, что выполняет данная функция.Кроме того, циклы могут быть вложенными:for (int i=0; i<row; i++){ for (int j=0; j<column; j++){действие 1;действие 2;}действие 3;}Замечание 1.
Функции в языке Visual C++. Функция, по сутисвоей, это подпрограмма, которая манипулирует с данными ивозвращает некоторое значение. Каждая программа на С++ имееткак минимум одну функцию main(), которая при запуске вызывается автоматически. Функция main() может вызывать другиефункции, которые могут вызывать следующие функции и т.д.15Существует два вида функций: функции, определяемыепользователем и встроенные (стандартные), которые являютсясоставной частью пакета компилятора. Для использования функции в программе требуется, чтобы функция сначала была объявлена (прототип функции), а затем определена (тело функции).Существует три способа объявления функции: 1) запись прототипа функции в файл, а затем с помощью команды #includeимя_файла включить его в свою программу; 2) запись прототипа функции в файле, в котором эта функция и используется; 3)определение функции одновременно с её объявлением.
Примеробъявления функции:int FindArea (int length, int width);сначала указывается тип возвращаемого значения int, затем имяфункции FindArea, затем в скобках типы и имена параметровфункции через запятую. Значения параметров можно инициализировать в объявлении прототипа. Например:int Area (int W=25, int H);.Допускается задание прототипа функции без имён параметров, атолько указывая их типы, например:long Area (int, int);Определение функции состоит из заголовка и тела функции.В заголовке функции указывается тип возвращаемого значения,имя функции и в скобках - типы и имена параметров через запятую.
Обратите внимание что в конце заголовка функции не ставится точка с запятой (;) как это обычно принято в С++. Далееоткрывается фигурная скобка и записывается тело функции, которое определяет то, что данная функция выполняет. Операторreturn возвращает значение функции. Необходимо следить, чтобы тип возвращаемого значения соответствовал типу, указанномув объявлении. После закрывающей тело функции фигурной скобки также отсутствует точка с запятой. Пример:int FindArea (int length, int width) // заголовок функции{return (length*width);}В функцию можно не только передавать значения переменных, но и объявлять переменные внутри тела функции.
Эти пере-16менные существуют только внутри самой функции и называютсялокальными. Когда выполнение программы передаётся обратноиз функции к основному коду, локальные переменные удаляютсяиз памяти. Глобальные же переменные имеют глобальную область видимости и доступны из любой точки программы. Пример: создание функции, переводящей температуру из шкалы поФаренгейту в градусы Цельсия.#include <iostream.h>float Convert(float); // прототип функцииint main(){float TempFar;float TempCel;cout<< "Enter the Temperature in Fahrenheit: ";cin >> TempFar;TempCel = Convert (TempFar);cout << "\nThe Temperature in Celsius is: ";cout << TempCel << endl;return 0 ;}float Convert(float Fer) /* заголовок функции. Обратитевнимание на отсутствие ; в конце */{float Cel;// тело функцииCel = ((Fer - 32) * 5)/9; // тело функцииreturn Cel;// тело функции}// конце строки тоже нет точки с запятойВозврат значения из функции осуществляется операторомreturn.