String input, text; // строк класса String




//консольный вывод

System.out.println("Лабораторная работа №2");

System.out.println("Вариант №0");

System.out.println("ПО-11-1");

System.out.println("Пупкин Василий");

System.out.println();

// вызов диалогового окна ввода исходных данных

input=JOptionPane.showInputDialog("Введите значение переменной x:");

// преобразование из строкового значения в вещественное

x=Double.parseDouble(input);

// формирование строки вывода

text="Значение переменной х равно:\n" + x;

// вызов диалогового окна эхо-печати

JOptionPane.showMessageDialog(null, text);

//консольный вывод

System.out.printf("x=%5.2f\n", x);

// вычисление значений переменных по заданному алгоритму

if ((int) Math.floor(x) % 2!= 0) //выделение целой части числа

y = -1.0; //и приведение ее к целому типу

else y = 1.0;

// формирование строки вывода

text="Значение переменной y равно:\n" + y;

// вызов диалогового окна вывода переменных

JOptionPane.showMessageDialog(null, text);

//консольный вывод

System.out.printf("y=%5.2f\n", y);

}

}

3.4. На языке PHP:

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>

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

</title>

</head>

<body BgColor="silver" text="blue">

<H2>Лабораторная работа №2</h2>

<H3>Ветвления</h3>

Вариант №0

<br>ПО-11-1

<br>Пупкин Василий

<br>

<br>

<Form name="LabRab_2" action="" method="POST">

Введите значение x:<br>

<input type="text" name="x" size="5"><br>

<input type="submit" value="Вычислить"><br>

</form>

<?php

// получение значения переменной из формы

$x=$_POST['x'];

// начальные значения

// выходных переменных

$y=NULL;

// вычисление переменных по заданному алгоритму

//выделение целой части числа и приведение ее к целому типу

if ((int) floor($x) % 2!= 0)

$y = -1.0;

else $y = 1.0;

//вывод результата в окно браузера

if ($x!='')

{

echo '<br>Результат вычислений:';

echo '<br>$y=', $y;

}

?>

</body>

</html>

  1. Компиляция, отладка, тестирование и получение результата:

 

Задания на лабораторную работу №2

Вариант 1

Составить алгоритм и написать код программы, вычисляющей значения функции y, заданной графически, по значениям аргумента x, введенным с консоли:

Вариант 2

Составить алгоритм и написать код программы, вычисляющей значения функции y, заданной графически, по значениям аргумента x, введенным с консоли:

 

Вариант 3

Составить алгоритм и написать код программы, вычисляющей значения функции y, заданной графически, по значениям аргумента x, введенным с консоли:

Вариант 4

Составить алгоритм и написать код программы, вычисляющей значения функции y, заданной графически, по значениям аргумента x, введенным с консоли:

Вариант 5

Составить алгоритм и написать код программы, вычисляющей значения функции y, заданной графически, по значениям аргумента x, введенным с консоли:

Вариант 6

Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли:

Вариант 7

Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли:

Вариант 8

Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли:

Вариант 9

Составить алгоритм и написать код программы, вычисляющей значения функции y, заданной графически, по значениям аргумента x, введенным с консоли:

Вариант 10

Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли:

Вариант 11

Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли:

Вариант 12

Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли:

Вариант 13

Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли:

Вариант 14

Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли:

Вариант 15

Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли:

 

Вариант 16

Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли:

 

Вариант 17

Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли:

Вариант 18

Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли:

 

Вариант 19

Составить алгоритм и написать код программы, вычисляющей значения функции y, заданной графически, по значениям аргумента x, введенным с консоли:

 

Вариант 20

Составить алгоритм и написать код программы, вычисляющей значения функции y, заданной графически, по значениям аргумента x, введенным с консоли:

 

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

Циклы, управляемые условиями

Тема: Программирование алгоритмов циклической структуры.

Цель работы: Освоить программирование циклических алгоритмов с циклами, управляемыми условиями: циклами с предусловиями и циклами с постусловиями.
Освоить программирование циклических алгоритмов с вложенными циклами. Освоить методику тестирования программ.

 

Задание на лабораторную работу

  1. Получить задание в соответствии с номером своего варианта.
  2. Вывести рекуррентную формулу вычисления суммы ряда.
  3. Определить общее слагаемое суммы и выразить его через предыдущее, использовав переходной коэффициент (для удаления факториалов из формулы).
  4. Составить схему алгоритма решения задачи.
  5. Написать код программы на языке Паскаль в среде Borland Pascal for Windows.
  6. Осуществить компиляцию, и отладку программы. Провести структурное тестирование программы (тестирование как белого ящика): составить тестовые наборы для тестирования

- в нормальных условиях,

- при граничных условиях,

- при некорректных входных данных,

- по критерию покрытия решений – результат проверки каждого условия принимал значение истина или ложь хотя бы один раз,

- по критерию покрытия условий – все возможные результаты каждой логической операции в условиях были получены хотя бы по одному разу.

  1. Получить результат.
  2. Оформить отчет по лабораторной работе.

 

Пример оформления работы

1. Составить алгоритм и написать код программы, вычисляющей значения суммы ряда S при заданных с консоли начальном и конечном значениях аргумента x(x_nach, x_kon), шаге его изменения delta_x и точности вычислений eps. Вычисленные значения ряда сравнить со значениями функции f=cos(x). Результаты вычислений вывести в виде таблицы с заголовком.

- разложение функции cos(x) в ряд Тейлора.

Накопление суммы производим по рекуррентной формуле – каждая последующая сумма вычисляется через предыдущую:

Общий вид слагаемого суммы может быть записан в следующем виде:

Для сокращения объема вычислений выразим его через предыдущее слагаемое:

Сомножитель , называемый переходным коэффициентом, можно определить из предыдущего соотношения:

Раскроем эту формулу:

 

 

 

Тогда текущий член ряда будет вычисляться по формуле:

Начальное значение находим подстановкой в формулу для общего члена значения n=0:

Начальное значение суммы можно принять равным первому члену ряда, то есть . Учитывая, что значение текущего члена ряда и суммы при n=0 уже определены, номер члена ряда n примем равным единице.

Задачу решим вложенными циклами:

- во внешнем цикле – цикле с постусловием – будем изменять значение аргумента от начального до конечного с заданным шагом,

- во внутреннем цикле – цикле с предусловием – будем определять значение суммы ряда с заданной точностью для отдельных точек – значений аргумента.

 

 

  1. Схема алгоритма решения задачи:

  1. Код программы

 

3.1. На языке Паскаль:

 

Program Variant_0;

Uses WinCRT;

Var x, s, f, x_nach, x_kon, delta_x, eps, t: Real;

n: Word;

Begin

WriteLn('Лабораторная работа №3');

WriteLn('Вариант №0');

WriteLn('ИС-11-1');

WriteLn('Пупкин Василий');

WriteLn;

{ввод исходных данных}

WriteLn(‘Ввод исходных данных:’);

Write('x_nach=');

ReadLn(x_nach);

Write('x_kon=');

ReadLn(x_kon);

Write('delta_x=');

ReadLn(delta_x);

Write('eps=');

ReadLn(eps);

WriteLn;

{эхо-печать}

WriteLn('Для x=', x_nach:0:3, ' до ', x_kon:0:3, ' шаг=', delta_x:0:3, ' точность=', eps:0:5);

WriteLn;

WriteLn(' x n s f');

WriteLn('-----------------------------------');

x:=x_nach;

Repeat

{внешний цикл – изменение аргумента}

t:=1.0; {первое слагаемое}

s:=1.0; {начальное значение суммы}

n:=1;

f:=cos(x); {точное значение суммы}

While (Abs(t)>eps) Do

{внутренний цикл – вычисление суммы ряда в отдельной точке}

Begin

t:=-t*x*x/(2.0*n*(2.0*n-1.0)); {очередное слагаемое}

s:=s+t; {очередная сумма}

n:=n+1;

End;

WriteLn(x:0:3, ' ', n:3, ' ', s:0:6, ' ', f:0:6);

x:=x+delta_x; {изменение значения аргумента}

Until(x>x_kon);

End.

3.2. На языке Си:

#include <stdio.h> //директивы препроцессора

#include <conio.h>

#include <math.h>

Int main()

{

//описание переменных

float x, s, f, x_nach, x_kon, delta_x, eps, temp;

int n;

printf("\nЛабораторная работа №3");

printf("\nВариант №0");

printf("\nПО-11-1");

printf("\nПупкин Василий\n");

printf("\nВвод исходных данных:\n"); //ввод исходных данных

printf("\nx_nach=");

scanf("%f", &x_nach); //начальное значение аргумента

printf("\nx_kon=");

scanf("%f", &x_kon); //конечное значение аргумента

printf("\ndelta_x=");

scanf("%f", &delta_x); //шаг изменения аргумента

printf("\neps=");

scanf("%f", &eps); //точность вычислений

//эхо-печать

printf("\nДля x=%5.3f до %5.3f с шагом $5.3f и точностью %5.3f\n", x_nach, x_kon, delta_x, eps);

printf("\n x n s f");

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

x = x_nach;



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: