В очередной раз решил все те же задачи из задачника.
Новая редакция. В этой программе сгруппированы задачи, которым для работы нужно либо 6 чисел, либо одно рациональное число. /* p11 Язык Turbo C 2.0 Основы программирования Переменные: int - 6, float - 1 */ /* 1 - 21k, 2 - 22k, 3 - 23k, 5 - 24k */ #include <conio.h> #include <math.h> #include <stdio.h> float p (int, int, int, int); /* расстояние между двумя точками на плоскости */ float q (float, float, float); /* формула Герона */ main () { int a, b, c, d, e, f; /* исходные данные */ float g; /* исходные данные */ float j, k, l, m; int s, t, u, v; printf ("Введите шесть целых чисел: "); scanf ("%i%i%i%i%i%i", &a, &b, &c, &d, &e, &f); printf ("Введите рациональное число: "); scanf ("%f", &g); /* 11.1.1. */ printf ("1. %i / %i / (%i / %i) = %i / %i.\n", a, b, c, d, a * d, b * c); /* 21.1.6. Даны декартовы координаты трех вершин треугольника на плоскости. Составить алгоритм определения площади треугольника. */ j = p (a, b, c, d); k = p (a, b, e, f); l = p (c, d, e, f); m = q (j, k, l); printf ("2. Площадь треугольника %.4g.\n", m); /* 21.2.7. Дана скорость ракеты при выходе за пределы атмосферы Земли. Составить алгоритм определения того, как будет двигаться ракета после выключения двигателей. (Напомним величины трех космических скоростей: 7,5 км/с; 11,2 км/с; 16,4 км/с.) */ printf ("3. "); if (g < 7.5) printf ("Ракета упадет на Землю.\n"); else if (g == 7.5) printf ("Ракета будет двигаться по круговой орбите вокруг Земли.\n"); else if (g < 11.2) printf ("Ракета будет двигаться вокруг Земли по эллипсу.\n"); else if (g == 11.2) printf ("Ракета улетит от Земли по параболе.\n"); else if (g < 16.4) printf ("Ракета будет двигаться вокруг Солнца по эллипсу.\n"); else if (g == 16.4) printf ("Ракета улетит от Солнца по параболе.\n"); else printf ("Ракета улетит от Солнца по гиперболе.\n"); /* 64.2.28. В следующем фрагменте программы вычисляется сумма конечного числа членов гармонического ряда 1 + 1 / 2 + 1 / 3 + ... + 1 / i + ... Суммирование прекращается, когда очередное слагаемое становится меньше epsilon или целая переменная i достигает значения maxint. */ j = 0; s = 1; while (1) { k = 1. / s; if (k < g) break; j += k; if (s == 32767) break; s++; } printf ("4. Сумма гармонического ряда равна %.4g.\n", j); /* 68.4.32. Вычислить сумму квадратов всех целых чисел, попадающих в интервал (ln x, exp x). */ j = g > 0 ? g : 1; k = log (j); l = exp (j); s = k; if (s <= k) s++; t = l; if (t == l) t--; u = 0; for (v = s; v < t + 1; v++) u += v * v; printf ("5. Сумма квадратов целых чисел %i.\n", u); getch (); printf ("\n"); } float p (int a, int b, int c, int d) { int e; e = (a - c) * (a - c) + (b - d) * (b - d); if (e < 0) e = 0; return sqrt (e); } float q (float a, float b, float c) { float d, e; d = (a + b + c) / 2; e = d * (d - a) * (d - b) * (d - c); if (e < 0) e = 0; return sqrt (e); }
Группа для программистов ( programming )
:Юрий Казекин
В очередной раз решил все те же задачи из задачника.
Новая редакция.
В этой программе сгруппированы задачи, которым для работы нужно либо 6 чисел, либо одно рациональное число.
/* p11
Язык Turbo C 2.0
Основы программирования
Переменные: int - 6, float - 1 */
/* 1 - 21k, 2 - 22k, 3 - 23k, 5 - 24k */
#include <conio.h>
#include <math.h>
#include <stdio.h>
float p (int, int, int, int); /* расстояние между двумя точками на плоскости */
float q (float, float, float); /* формула Герона */
main ()
{
int a, b, c, d, e, f; /* исходные данные */
float g; /* исходные данные */
float j, k, l, m;
int s, t, u, v;
printf ("Введите шесть целых чисел: ");
scanf ("%i%i%i%i%i%i", &a, &b, &c, &d, &e, &f);
printf ("Введите рациональное число: ");
scanf ("%f", &g);
/* 11.1.1. */
printf ("1. %i / %i / (%i / %i) = %i / %i.\n", a, b, c, d, a * d, b * c);
/* 21.1.6. Даны декартовы координаты трех вершин треугольника на
плоскости. Составить алгоритм определения площади треугольника. */
j = p (a, b, c, d);
k = p (a, b, e, f);
l = p (c, d, e, f);
m = q (j, k, l);
printf ("2. Площадь треугольника %.4g.\n", m);
/* 21.2.7. Дана скорость ракеты при выходе за пределы атмосферы Земли.
Составить алгоритм определения того, как будет двигаться ракета после
выключения двигателей. (Напомним величины трех космических скоростей:
7,5 км/с; 11,2 км/с; 16,4 км/с.) */
printf ("3. ");
if (g < 7.5) printf ("Ракета упадет на Землю.\n");
else if (g == 7.5) printf ("Ракета будет двигаться по круговой орбите вокруг Земли.\n");
else if (g < 11.2) printf ("Ракета будет двигаться вокруг Земли по эллипсу.\n");
else if (g == 11.2) printf ("Ракета улетит от Земли по параболе.\n");
else if (g < 16.4) printf ("Ракета будет двигаться вокруг Солнца по эллипсу.\n");
else if (g == 16.4) printf ("Ракета улетит от Солнца по параболе.\n");
else printf ("Ракета улетит от Солнца по гиперболе.\n");
/* 64.2.28. В следующем фрагменте программы вычисляется сумма конечного
числа членов гармонического ряда
1 + 1 / 2 + 1 / 3 + ... + 1 / i + ...
Суммирование прекращается, когда очередное слагаемое становится меньше
epsilon или целая переменная i достигает значения maxint. */
j = 0;
s = 1;
while (1)
{
k = 1. / s;
if (k < g) break;
j += k;
if (s == 32767) break;
s++;
}
printf ("4. Сумма гармонического ряда равна %.4g.\n", j);
/* 68.4.32. Вычислить сумму квадратов всех целых чисел, попадающих в
интервал (ln x, exp x). */
j = g > 0 ? g : 1;
k = log (j);
l = exp (j);
s = k;
if (s <= k) s++;
t = l;
if (t == l) t--;
u = 0;
for (v = s; v < t + 1; v++) u += v * v;
printf ("5. Сумма квадратов целых чисел %i.\n", u);
getch ();
printf ("\n");
}
float p (int a, int b, int c, int d)
{
int e;
e = (a - c) * (a - c) + (b - d) * (b - d);
if (e < 0) e = 0;
return sqrt (e);
}
float q (float a, float b, float c)
{
float d, e;
d = (a + b + c) / 2;
e = d * (d - a) * (d - b) * (d - c);
if (e < 0) e = 0;
return sqrt (e);
}