Float s, f, temp; //описание переменных
int i, n;
printf("\nЛабораторная работа №4_1");
printf("\nВариант №0");
printf("\nПО-11-1");
printf("\nПупкин Василий\n");
//ввод исходных данных
printf("\nВвод исходных данных:\n");
printf("\n n=");
scanf("%d", &n); //количество слагаемых суммы
printf("\n---------------");
printf("\n i s ");
printf("\n---------------");
temp = 1.0; //первое слагаемое
s = 1.0; //начальное значение суммы
f = exp(1.0); //точное значение функции
for (i=1; i<=n; i++)
{
temp /= i; //очередное слагаемое
s += temp; //очередная сумма
printf("\n%3d %0.6f", i, s);
}
printf("\n---------------\n");
printf("\n f=%0.6f\n", f);
return 0;
}
3.3. На языке Java:
package javaapplication4_1;
// Импорт библиотеки графических компонентов Swing
import javax.swing.*;
import java.util.*;
public class JavaApplication4_1 // задание нового класса
{
// описание главного метода main этого класса
public static void main(String[] args)
{
//описание переменных:
Double s, f, temp; // действительного типа
Int n; // целого типа
String input, text; // строк класса String
//консольный вывод
System.out.println("Лабораторная работа №4-1");
System.out.println("Вариант №0");
System.out.println("ПО-11-1");
System.out.println("Пупкин Василий");
System.out.println();
// вызов диалогового окна ввода исходных данных
input=JOptionPane.showInputDialog("Введите значение n:");
// преобразование из строкового значения в целое
n=Integer.parseInt(input);
// формирование строки вывода
text="Значения входных переменных:\n n=" + n;
// вызов диалогового окна эхо-печати
JOptionPane.showMessageDialog(null, text);
//консольный вывод
System.out.printf("n=%d\n", n);
//консольный вывод
System.out.println("---------------");
System.out.println(" i s ");
System.out.print("---------------");
// вычисление значений переменных по заданному алгоритму
temp = 1.0; //первое слагаемое
s = 1.0; //начальное значение суммы
f = Math.exp(1.0); //точное значение функции
for (int i=1; i<=n; i++)
{
temp /= i; //очередное слагаемое
s += temp; //очередная сумма
//консольный вывод
System.out.printf("\n%3d %7.6f", i, s);
}
//консольный вывод
System.out.println();
System.out.println("---------------");
System.out.printf("\n f=%7.6f\n", f);
}
}
3.3. На языке PHP:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
Лабораторная работа №4_1
</title>
</head>
<body BgColor="silver" text="blue">
<H2>Лабораторная работа №4_1</h2>
<H3>Циклы с параметром</h3>
Вариант №0
<br>ПО-11-1
<br>Пупкин Василий
<br>
<br>
<Form name="LabRab_4_1" action="" method="POST">
Количество слагаемых суммы n:<br>
<input type="text" name="n" size="5"><br>
<input type="submit" value="Вычислить"><br>
</form>
<?php
// получение значения переменной из формы
$n=$_POST['n'];
if ($n!='')
{
// эхо-печать
echo "<br>n=$n<br>";
echo '<br>--------------------<br>';
echo '.i.................s';
echo '<br>--------------------';
// вычисление переменных по заданному алгоритму
$temp = 1.0; //первое слагаемое
$s = 1.0; //начальное значение суммы
$f = exp(1.0); //точное значение функции
for ($i=1; $i<=$n; $i++)
{
$temp /= $i; //очередное слагаемое
$s += $temp; //очередная сумма
echo '<br>';
printf("%3d%'.17.8f", $i, $s);
}
echo '<br>--------------------<br>';
echo 'f=', $f;
}
?>
</body>
</html>
2. Компиляция, отладка, тестирование и получение результата:
Задание 2.
1. Числовая последовательность задана рекуррентной формулой:
Задать с консоли два первых члена последовательности и . Найти первые n членов последовательности и их сумму.
Результаты вычислений вывести в виде таблицы с заголовком.
2. Схема алгоритма решения задачи:
3. Код программы
3.1. На языке Паскаль:
Program Variant_0;
Uses WinCRT;
Var s, k, a1, a2, a, n: Word;
Begin
WriteLn('Лабораторная работа №4_2');
WriteLn('Вариант №0');
WriteLn('ИС-11-1');
WriteLn('Пупкин Василий');
WriteLn;
{ввод исходных данных}
WriteLn('Ввод исходных данных:');
Write('a1=');
ReadLn(a1);
Write('a2=');
Readln(a2);
Write('n=');
ReadLn(n);
WriteLn;
WriteLn('----------------');
WriteLn(' k a s');
WriteLn('----------------');
s:=a2+a1; {исходная сумма}
For k:=3 To n Do
Begin
a:=a2+a1; {очередное слагаемое}
s:=s+a; {очередная сумма}
a1:=a2;
a2:=a;
WriteLn(k:3, ' ', a:3, ' ', s:3);
End;
WriteLn('----------------');
WriteLn;
End.
3.2. На языке Си:
#include <stdio.h> //директивы препроцессора
#include <conio.h>
#include <math.h>
Int main()
{