Порядок выполнения лабораторных работ 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Порядок выполнения лабораторных работ



Порядок выполнения лабораторных работ

1. Изучить теоретические сведения по теме.

2.  Построить схему алгоритма для решения задач в соответствии с вариантом, выданным преподавателем, для каждого задания.

3.  Подготовить текст программы и набрать его в окне редактирования.

4. Откомпилировать программу (F9) и исправить синтаксические ошибки.

5.  Выполнить программу для реальных исходных данных (Ctrl+F9).

6. Просмотреть результаты (Alt+F5) и записать в тетрадь.

7. Оформить отчет по текущей лабораторной работе, в который включить:

- номер работы (лабораторная работа № 1), 

- тема работы,

- условия задач,

- схемы алгоритмов,

- тексты программ,

- результаты выполнения программ, выводы.

8. Защитить лабораторную работу преподавателю.

Лабораторная работа 1

Основы программирования в среде языка СИ.

Оператор присваивания

Оператор присваивания имеет вид <идентификатор> =  <выражение>;

В арифметических выражениях могут использоваться операции (приложение Б) и математические функции из библиотек <stdlib.h> и < math.h > [7].

Наиболее часто применяются  функции библиотеки < math.h >:          

double sin(double x) – sin x ;      double exp(double x)   ех;

double cos(double x) – cos x ;      double log(double x)    ln х;

double tan(double x) –  tg x ;      double log10(double x)  lg х;

 double fabs(double x) |x|;       long labs(long x) |x| для целого x;

double sqrt(double x)  ;           double pow(double x, double y) – xy;

double sinh(double x) –sh x;     double cosh(double x) – сh x;

double tanh(double x) – th x;      double atan(double x) – arctan х;

double acos(double x) – arccos x; double asin(double x) – arcsin x;

double ceil (double x) ­  ближайшее целое, не меньшее, чем х;

double floor (double x) – ближайшее целое, не превышающее х;

double fmod (double x, double y)  остаток от деления нацело x на y;

doublemodf (double x, double * ptr)  - расчленение числа с плавающей точкой на целую и дробную части. Дробная часть возвращается функцией. Целая часть записывается в область памяти, на которую указывает ptr.

Void main()

{

float A,S;   //объявление переменных плавающего типа

clrscr();          //очистка экрана

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.83 для А = 5.

 

Предварительно рассчитанный при подготовке к лабораторной работе на калькуляторе результат для А = 5 составил S = 10.8253, что подтверждает верность программы.

 

Задание 1 ( программа 1_1)

x1 x2 a b c Вычислить
1 2 3 4 5 6 7
1 1 2 1.5 2 -0.7
2 1 2 0.7 - 2.1
3 0 2 2 1.2 1
4 1 2 4.1 -2.3 -
5 -1 1 0.5 2 1.5
6 2 4 0.5 1.3 -
7 0 2 0.5 1 -
8 -1 1 2.7 1.7 -
9 0 π/2 2 0.7 0.5
10 1 0 0.5 2.9 1.5
11 1 2 1.5 -1.2 -
12 1 2 0.5 1.7 2
13 -1 1 0.5 1.2 -
14 1 2 0.5 3.1 -
1 2 3 4 5 6 7
15 1 2 0.5 3.2 -
16 0 1 1 2 4
17 0 1 1 3 -
18 -1 2 1 2 -
19 1 2 2 3 1
20 -1 1 2 π/6 0,5

Задание 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. Вычислить, какая идет секунда суток при положении стрелок в h часов, m минут и s секунд, а также угол (в градусах) между положением часовой стрелки в начале суток и ее положением в указанный момент.

9. Ввести двузначное целое число х<15. Написать программу перевода его в восьмеричную систему счисления.

10. Ввести координаты двух точек (х1, y1), (x2,y2). Найти расстояние между ними.

 

 

Лабораторная работа 2

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 (<выражение>)

{       

       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 – число углов

clrscr();                                  // очистка экрана

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            при 1 ,

где 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 ,

 

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                при 7 ,

 

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 )         при x ,                                   

 

6. Для t [-1.4],                                при t<0.1,

где a=2.1,b=0.37.    z =     at + b                 при 0.1£ t< 2,

                                                        при t ,

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          при x ,

где a=1.8,b=-0.5, c=3.5             (a + bx)/        при x>1.2,  

  

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                 при 2.3 ,

                                                e-ax cos b x          при x

 

11. Для t [0.5,3],                 a t2 – b              при t<a,

где a=1.3,b=6.5        z=    a - b               при a

                                              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 (т.е. может быть получен умножением старшей цифры k на следующую по порядку и припиской «25»). Например, 35 * 11 = 3*4*100 + 25.

Для задания 2 номер варианта определяется остатком от деления индивидуалного варианта на число 12.

Лабораторная работа 3

Числом повторений

Оператор цикла с счетчиком:

for (<выражение1>; <условие выполнения>; <выражение2>) <оператор>;

где <выражение1> - это выражение инициализации цикла (может содержать несколько операторов, разделенных запятыми);

<выражение2> -  изменение параметра цикла (не обязательно целое).

 

  Пример 1. Вычислить сумму элементов s=1+1/4+1/9+1/16+....

На основе анализа изменения параметра знаменателя определим алгоритм решения за­дачи (pис. 3) и напишем программу: 

#include <stdio.h>

#include <conio.h>

Void main ()

{

 float s = 0, r;

 int i,N;

 clrscr(); //очистка экрана

 printf ("\n Введите N ");

 scanf ("%d",&N);

 for (i=1; i<=N; i++)

{                                                                    

r = 1.0/ (i*i);

s+ = r; // s = s + r

}

printf ("Сумма = %6.2f\n ",s);

getch();

}

Пример 2. Вычислить значения двух функций F1(x) = tg(x) и F2(x) = sin(x) в n точках, рав­номерно распределенных на интервале a ≤ x ≤ b, где a = -π/4, b = π.

Для реализации первого варианта данной задачи разработана СА (pис. 4) и cледующая программа:

#include <stdio.h>

#include <conio.h>

#include <math.h>

# define b 3.1415

Void main ()

{

float F1, F2, x, dx, a = - b/4; // dx - шаг изменения x

int i, n; // i - переменная цикла

clrscr();  // очистка экрана

printf ("Введите число точек \n");

scanf ("%d", & n);

dx = fabs(b-a)/(n-1);

x = a;

printf (" ___________________ \n");

printf ("| I  | X | F1 | F2 | \n");

printf ("|---|--------|--------|--------|\n");

for (i=1; i<=n; ++i) // оператор цикла

{ F2 = sin(x);

F1 = tan(x);          // вычисление tg x

 printf (" |%3d| %8.3f |%8.4f| %8.4f|\n", i, x, F1, F2);

x=x+dx;                // x += dx

}

printf (" ____________________ \n");

getch();

}

Если точки не нумеровать, можно в цикле применить параметр х и шаг изменения dx. Тогда во втором варианте программы оператор цикла  имеет вид: for (x = a; x <= b + dx / 2; x + = dx) {... }

Задание 1 ( программа 3_1)

Для заданных с клавиатуры значений переменных x и n вычислить

1. X = 1 + 1/2 + 1/3 +... + 1/10.                2. Z = 2. 4. 6. 8.... .20.

3. Y = -x + 4x - 9x +... - 81 x..              4. Y = x + x/3 + x/5 +... + x/17.

5. Y = n! = 1. 2 . 3 .....n.                            6. Y = 1 - 3 + 32 - 33 +... + 310.

7. Y= x2/(2i-1).  8. Z =  (x+i)/i.  9. Y= x2/i.     

10. Y = 1 + x/2 + x2/4 + x3/6 +... + xi/2i +... + x9 /18.

  11.  Y = 1 + x2/1! + x4/2! + x6/3! + … + x20/10! = 1 + x2i/i!.        

  12. Y = 1 - x +x3/3! -x5/5!+...+(-1)n x2n-1/(2n-1)!+... +x11/11!.

13. е = 1 + 1/1! + 1/2! + ... + 1/n! +... (сравнить результат со значением функции EXP(1), определенной в Паскале).

14. π = 4(1-1/3+1/5-1/7+…+(-1)n/(2n+1)+…) (результаты сравнить с определенным в языке Паскаль числом Pi).

15. Y = arctg x = x - x3/3  + x5/5- ... + (-1)n x2n+1/(2n+1)+... (|х|<1).                                    

16. Z = LN(1+x) = x - x2/2 + x3/3 - ... + (-1)n-1 xn/n +... (|x|<1).

17. S =  x - x3/3! + x5/5! - ... +(-1)n x2n+1/(2n+1)! +....

18. Вычислить суммы положительных  и отрицательных значений функции  z = cos(nx + a) sin(nx-a),  где n = 1,2,...,5, a и x - вещественные числа.

19. Вычислить сумму четных и сумму нечетных чисел натурального ряда  до N.

   20. Найти сумму факториала M= i!.

Задание 2 (программа 3_2, программа 3_3)

Вычислить значения двух функций в n равномерно распределенных в диапазоне а≤x≤b точках. Результаты оформить в виде таблицы.

№ п/п  a  b  n F1(х) F2(х)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 -1 -2 0 - -1 -4 1 1 0 - 0 1 2 2 0 1 3 1   2 2 5 5 3 4 3 4 2 2 4 4 5 2 4 3   20 18 15 14 16 20 20 12 15 20 20 18 16 12 10 16 18   15 18   sin x cos x 1+2x+5 4e-|x|-1 | x+10|5 2 sin 2x +1 2-cos x 2-x/100 x3e2x 1/(1+ ) 5-3 cos x |sinx|+|cosx| e-x+cos2x e-x lg x cos x/2 2x lg x - 3x lg x 3-x/50 e2x  - sin x 2x  arctg x - 5   sin x + cos x -1 (x-1)3 cos x e-(x+5) (x+5)3 (1+sin2x)                            20/(1+x2) ex sin x x ln2 x 2x/(1-4x) |sin x| - |cos x| e -2x x + sin x  +  e -x ctg x x e -x +ln x 10/(2+x2) e axx е2x lg x - 33x

Лабораторная работа 4

Void main ()

{

float a,x,y;                                                                                     

clrscr();                                                                           

printf ("-------------------------------\n");                          

printf (" a|    x|     y |\n");

printf ("-------------------------------\n");

a=0.1;

while (a<=0.31)

{     printf ("%5.2f\n",a);

    x = 0.5;

                     while (x<=0.91)

                     {

                              y=a*tan(x/4);

                              printf (" %12.2f| %10.2f\n",x,y);

                              x=x+a; // x+=a;

                     }

                     printf("-------------------------------\n");

                     a=a+0.1; // a+=0.1;

}

getch();              

}

   Второй вариант программы можно реализовать через циклы   ….

Задание 1 (программа 4_1)

Начертите структурную схему алгоритма, напишите и отладьте про­грамму для табуляции следующих функций:

1. S = a e-xsin ax+                      при -1 <= x <=1 с шагом 0.2,

a = 0.75,                          1<=y <=5  с шагом 1.5.

   2. Z = + 1,3 sin(x-a) при 2 <=x <=5  с шагом 0.5,

a = 1.9,                                -1<=y<=1  с шагом 0.5.

    3. S = e2 t ycos(t-a)                  при 1<=t<=2   с шагом 0.2,

a = -2.1,                        2<= y<=3 с шагом 0.3.

4. Z = bx (tx+2.1)                        при 1<= x<=2 с шагом 0.2,

             b = 3.5                                             0<= t<=1 с шагом 0.2.

5.                         ,                      если 0 <= x <= 2,      a = 0.50; 0.75,     

       Z=                                                 если 2 < x <= 3.6,      шаг dx=a/2.

 

6.      sin ax - ,        если 0.1 <=x <= 0.4,

Y=   a cos2(px),                     если 0.4 < x <= 1.2,   a = 1.0; 1.5,

         2 - sin ax,                  если 1.2 < x <=1.6,   шаг dx=a/5.

7. Z= ln(a+x2/ ),                  если 0 <=x <= 2,     a=1.0; 1.3; 1.6,

        2 e2x,                         если 2 < x <= 3.6,    шаг dx=a/4.

8.   a(ex+2a+e-(x-3a),                  если 0.1 <= x < 0.5,   

Z = sin x,                                если  x = 0.5,        a = 2; 2.1,

          a + a cos(x+3a),                если 0.5 < x <= 1.5,  шаг dx=a/10.

9.   -a ex-3a,                        если 0 < x<= 3,           a = 1; 1.5,

Z= -a(1+ln(x-3a)),           если 3 < x <= 4,      шаг dx=a/2.

10. - (x+3a)2 - 2a,             если -1 <=x <= 0,          a = 0.7; 1,

Y = a cos(x+3a) - 3a,        если 0 < x < 1,        dx=(a+0.2)/2.

          a ex,                            если   x = 1,          

11.       a(x-a)3/2,                  если 1 <= x <= 2.5,   a = 0.5; 1.0,

Z=    a/2(ex/a+e-x/a),                если 2.5 < x <= 4,      шаг dx=a/2.

12.  ,                        если 0.5 <= x < 1.5,      a=0.1; 0.2; 0.3,

Y = a cos x,             если    x = 1.5,            шаг dx=2a.

           (a x2 + 1)x,                      если 1.5 < x <= 3,                

13. (sin2x +a)2 ea sinX,      если 0.1<=x<= 0.5,           a=0.1;0.2;0.3,

Z = tg(x/4),          если 0.5 < x <=0.9,            шаг dx=a.

14. tg(a2 +sin px),              если 0 <= x <= 1,  

Y = a sin(p- cos px),       если 1 < x <= 2,                a=0.5; 0.75; 1;

        lg x,                    если 2 < x < 3,                   шаг dx=a/4.

15. Z= ecos x -a sin2(px),      если 0.5 <= x <= 1.5          a=0.1;0.7;1.3,

       a x2 - cos px,            если 1.5 < x <= 2               шаг dx= a/4.

16. 1/x,                     если 0.1 <= x <= 0.4   

Y =  ln(x2+ ax),        если 0.4 < x <= 1.2          a = 1.0; 1.5,

               x2,                       если 1.2 < x < 1.6    шаг dx = a/5.

17. Дана непустая последовательность различных натуральных чи­сел, за которой следует нуль (признак конца последовательности). Оп­ределить порядковый номер наименьшего из них и его значение.

18. Найти первый отрицательный член последовательности cos (ctg), где n =  1,2,3,.... Напечатать его номер и значение. Распечатать всю последовательность

19. Вычислить наибольший общий делитель (k) натуральных чисел d и f. Оператор FOR не использовать.

20. Дан ряд неотрицательных вещественных чисел. Определить, сколько из них больше своих «соседей»: предыдущего и последующего чисел. Признаком окончания ряда чисел считать появление отрицательно­го числа.

Задание 2 (программа 4_3)

Модифицировать (изменить) программу 3_2 для вычисления функций F1(x) и F2(x) с применением вместо счетного цикла оператора цикла с предусловием. Выполнить ее и сравнить результаты с полученными в пре­дыдущей работе.

 

Лабораторная работа 5

С постусловием

 

Стpуктуpа оператора цикла с постусловием

do {<операторы>} while (<условие выполнения>);

Пример.  Вычислить 15 значений функций y1(x) = tg(x); и y2(x) = ctg(x) при a ≤ x ≤ b,  a=0.6*Pi, b=0.7*Pi. 

   Для вычислений разработана СА (рис.6) и  следующая программа:

#include <stdio.h>

#include <conio.h>

#include <math.h>

Void main()

{

int n=14;

float a=0.6*M_PI, b=0.7*M_PI;

float x, y1, y2, dx;

clrscr();

dx=fabs((a-b)/n);

x=a;

do

{

y1=tan(x);

y2=1/y1;

printf ("x= %6.4f y1= %7.4f y2= %7.4f\n",x,y1,y2);

x=x+dx;

}

while (x<=b);

getch();

}

Пример 2. Вычислить сумму элементов

s = 1+1/4+1/9+1/16+... c точностью до                

 E = 0.00001 (рис. 7).

#include <stdio.h>

#include <conio.h>

void main ()                                                                    

{

float E=0.00001;

float s, r;      // s- сумма, r-слагаемое

int i;          // счетчик слагаемых

s = 0;

i = 1;

do

{

r = 1.0/(i*i);   // вычисление слагаемых

s = s + r;   //  s+ = r;

i++; //  i = I +1;

}

while (r > E);      // сравнение слагаемых с Е

printf ("Сумма=%9.5f\n",s); // вывод суммы

getch();

}

Задание 1 (программа 5_1)

Модифицировать программу 3_2 для вычис­ления функций F1(x) и F2 (x) с применением опе­ратора цикла с постусловием. Выполнить ее и сравнить результаты с полученными ранее.

Задание 2 (программа 5_2)

Начертить структурную схему алгоритма, написать и отладить прог­рамму для одной из следующих задач.

1. Вычислить приближенное значение z = arctg x и сравнить с

 x - x3/3 + x5/5 - ... + (-1)nx2n+1/(2n+1) +... (|х|<1), прекращая вычисления, когда очередной член по абсолютной величине бу­дет меньше eps=0.00001.

2. Вычислить y = x - x2/2 + x3/3 - ... + (-1)n-1xn/n +...        с точностью eps=0.00001, где |x|<1. Сравнить результат с вычисленным через стандартную функцию значением y = LN(1+x).

3. Вычислить y = 1 + x/1! + x2/2! + ... + xn/n! +... с точностью eps=0.00001 и срав-нить результат с вычисленным через стандартную функцию значением y = ЕXP(x).

4. Вычислить y = sin x = x - x3/3! +x5/5! -...+ (-1)nx2n+1/(2n+1)!+... с точностью eps=0.00001.

5. Вычислить y = 1 - x2/2! + x4/4! - ... + (-1)n x2n /(2n)! +... с точностью eps =  0.0001 и сравнить результат с вычисленным через стандартную функцию значением y = cos (x).

6. Найти произведение цифр заданного натурального числа.

7. Определить число, получаемое выписыванием в обратном порядке цифр заданного натурального числа.

8. Определить номер первого из чисел sin x, sin(sin x), sin(sin(sin x)),.., меньшего по модулю 10-3.

9. Дана непустая последовательность различных целых чисел, за которой следует нуль. Определить порядковый номер и величину наиболь­шего среди отрицательных чисел этой последовательности.

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

11. Дана непустая последовательность положительных целых чисел, за которой следует отрицательное число (это признак конца последова­тельности). Вычислить среднее геометрическое этих чисел.

12. Дана непустая последовательность ненулевых целых чисел, за которой следует нуль. Определить, сколько раз в этой последователь­ности меняется знак.

13. Числа Фибоначчи (fn) определяются формулами

f0 = f1 = 1; f n = f n-1 + f n-2 при  n = 2,3,....

Вычислить сумму всех чисел Фибоначчи, которые не превосходят 1000.

14. Дана непустая последовательность положительных вещественных чисел х1, х2, х3,..., за которыми следует отрицательное число. Вычис­лить величину

 х1 + 2х2 +... + (N-1)xN-1 + N хN,   где N заранее не известно.

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

16. Определить, есть ли среди цифр заданного числа одинаковые.

17. Определить, является ли заданное натуральное число палиндромом, т. е. таким, десятичная запись которого читается одинаково слева направо и справа налево.

18. Вычислить наименьшее общее кратное натуральных чисел a и b.

19. Дано число L. Определить первый отрицательный член последовательности х1, х2, х3,..., где х1= L, xi = tg(xi-1).

20. Определить, является ли заданное натуральное число совершенным, т.е. равным сумме всех своих (положительных) делителей, кроме самого этого числа (например, совершенное число 6=1+2+3).

 

Задание 3 (программа 5_3)

Модифицировать программу 4_1 с использованием оператора цикла с постусловием do … while и сравнить с полученными результатами в работе 4.

 

Лабораторная работа 6

Void main ()

{  

  int a[10] = {5,2,7,1,8,3,4,5,6,6};

int i, min, n;

min = a[0];

n = 0;

for (i=0; i<10; i++)

{

if (a[i]<min)

{   min = a[i];

       n=i+1;

}

}

printf ("минимальный элемент %d-й равен %d\n ", n, min);

getch();

}

Если элементы массива вводятся с клавиатуры, то СА имеет вид (рис.8,б) и текст программы изменится:

#include <stdio.h>

#include <conio.h>

Void main ()

{    int a[10];

   int i, min, n;

 printf(“Введите элементы массива: ”);

 scanf ("%d",&a[0]);

 min = a[0];

 n = 1;

 for (i=1; i<10; i++)

{

scanf ("%d", &a[i]);

if (a[i]<min)

{   min = a[i];

       n = i+1;

}

}

printf ("минимальный элемент %d равен n= %d\n ", n, min);

getch();

}         

Задание 1



Поделиться:


Последнее изменение этой страницы: 2021-07-18; просмотров: 60; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.123.120 (0.401 с.)