Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
java_Otchet.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
477.28 Кб
Скачать

Федеральное агентство железнодорожного транспорта

____________________

Московский государственный университет путей сообщения (МИИТ)

___________________

Институт управления и информационных технологий

___________________

Кафедра «Вычислительные системы и сети»

Отчет

По лабораторным работам

По дисциплине «Технологии программирования»

студента группы УВВ-211

Шаброва Александра Евгеньевича

Приняла: Никольская М.Н.

Москва - 2012 г.

Задание №1

Составить программу для вычисления суммы ряда с определенной точностью eps.Если заданая точность не может быть достигнута за n итераций выдать текущее значение суммы.

Исходные данные: a,b,x,n,eps.

Блок схема

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

package lab;

public class q {

public q() {

super();

}

public static void main(String[] args) {

q q = new q();

char d;

int i,n=3;

double x=0.1,x2,y=0,e=0.01,ch,zn,a=2,b=3;

if (x>0)

{

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

{

ch=Math.pow(x,(i+1)*a+Math.pow(b,Math.pow(2,i)));

System.out.print("ch="+ch+"\n");

zn=Math.pow(Math.E,2*Math.pow(x,i+1));

System.out.print("zn="+zn+"\n");

x2=ch/zn;

System.out.print("x2="+x2);

y=y+x2;

if (Math.abs(x2)<e) {

System.out.print("при достижении e"); break;

}

}

}

else

{

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

{

ch=Math.pow(x,(i+1)*a+Math.pow(b,Math.pow(2,i)));

System.out.print(ch+"\n");

zn=Math.pow(Math.E,2*Math.pow(x,i+1));

System.out.print(zn+"\n");

x2=ch*zn;

System.out.print(x2);

y=y+x2;

if (Math.abs(x2)<e) {

System.out.print("при достижении e"); break;

}

}

}

System.out.print(y);

}

}

Результаты работы программы

Исходные данные

Результат

a=2,b=3,x=1,n=2,eps=0.01

0.2706705664732254

достигнута при n = 2

a=2,b=3,x=0.1,n=3,eps=0.01

8.187307530779821E-6

При достижение точности

Задание №2

Составить программу, которая реализует ввод таблицы, состоящей из n строк. Каждая строка таблицы содержит следующую информацию :Название города, кол-во мэров , имя мэра , количество голосов .

Требуется определить мэра для каждого города.

Блок схема

Начало

Кол-во строк в таблице

Исходные данные

Исходная таблица

Обработка

Вывод мэров по для каждого города

Конец

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

import java.io.IOException;

public class q2 {

public static void main(String[] args) {

char ch;

int n,i,j,c,r;

int kol[][],kol_m[];

String s;

try

{

//Ввод данных

StringBuffer str = new StringBuffer();

System.out.print("Введите кол-во строк в таблице");

while ((ch = (char) System.in.read()) != '\n')

if(ch!=13)str.append(ch);

n = Integer.parseInt(str.toString());

System.out.println("n=" + n);

String name_city[] = new String[n];

String name_mayor[][]=new String[n][];

kol=new int[n][];

kol_m=new int[n];

for (i = 0; i < n; i++) {

str = new StringBuffer();

System.out.println("Введите имя города");

while ((ch = (char) System.in.read()) != '\n')

str.append(ch);

name_city[i] = new String(str.toString());

System.out.print("Введите кол-во мэров");

str = new StringBuffer();

while ((ch = (char) System.in.read()) != '\n')

if(ch!=13)str.append(ch);

kol_m[i]=Integer.parseInt(str.toString());

name_mayor[i]=new String[kol_m[i]];

kol[i]=new int[kol_m[i]];

for(j=0;j<kol_m[i];j++){

str=new StringBuffer();

System.out.println("Введите имя мэра");

while ((ch = (char) System.in.read()) != '\n')

str.append(ch);

name_mayor[i][j] = new String(str.toString());

str = new StringBuffer();

System.out.println("Кол-во голосов:");

while ((ch = (char) System.in.read()) != '\n')

if(ch!=13)str.append(ch);

kol[i][j] = Integer.parseInt(str.toString());

}

}

//Вывод таблицы

System.out.print("Город Мэр Кол-во голосов");

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

for(j=0;j<kol_m[i];j++){

System.out.print(name_city[i]+" "+name_mayor[i][j]+" "+kol[i][j]);

}

//Обработка

for(i=0;i<n;i++){

for(c=0;c<kol_m[i]-1;c++){

for(j=0;j<kol_m[i]-1;j++){

if (kol[i][j]<kol[i][j+1])

{

r=kol[i][j+1];

kol[i][j+1]=kol[i][j];

kol[i][j]=r;

s=name_mayor[i][j+1];

name_mayor[i][j+1]=name_mayor[i][j];

name_mayor[i][j]=s;

}

}

}

}

//Вывод ответа

System.out.print("Город Мэр Кол-во голосов");

for(i=0;i<n;i++){

System.out.print(name_city[i]+" "+name_mayor[i][0]+" "+kol[i][0]);

}

}

catch(IOException e){

System.out.println("gh");

}

}

}

Результаты работы программы

Введите кол-во строк в таблице

3

Введите имя города

moskva

Введите кол-во мэров

2

Введите имя мэра

sasha

Кол-во голосов:

1

Введите имя мэра

masha

Кол-во голосов:

3

Введите имя города

tula

Введите кол-во мэров

3

Введите имя мэра

sasha

Кол-во голосов:

4

Введите имя мэра

masha

Кол-во голосов:

5

Введите имя мэра

dasha

Кол-во голосов:

6

Введите имя города

orel

Введите кол-во мэров

2

Введите имя мэра

sasha

Кол-во голосов:

7

Введите имя мэра

masha

Кол-во голосов:

3

Город Мэр Кол-во голосов

moskva sasha 1

moskva masha 3

tula sasha 4

tula masha 5

tula dasha 6

orel sasha 7

orel masha 3

Город Мэр Кол-во голосов

moskva masha 3

tula dasha 6

orel sasha 7

Задание №3

Составить программу, которая реализует ввод таблицы, состоящей из n строк. Каждая строка таблицы содержит следующую информацию :Название города, кол-во мэров , имя мэра , количество голосов .

Требуется определить мэра для каждого города. Для представления таблицы использовать массив объектов, в которых каждая строка таблицы представлена объектом. Членами данных объекта являются поля таблицы.

Исходные данные

Блок схема

Начало

Кол-во строк в таблице

Исходная таблица

Обработка

Вывод мэров по для каждого города

Конец

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

import java.io.IOException;

public class q3 {

private char ch;

private int n,i,j,c,r;

private int kol[][],kol_m[];

private String s;

private String name_city[];

private String name_mayor[][];

private String fuo[][];

//метод для ввода данных

public void Enter(){

try

{

StringBuffer str = new StringBuffer();

System.out.print("Введите кол-во строк в таблице");

while ((ch = (char) System.in.read()) != '\n')

if(ch!=13)str.append(ch);

n = Integer.parseInt(str.toString());

System.out.println("n=" + n);

name_city = new String[n];

name_mayor=new String[n][];

kol=new int[n][];

kol_m=new int[n];

for (i = 0; i < n; i++) {

str = new StringBuffer();

System.out.println("Введите имя города");

while ((ch = (char) System.in.read()) != '\n')

str.append(ch);

name_city[i] = new String(str.toString());

System.out.print("Введите кол-во мэров");

str = new StringBuffer();

while ((ch = (char) System.in.read()) != '\n')

if(ch!=13)str.append(ch);

kol_m[i]=Integer.parseInt(str.toString());

name_mayor[i]=new String[kol_m[i]];

kol[i]=new int[kol_m[i]];

fuo=new String[kol_m[i]][];

for(j=0;j<kol_m[i];j++){

str=new StringBuffer();

System.out.println("Введите имя мэра");

while ((ch = (char) System.in.read()) != '\n')

str.append(ch);

name_mayor[i][j] = new String(str.toString());

str = new StringBuffer();

System.out.println("Кол-во голосов:");

while ((ch = (char) System.in.read()) != '\n')

if(ch!=13)str.append(ch);

kol[i][j] = Integer.parseInt(str.toString());

fuo[j]=new String[kol[i][j]];

for (c = 0; c < kol[i][j]; c++) {

str = new StringBuffer();

System.out.println("Введите ФИО проголосовавших:");

while ((ch = (char) System.in.read()) != '\n')

str.append(ch);

fuo[j][c] = new String(str.toString());

}

}

}

}

catch(IOException e){

System.out.println("gh");

}

}

//метод для выводы таблицы

public void Print(int a){

System.out.print("Город Мэр Кол-во голосов");

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

for(j=0;j<kol_m[i];j++){

System.out.print(name_city[i]+" "+name_mayor[i][j]+" "+kol[i][j]);

}

}

//метод для вывода ответа

public void Print(){

System.out.print("Город Мэр Кол-во голосов");

for(i=0;i<n;i++){

System.out.print(name_city[i]+" "+name_mayor[i][0]+" "+kol[i][0]);

}

}

//метод обработки

public void Processing(){

for(i=0;i<n;i++){

for(c=0;c<kol_m[i]-1;c++){

for(j=0;j<kol_m[i]-1;j++){

if (kol[i][j]<kol[i][j+1])

{

r=kol[i][j+1];

kol[i][j+1]=kol[i][j];

kol[i][j]=r;

s=name_mayor[i][j+1];

name_mayor[i][j+1]=name_mayor[i][j];

name_mayor[i][j]=s;

}

}

}

}

}

public static void main(String[] args){

q3 A=new q3();

A.Enter();

A.Print(1);

A.Processing();

A.Print();

}

}

Результаты работы программы

Результаты работы программы №3 аналогичны результатам программы №2

Задание №4

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

Блок схема

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

import java.lang.Double;

public class q4 {

public static void main(String args[]){

/*Конструкторы создают объекты типа Double.Можно создавать в явном виде и неявном виде*/

Double d1=new Double(3.15345);

Double d2=new Double(315345E-5);

System.out.println(d1+"="+d2+"->"+d1.equals(d2));

/*В классе Double имеются константы: бесконечность , неопределенность.

А также методы их проверки.*/

Double d3=Double.POSITIVE_INFINITY;

Double d4=Double.NaN;

System.out.println(d3+":"+d3.isInfinite()+","+d3.isNaN());

System.out.println(d4+":"+d4.isInfinite()+","+d4.isNaN());

System.out.println("d3 Infinite?"+Double.isInfinite(d3));

System.out.println("d4 NaN?"+Double.isNaN(d4));

d3=Double.NEGATIVE_INFINITY;

System.out.println(d3);

System.out.println("d3 == Infinity? "+(d3 == Double.POSITIVE_INFINITY) );

Double d5=new Double(-3);

//Метод представляющий объект в виде строки в 16-ной системе исчисления

System.out.println("d5="+Double.toHexString(d5));

try{

//Метод перевода из строки в Double

String g=new String("1234");

Double d6=Double.parseDouble(g);

System.out.println("d6="+d6);

}

catch(Exception e){}

//Методы сравнения

System.out.println("d5>d1? "+d5.compareTo(d1));

System.out.println("d1=d1 ?"+d1.compareTo(d1));

System.out.println("d1>d5 "+d1.compareTo(d5));

System.out.println("d5>d1 "+Double.compare(d5, d1));

//Константы максимума и минимума

d1=Double.MAX_VALUE;

System.out.println("Max_d1="+d1);

d1=Double.MIN_VALUE;

System.out.println("Min_d1="+d1);

//Методы перевода в другие типы данных

long d7=Double.doubleToLongBits(d2);

System.out.println("d7="+d7);

System.out.println("d2 в шестнадцатеричном представлении:"+Double.toHexString(d2));

String s=Double.toString(d2);

System.out.println("d2 в представлении ASCII cod:"+s);

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]