Задаци: Пресликавање серије бројева¶
Алгоритми и програми у програмском језику C: Пресликавање серије бројева.
Прерачунавање миља у километре¶
Прочитај текст задатка.
Овај задатак представља класичан пример табелирања дате функције, тј. примене функције на сваки елемент неке серије бројева (кажемо да се врши пресликавање серије).
У петљи је потребно проћи кроз све бројеве миља из интервала \([a,b]\), са
кораком \(k\). То је најлакше урадити помоћу петље for
. Број километара у
сваком кораку петље добијамо тако што број миља помножимо са 1.609344
.
Предложено решење задатка
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
const double km_mi = 1.609344;
int a, b, k;
scanf("%d%d%d", &a, &b, &k);
for (int mi = a; mi <= b; mi += k)
{
double km = mi * km_mi;
printf("%d mi = %.6lf km\n", mi, km);
}
return 0;
}
Табелирање функције¶
Прочитај текст задатка.
Потребно је у петљи обићи све тачке \(t\) интервала \([0,T]\). За свако време \(t\) израчунавамо пређени пут по формули \(s=v_0\cdot t+\frac{a\cdot t^2}{2}\) и исписујемо га.
Приметимо да се у овом задатку заправо врши табелирање једне (у овом случају квадратне) функције тј. пресликавање серије бројева.
Предложено решење задатка
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
double v0, a, T, dt;
scanf("%lf%lf%lf%lf", &v0, &a, &T, &dt);
for (double t = 0; t <= T; t += dt)
{
double s = v0 * t + a * t * t / 2.0;
printf("%.5lf\n", s);
}
return 0;
}