|
Приоритет операций в выражении
Таблица типов данных С/С++ приведена в приложении В. Пример 1. Вычислить площадь прямоугольника по длинам его сторон А и В. Обозначим площадь переменной S, необходимо найти S=A*B. Программа набирается в окне редактора С++ и компилируется Сначала подключаются библиотеки #include <stdio.h> // для ввода/вывода #include <conio.h> // для функций работы с экраном void main () // Заголовок главной программы { int A=2, B=3, S; // объявление переменных целого типа S=A*B; // оператор «выражение» printf ("\n Площадь прямоугольника = %d\n", S); // вывод getch(); // вызов функции задержки работы до нажатия любой клавиши } В результате выполнения программы на экран выводится сообщение: Площадь прямоугольника = 6. Пример 2. Найти площадь равностороннего треугольника. Если стороны треугольника имеют размер А, то его площадь S = A2 sin(π/3)/2. Схема алгоритма (СА) для этой задачи (рис.1) выполнена по ГОСТ 19.701-90 (прил. Г [2]). Текст программы: #include <math.h> #include <stdio.h> #include <conio.h> #define PI 3.1413 //директива постановки Void main() { float A,S; //объявление переменных плавающего типа printf (" Введите А"); scanf ("%f",&A); // ввод S=A*A*sin(PI/3)/2; printf (" Результат: S=%6.2f для A=%f\n", S, A); getch(); // из библиотеки <conio.h> } После выполнения программы на экран выводится: Результат: S = 10.8 для А = 5. Предварительно рассчитанный при подготовке к лабораторной работе на калькуляторе результат для А = 5 составил S = 10.8253, что подтверждает верность программы. Задание 1 ( программа 1_1)
Окончание задания 1
Задание 2 (программа 1_2) 1. Идет k секунда суток. Определить, сколько целых часов (h) и целых минут (m) и секунд (s) прошло к этому моменту. 2. Определить площадь трапеции с основаниями а, b, высотой h и объем усеченного конуса, если считать а, b - площадями оснований. 3. Определить координаты центра тяжести трех материальных точек с массами m1,m2,m3 и координатами (x1,y1), (x2,y2), (x3,y3). 4. Вычислить по заданному радиусу R объем шара и площадь круга, найти соотношение между ними. 5. Вычислить медианы треугольника по заданным сторонам a, b, c. 6. Вычислить площадь поверхности и объем конуса по заданным радиусам и высоте h. 7. По заданному радиусу найти объем шара и площадь поверхности. 8. Вычислить, какая идет секунда суток при положении стрелок в 9. Ввести двузначное целое число х<15. Написать программу перевода его в восьмеричную систему счисления. 10. Ввести координаты двух точек (х1, y1), (x2,y2). Найти расстояние между ними. Лабораторная работа 2 Программирование разветвленных алгоритмов. Операторы передачи управления Оператор if Структура условного оператора передачи управления: if (<условие>) { <оператор 1> } Else {<оператор 2>; }
где <условие> - это произвольное выражение логического типа, которое может принимать два значения: истина (TRUE) и ложь (FALSE); <оператор> - любой оператор языка СИ, заканчивается точкой с запятой, if (если), else (иначе) - ключевые слова, Сокращенная форма условного оператора: (Если оператор один (нет оператора в части «иначе»), то используется сокращенная форма) if (<условие>) <оператор>; Оператор goto Оператор безусловного перехода: goto <идентификатор-метка>; Оператор goto безусловно передает управление в инструкцию с меткой, заданной идентификатором. Меткой является идентификатор. Метка размещается перед оператором С/С++, к которому выполняется переход и отделяется двоеточием (:). Пример 1. Составить программу для начисления базовой зарплаты согласно следующему правилу: если стаж работы сотрудника менее трех лет, то зарплата равна 100$, при стаже работы от трех до 5 лет - 150$, свыше 5 лет зарплата повышается с каждым годом на 10$, причем при стаже, превышающем 20 лет, она составляет 300$. Для программирования решения этой задачи определим математическую формулировку задачи:
100, если ST < 3; ZP= 150, если 3 ≤ ST £ 5; 150+ (ST -5)*10, если 5 < ST≤ 20; 300, если ST > 20; где ZP - зарплата, ST – стаж работы. Далее построим СА (рис.2 а), ей соответствует следующая программа: #include <stdio.h> #include <conio.h> Void main () { int ST; // ST – стаж (байтовый (целый) тип беззнаковый) float ZP; // ZP – зарплата (плавающий тип) printf ("\n Введите стаж "); scanf ("%d",&ST); if (ST<3){ ZP = 100; }else{ if (ST<5) {ZP = 150; }else{ if (ST>=20){ ZP=300; }else{ ZP=150+(ST- 5)*10;}}} printf ("\n Зарплата = %10.2f$\n",ZP); getch(); } Оператор выбора switch Оператор выбора switch позволяет в зависимости от значения какой-либо переменной или выражения (ключа выбора) выполнить те или иные операторы, помеченные соответствующими константами. Структура оператора: switch (<выражение>) { case<константа 1>: <группа операторов 1>; case <константа 2>: <группа операторов 2>; ... case <константа N>: <группа операторов N> default: <операторы>; }; где <выражение> – выражение (переменная) любого порядкового типа; <константа> – константа того же типа, что и <выражение>; <оператор> – произвольный оператор C/C++. Пример 2. Напечатать в зависимости от числа углов название фигуры (треугольник, четырехугольник, пятиугольник, шестиугольник, многоугольник). Вариант реализации задачи с применением оператора выбора представлен СА (рис. 2б) и следующей программой: #include <stdio.h> #include <conio.h> Void main () { int T; // T – число углов printf ("Введите число углов "); scanf ("%d",&T); Switch (T) { case 1: case 2: printf ("Это не фигура\n "); break; case 3: printf ("С %d углами - треугольник\n ", T); break; case 4: printf ("С %d углами - четырехугольник\n ", T); break; case 5: printf ("С %d углами - пятиугольник\n ", T); break; case 6: printf ("С %d углами - шестиугольник\n ", T); break; default: printf ("С %d углами - многоугольник\n ", T); } getch(); } Задание 1 (программа 2_1) Вычислить значение функции в зависимости от интервала, в который попадает вводимый с клавиатуры аргумент: 1. Для t [0,3], a t2 ln t при где a=-0.5,b=2 z = 1 при t<1, e a t cos b t при t>2,
2. Для x [0,4], при x>2, где а=2.3 f = х при 0.3< x £ 2, cos(x-a) при x≤0.3,
3. Для x [0,7], (a+b)/(ex+cosx) при 0 £ x<2.3, где a=-2.7,b=-0.27 z = (a+b)/(x+1) при 2.3£ x<5, ex+sinx при ,
4. Для i [7,12], a i4 + b i при i< 10, где a=2.2,b=0.3. y = tg(i + 0.5) при i = 10, e2i + при i >10,
5. Для x [0.9,5], x2 - 7/x2 при x<1.3, где a=1.5 y = ax3 + 7 при 1.3 £ x<3, lg(x + 7 ) при ,
6. Для t [-1.4], при t<0.1, где a=2.1,b=0.37. z = at + b при 0.1£ t< 2, при , 7. Для x [0,6], a esin x +2.5 при x<0.3, где a=1.5. y = ecos x + a при 0.3£ x<4,
(sin x)/ (a + ex) при x ³ 4, 8. Для x [1,2], y = a/x + b x2 - c при , где a=1.8,b=-0.5, c=3.5 (a + bx)/ при 1.2<x< 4, 9. Для t [1,5], t при t>a, где a=2.5 z = t sin a t при t=a, e-at cos a t при t<a, 10. Для x [0,4], e-bx sin b x при x<2.3, где a=1,b=3. y= сos bx при , e-ax cos b x при
11. Для t [0.5,3], a t2 – b при t<a, где a=1.3,b=6.5 z= a - b при a t2/3 - при t>b, 12. Для x [0,2], |e-2x sin bx| при x >1, где b=-2.9 y = cos bx при x = 1, e-x cos bx при x < 1,
13. Для x [0.5,2] sin (cos a x) при x >1, где a=-0.8 z = tg ax при x = 1, a2 x при x < 1,
14. Для x [1,2], ln bx - 1/(bx+1) при x < 1.3, где b=1.3. y = bx + 1 при 1.3 < x < 1.7, ln bx +1/(bx+1) при x > 1.7, 15. Для x [-1,1], ax2+bx2/3 при x<0.1, где a=2.5,b=-0.9. z= a x2 при x=0.1, b x2/3 при x>0.1.
16. Ввести координаты точки (x, y). Напечатать, в каком квадранте или на какой оси координат находится эта точка. 17. Ввести радиусы R1, R2 и высоту. Вычислить объем усеченного конуса: , где S – площадь оснований. Если R1 = R2 – объем и площадь цилиндра, если R1 = 0 или R2 = 0 – объем (hπr2) и площадь πr() поверхности конуса. 18. Ввести с клавиатуры цифру. Определить, какой системе счисления она может принадлежать. 19. Ввести число. Определить, делится ли оно нацело на два, три или пять. 20. Ввести a, b, h. Если h=0, вычислить площадь прямоугольника; при a = b, найти площадь квадрата; в противном случае подсчитать площадь трапеции. Задание 2 (программа 2_2) 1. Определить остаток от деления на восемь введенного числа х и написать восьмиричную цифру прописью. 2. По цифре, введенной с клавиатуры, напечатать название этой цифры. 3. С клавиатуры ввести число k (1..30). Определить, какому дню недели оно соответствует, если первое число – понедельник. 4. Ввести число и номер месяца. Напечатать дату прописью. 5. Идет k секунда суток. Вычислить, сколько прошло часов и полных минут к этому моменту, при этом согласовать со значением слова (час, часа, часов, минута, минуты, минут). 6. В зависимости от номера (N) типа фигуры, организовать ввод необходимых данных и вычислить при N = 1 – площадь круга, N = 2 – объем шара (4/3πR3), N=3 -объем цилиндра, N = 4 – площадь поверхности сферы 4πr2. 7. Ввести число N (0 ≤ N ≤ 15). Определить и напечатать шестнадцатеричную цифру, ему соответствующую. 8. Для целого числа К (1…99) напечатать фразу «Мне К лет», при определенных значениях К слово «лет» заменить словом «год» или «года». 9. В зависимости от номера (N) типа фигуры, организовать ввод необходимых данных и вычислить при N = 1 – площадь прямоугольника, при N=2 – площадь параллелограмма, при N = 3 – площадь трапеции 1/2(a+b)h. В последнем случае напечатать: является ли трапеция параллелограммом или ромбом. 10. Перевести число 0 ≤ х ≤ 31 в шестнадцатеричную систему счисления. 11. Напечатать прописью остаток от деления любого целого числа на пять. 12. По введенному номеру напечатать нужный цвет в радуге. 13. Спроектируйте программу, которая показывает, что, если сумма цифр двузначного числа кратна трем, то и само число делится на три без остатка. 14. Разработайте программу, которая доказывает, что квадрат двузначного числа k5 (последняя цифра – 5), равен k * (k + 1) * 100 + 25 Для задания 2 номер варианта определяется остатком от деления индивидуального варианта на число 12. Лабораторная работа 3 Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право... ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала... Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)... ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|