Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc100 / лаба 1 отчет.doc
Скачиваний:
33
Добавлен:
01.08.2013
Размер:
195.07 Кб
Скачать

Министерство образования и науки Российской Федерации

Филиал федерального государственного бюджетного образовательного учреждения высшего профессионального образования

"Национальный исследовательский университет "МЭИ"

в г. Смоленске

Кафедра вычислительной техники

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

по курсу: «Технология программирования»

Группа: ВМ-09

Студент: Полячков.А.А.

Преподаватель: Панкратова Е.А.

Федулов Я.А

Вариант: 18

Смоленск 2012 г.

Оценка характеристик программ на основе лексического анализа Задача :

1)Напишите программу расчета по двум формулам.

2) В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • количество элементов массива, меньших С;

  • сумму целых частей элементов массива, расположенных после последнего отрицательного элемента.

Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%, а потом — все остальные.

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

Реализация программы

Текст программы для реализации возможного решения постав­ленной задачи, разработанной с использованием языка программиро­вания С#, приведен в таблице 1:

Таблица 1 Текст программы

Номер строки

Строки программы

1

using System;

2

using System.Collections.Generic;

3

using System.Text;

4

namespace vjz

5

{

6

class Program

7

{

8

static void Main(string[] args)

9

{

10

int max,I,gg;

11

int kol=0,j=0;

12

int[] q,z;

13

int a = Int32.Parse(Console.ReadLine());

14

double z1, z2;

15

//Console.read(a)

16

//z1 = (a + 2) / (Math.Sqrt(2 * a));

17

z1 = ((a + 2) / (Math.Sqrt(2 * a)) - a / (Math.Sqrt(2 * a) + 2) + 2 / (a - Math.Sqrt(2 * a))) * (Math.Sqrt(a) - Math.Sqrt(2)) / (a + 2);

18

z2 = 1 / (Math.Sqrt(a) + Math.Sqrt(2 ));

19

Console.WriteLine(z1);

20

Console.WriteLine(z2);

21

Console.WriteLine("введите размер массива");

22

int n = Int32.Parse(Console.ReadLine());

23

Console.WriteLine("введите С");

24

int c = Int32.Parse(Console.ReadLine());

25

q = new int[n];

26

z = new int[n];

27

Random b = new Random();

28

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

29

{

30

q[i] = b.Next(100)-50;

31

Console.WriteLine(Convert.ToString(q[i]));

32

}

33

max = q[0];

34

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

35

{

36

if (q[i]>max)

37

max = q[i];

38

if (q[i] < c)

39

kol++;

40

}

41

Console.WriteLine("меньше С");

42

Console.WriteLine(kol);

43

kol = 0;

44

for ( i = n-1; i>-1; --i)

45

{

46

if (q[i] <0 )

47

break;

48

kol=kol+q[i];

49

}

50

Console.WriteLine("max");

51

Console.WriteLine(max);

52

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

53

if ((q[i] > 0.8 * max) && (q[i] < 1.2 * max))

54

{

55

z[j]=q[i];

56

j++;

57

q[i] = 999;

58

}

59

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

60

if (q[i]!=999)

61

{

62

z[j] = q[i];

63

j++;

64

}

65

Console.WriteLine("новый массив");

66

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

67

Console.WriteLine(Convert.ToString(z[j]));

68

Console.WriteLine("сумма");

69

Console.WriteLine(kol);

70

gg = Int32.Parse(Console.ReadLine());

71

}

72

}

73

}

74

75

76

77

Соседние файлы в папке doc100