Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Частное учреждение образования
ОТЧЕТ
по практике по программированию
по дисциплине «Конструирование программ и языки программирования»
Руководитель практики (Е.А. Артемьева )
Учащаяся ( А.А. Петкевич )
2012
Лабораторная работа 1
Тема: Линейные алгоритмы
Составить программу для расчета значений z1 и z2 (результаты должны совпадать).
using System;
namespace ConsoleApplicationl
{
class Classl
{
static void Main()
{
string buf;
Console.WriteLine("Введите alfa");
buf = Console.ReadLine();
double a = Convert.ToDouble(buf);
double z1 = (1 - (Math.Pow(Math.Sin(a), 2))) / (1 + Math.Sin(2 * a));
double z2 = (1 - Math.Tan(a)) / (1 + Math.Tan(a));
Console.WriteLine("Для alfa= {0}", a);
Console.WriteLine("Результат: z1={0} и z2={1}", z1, z2);
Console.ReadKey();
} }}
Результат работы программы 1
Лабораторная работа 2
Тема: Функции ввода-вывода. Форматы преобразования данных
При
using System;
namespace ConsoleApplicationl
{
class Classl
{
static void Main()
{
double x = 6.251, y = 0.827, z = 25.001;
double b = Math.Pow(y, Math.Pow(Math.Abs(x),0.3333)) +
Math.Pow(Math.Cos(x), 3)
* ((Math.Abs(x y) * (1 + (Math.Pow(Math.Sin(z), 2)) / (Math.Sqrt(x + y))))
/ (Math.Exp(Math.Abs(x y)) + x / 2));
Console.WriteLine(“b={0}”, b);
Console.ReadKey();
} }}
Результат работы программы 2
Лабораторная работа 3.4.5
Тема: Циклы while, for, do while.
Необходимо вывести на экран значения функции Y(x) для х изменяющихся от xn до xk с шагом h равным h=(xk-xn)/10.
№ |
Y(x) |
||
12 |
0.1 |
1 |
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string sposob, s;
double x, y, xk, xn, h;
xk = 1;
xn = 0.1;
y = 0;
h = (xk - xn) / 10;
Console.WriteLine("Выберите способ :");
metka:
Console.WriteLine("1) DO \n2) WHILE \n3) FOR");
sposob = Console.ReadLine();
Console.Write("Введите X= ");
s = Console.ReadLine();
x = double.Parse(s);
switch (sposob)
{
case "1":
do
{
y += 2*(Math.Cos(x)-1);
xn += h;
Console.WriteLine("y =" + y);
}
while (xn <= xk);
break;
case "2":
while (xn <= xk)
{
y += 2 * (Math.Cos(x) - 1);
xn += h;
Console.WriteLine("y =" + y);
}
break;
case "3":
for (double f = xn; f <= xk; f += h)
{
y += 2 * (Math.Cos(x) - 1);
Console.WriteLine("y =" + y);
}
break;
default:
Console.WriteLine("Не верный выбор,выберите снова!");
goto metka;
}
Console.ReadKey();
}}}
Результат работы программы
Лабораторная работа 6.
Тема: Одномерные и прямоугольные массивы
Составить программу упорядочивания по возрастанию (убыванию) элементов массива
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Write("Введите размерность массива: ");
int n = Convert.ToInt32(Console.ReadLine());
int[] a = new int[n];
ВводМассива(a);
ИсходныйМассив(a);
РешениеЗадачи(a);
ВыводМассива(a);
Console.ReadKey();
}
//----------------------------------------------------------------
public static void ВводМассива(Array a)
{
for (int i = 0; i < a.Length; ++i)
{
Console.Write("Введите {0} элемент массива: ", i + 1);
a.SetValue(Convert.ToInt32(Console.ReadLine()), i);
}
Console.WriteLine("_______________________________");
}
public static void ИсходныйМассив(Array a)
{
Console.WriteLine("Исходный массив: ");
foreach (object x in a)
Console.Write(" " + x);
}
//----------------------------------------------------------------
public static void РешениеЗадачи(Array a)
{
Array.Sort(a);
}
//----------------------------------------------------------------
public static void ВыводМассива(Array a)
{
Console.WriteLine("\nОтсортированный массив: ");
foreach (object x in a)
Console.Write(" " + x);
}}}
Результат работы программы
Лабораторная работа 7
Тема: Одномерные и прямоугольные массивы
В одномерном массиве, состоящем из n вводимых с клавиатуры целых элементов, вычислить сумму элементов массива, расположенных до последнего положительного элемента.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Лабораторная_работа___5._2_2_
{
class Program
{
static void Main(string[] args)
{
int s = 0;
const int m = 3, n = 3;
int[,] a = new int[m, n]
{
{1,1,2},
{4,1,1},
{1,1,3}
};
Console.WriteLine("Исходный массив : ");
for (int i = 0; i < m; ++i)
{
for (int j = 0; j < n; ++j)
Console.Write("\t" + a[i, j]);
Console.WriteLine();
}
for (int i = 1; i < m; ++i)
{
for (int j = 0; j < n; ++j)
{
s += a[i, j];
}
}
Console.WriteLine("Сумма элементов: {0}", s);
Console.ReadKey();
}
}
}
Результат работы программы
Лабораторная работа 8
Тема: Одномерные и прямоугольные массивы
Составить программу нахождения произведения отрицательных (положительных) элементов массива
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication7
{
class Program
{
static void Main(string[] args)
{
const int z = 3, h = 3;
int[,] a = new int[z, h]
{
{1,-1,0},
{5,0,8},
{3,-3,-3}
};
for (int i = 0; i < z; i++)
{
for (int j = 0; j < h; j++)
{
Console.Write("\t" + a[i,j]);
}
Console.WriteLine();
}
int max = 1;
int min = 1;
for (int i = 1; i < z; i++)
{
for (int j = 0; j < h; j++)
{
if (0 <= a[i, j]) max =max + a[i, j];
if (0 > a[i, j]) min = min - a[i, j];
}
}
Console.ReadKey();
Console.WriteLine("");
Console.WriteLine("сумма положительных = " + max);
Console.WriteLine("сумма отрицательных = - " + min);
Console.ReadKey();
}}}
Результат работы программы
Лабораторная работа 9
Тема: Одномерные и прямоугольные массивы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
int[] a = { 5, 2, -4, 7, -26, 2, 6 };
foreach (int o in a) Console.Write("\t" + o);
int max = 0;
int min = 0;
int z = 7;
for (int i = 0; i < z; i++)
{
if (0 < a[i]) max = max + a[i];
if (0 > a[i]) min = min + a[i];
}
Console.ReadKey();
Console.WriteLine("");
Console.WriteLine("сумма отриц. = " + min);
Console.WriteLine("сумма полож = " + max);
Console.ReadKey();
}}}
Лабораторная работа 10.11.12
Тема: Программирование с использованием строк (обычный вариант и с использованием 3 видов строк)
В строке символов заменить каждый второй символ ! на $.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace sdobnov2
{
class Program
{
static void Main(string[] args)
{
int count = 0;
Console.WriteLine("введите строку =");
string s = Console.ReadLine();
char[] ch = new char[s.Length];
for (int i = 0; i < s.Length; i++)
{
if (s[i] == '!')
{
count++;
if (count % 2 == 0)
ch[i] = '$';
else ch[i] = s[i];
}
else ch[i] = s[i];
}
string sNew = new string(ch);
Console.WriteLine(sNew);
Console.ReadKey();
}}}
Результат работы программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace sdobnov1
{
class Program
{
static void Main(string[] args)
{
int count = 0;
Console.WriteLine("введите строку =");
string s = Console.ReadLine();
for (int i = 0; i < s.Length; i++)
{
if (s[i] == '!')
{
count++;
if (count % 2 == 0)
Console.Write('$');
else
Console.Write(s[i]);
}
else
Console.Write(s[i]);
}
Console.ReadKey();
}}}
Результат работы программы
using System;
namespace sdobnov3
{
class Program
{
static void Main(string[] args)
{
int count = 0;
Console.WriteLine("введите строку =");
StringBuilder s = new StringBuilder(Console.ReadLine());
StringBuilder d = new StringBuilder();
for (int i = 0; i < s.Length; i++)
{
if (s[i] == '!')
{
count++;
if (count % 2 == 0)
d.Append('$');
else
d.Append(s[i]);
}
else
d.Append(s[i]);
}
Console.Write(d);
Console.ReadKey();
}}}
Результат работы программы
Лабораторная работа 13:
Тема: Пользовательские методы
using System;
namespace ConsoleApplication2
{
class Program
{
static void Write(double x)
{
double y;
if ((-3 <= x) && (x <= 5))
{
if ((-3 <= x) && (x < -2))
{
y = -1 * x - 2;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((-2 <= x) && (x < -1))
{
y = Math.Sqrt(1 + Math.Pow(x, 2));
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((-1 <= x) && (x < 1))
{
y = 0 * x + 1;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((1 <= x) && (x < 2))
{
y = -2 * x + 3;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((2 <= x) && (x <= 5))
{
y = 0 * x - 1;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
}
}
static void Main(string[] args)
{
Console.WriteLine("Введите x:");
double x = Convert.ToDouble(Console.ReadLine());
Write(x);
}}}
Результат работы программы
Лабораторная работа 14:
Тема: Функции
Задание 1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Write(double x)
{
double y;
if ((-3 <= x) && (x <= 5))
{
if ((-3 <= x) && (x < -2))
{
y = -1 * x - 2;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((-2 <= x) && (x < -1))
{
y = Math.Sqrt(1 + Math.Pow(x, 2));
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((-1 <= x) && (x < 1))
{
y = 0 * x + 1;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((1 <= x) && (x < 2))
{
y = -2 * x + 3;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((2 <= x) && (x <= 5))
{
y = 0 * x - 1;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
}}
static void Main(string[] args)
{
Console.WriteLine("Введите x:");
double x = Convert.ToDouble(Console.ReadLine());
Write(x);
}
}
}
Результат работы программы
Задание 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Func(ref double x)
{
double y;
if ((-3 <= x) && (x <= 5))
{
if ((-3 <= x) && (x <= -2))
{
y = -1 * x - 2;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((-2 <= x) && (x <= -1))
{
y = Math.Sqrt(1 + Math.Pow(x, 2));
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((-1 <= x) && (x <= 1))
{
y = 0 * x + 1;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((1 <= x) && (x <= 2))
{
y = -2 * x + 3;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((2 <= x) && (x <= 5))
{
y = 0 * x - 1;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
}
}
static void Main(string[] args)
{
double x;
Console.WriteLine("Введите x:");
x = Convert.ToDouble(Console.ReadLine());
Func(ref x);
}
}
}
Результат работы программы
Задание 3
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Func(out double x, out double y)
{
Console.WriteLine("Введите x:");
x = Convert.ToDouble(Console.ReadLine());
if ((-3 <= x) && (x <= 5))
{
if ((-3 <= x) && (x <= -2))
{
y = -1 * x - 2;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((-2 <= x) && (x <= -1))
{
y = Math.Sqrt(1 + Math.Pow(x, 2));
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((-1 <= x) && (x <= 1))
{
y = 0 * x + 1;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((1 <= x) && (x <= 2))
{
y = -2 * x + 3;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
if ((2 <= x) && (x <= 5))
{
y = 0 * x - 1;
Console.WriteLine("y = {0}", y);
Console.ReadKey();
}
}
}
static void Main(string[] args)
{
double y,x;
Func(out x,out y);
}
}
}
Результат работы программы
Лабораторная работа 14:
Тема: Указатели
Составить программу расположения элементов массива в следующем порядке положительные, отрицательные и нулевые
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace laba5_1
{
class Program
{
static unsafe void Main()
{
const int n = 8;
int[] a = new int[n] { 6, -1, 12, -80, 3, -6, 5, -9 };
int[] x = new int[n];
fixed (int*b=a)
{
Console.WriteLine("Исходный массив: ");
for (int i = 0; i < n; ++i)
Console.Write("\t" + b[i]);
Console.WriteLine();
for (int j = 0; j < a.Length; j++)
{
x[j] = b[j];
}
Array.Sort(x);
Array.Reverse(x);
Console.WriteLine("Отсортированный массив:");
for (int j = 0; j < a.Length; j++)
{
Console.Write("{0}\t",x[j]);
}
Console.ReadKey();
} } }}
Результат работы программы
Лабораторная работа 15:
Тема: Файлы
Байтовые файлы
using System;
using System.IO;
namespace ConsoleApplication1
{
class Class1
{
static void Main()
{
string fullName = "Petkevich Alesia";
int yearBirth = 1995;
int currentYear = DateTime.Now.Year;
string fileOut = fullName + " " + yearBirth + " my age is ";
Console.WriteLine(fullName + " " + yearBirth);
Console.ReadKey();
string directoryPath = @"D:\\Laba10";
string fileName = "Laba10.txt";
DirectoryInfo dir = new DirectoryInfo(directoryPath);
try
{
dir.Create();
// Запись в файл (имя и год)
FileStream f = new FileStream(directoryPath + "\\" + fileName, FileMode.Create, FileAccess.ReadWrite);
for (int i = 0; i < fileOut.Length; i++)
{
f.WriteByte((byte)fileOut[i]);
}
// Чтение из файла (год)
byte[] yearBirthByte = new byte[4];
f.Seek(fullName.Length + 1, SeekOrigin.Begin); //текущий указатель на начало
f.Read(yearBirthByte, 0, yearBirthByte.Length);
string restored = "";
foreach (byte elem in yearBirthByte)
{
restored += (char)elem;
}
int restoredInt = Int32.Parse(restored);
int myAge = currentYear - restoredInt;
// Обратная запись (кол-во лет)
Console.WriteLine(myAge - 1);
Console.ReadKey();
f.Seek(fileOut.Length, SeekOrigin.Begin);
for (int i = 0; i < myAge.ToString().Length; i++)
{
f.WriteByte((byte)myAge.ToString()[i]);
}
// Закрытие
f.Close();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.ReadKey();
return;
}
}}}
Результат работы программы
Текстовые файлы
using System;
using System.IO;
namespace ConsoleApplication1
{
class Class1
{
static void Main()
{
string a = "Мне";
string fullName = "Петкевич Алеся";
int yearBirth = 1995;
int currentYear = DateTime.Now.Year;
string fileOut = fullName + " " + yearBirth;
Console.WriteLine(fullName + " " + yearBirth);
string directoryPath = @"D:\\Lab10";
string fileName = "Lab10.txt";
DirectoryInfo dir = new DirectoryInfo(directoryPath);
try
{
dir.Create();
// Запись в файл (имя и дата)
StreamWriter fw = new StreamWriter(directoryPath + "\\" + fileName);
fw.WriteLine(fileOut);
// Закрытие
fw.Close();
Console.ReadKey();
// Чтение из файла (дата)
StreamReader fr = new StreamReader(directoryPath + "\\" + fileName);
string restored = fr.ReadLine().Split(' ')[2]; // При условии что задаётся только имя и фамилия разделённые пробелами
// Закрытие
fr.Close();
Console.ReadKey();
int restoredInt = Int32.Parse(restored);
int myAge = currentYear - restoredInt;
Console.WriteLine("Мне: {0}",myAge-1);
Console.ReadKey();
// Обратная запись (полный возраст)
StreamWriter fw2;
FileInfo fi = new FileInfo(directoryPath + "\\" + fileName);
fw2 = fi.AppendText();
fw2.Write(a+" "+myAge);
// Закрытие
fw2.Close();
Console.ReadKey();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.ReadKey();
return;
} } }}
Результат работы программы
Двоичные файлы
using System;
using System.IO;
namespace ConsoleApplication1
{
class Class1
{
static void Main()
{
string fullName = "Petkevich Alecia";
int yearBirth = 1995;
int currentYear = DateTime.Now.Year;
string fileOut = fullName + " " + yearBirth + " my age is ";
Console.WriteLine(fullName + " " + yearBirth);
string directoryPath = @"D:\\Lab10";
string fileName = "Lab10.txt";
DirectoryInfo dir = new DirectoryInfo(directoryPath);
try
{
dir.Create();
// Запись в файл (имя и год)
BinaryWriter fw = new BinaryWriter(new FileStream(directoryPath + "\\" + fileName, FileMode.Create));
for (int i = 0; i < fileOut.Length; i++)
{
fw.Write((byte)fileOut[i]);
}
fw.Close();
// Чтение из файла (год)
BinaryReader fr = new BinaryReader(new FileStream(directoryPath + "\\" + fileName, FileMode.Open));
byte[] yearBirthByte = new byte[fileOut.Length];
fr.Read(yearBirthByte, 0, fileOut.Length);
fr.Close();
string restored = "";
foreach (byte elem in yearBirthByte)
{
restored += (char)elem;
}
int restoredInt = Int32.Parse(restored.Split(' ')[2]);
int myAge = currentYear - restoredInt;
Console.WriteLine(restoredInt);
Console.ReadKey();
// Обратная запись (кол-во лет)
BinaryWriter fw2 = new BinaryWriter(new FileStream(directoryPath + "\\" + fileName, FileMode.Append));
for (int i = 0; i < myAge.ToString().Length; i++)
{
fw2.Write((byte)myAge.ToString()[i]);
}
fw2.Close();
}
catch (Exception e)
{
Console.WriteLine(e.Message + " " + e.Data);
Console.ReadKey();
return;
}}}}
Результат работы программы
Лабораторная работа 16
Тема: Структуры
Описать структуру с именем MARSH, содержащую следующие поля:
Написать программу, выполняющую следующие действия:
namespace ConsoleApplication10
{
struct Marsh
{
public string НПункт;
public string КПункт;
public int Номер;
public override string ToString()
{
return (string.Format(" Начальный пункт {0}. \n Конечный пункт {1} \n Номер маршшрута {2} ", НПункт, КПункт, Номер));
}//конец метода
public void vvod()
{
Console.WriteLine("Введите название начального пункта:");
НПункт = Console.ReadLine();
Console.WriteLine("Введите название конечного пункта:");
КПункт = Console.ReadLine();
Console.WriteLine("Введите номер маршрута:");
Номер = Convert.ToInt32(Console.ReadLine());
} }
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите количество маршрутов:");
int n = Convert.ToInt32(Console.ReadLine());
Marsh[] x = new Marsh[n];
for (int i = 0; i < n; i++)
x[i].vvod();
Console.WriteLine("Информация в базе:");
for (int i = 0; i < n; i++)
Console.WriteLine(x[i]);
Console.WriteLine("Введите название маршрута для поиска:");
string mar = Console.ReadLine();
int k = 0;
for (int i = 0; i < n; i++)
{
if (x[i].НПункт == mar)
{ Console.WriteLine(x[i]); k++; break; }
}
if (k == 0) Console.WriteLine("Таких маршрутов нет");
Console.ReadKey();
} }}
Результат работы программы