Язык C# и платформа .NET
Язык программирования C#, его основные особенности, преимущества и недостатки. Краткая характеристика, плюсы и минусы платформы .NET. Перемещение элементов из listBox1 в listBox2. Удаление выделенного элемента и удаление всех элементов из ListBox2.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | отчет по практике |
Язык | русский |
Дата добавления | 07.08.2013 |
Размер файла | 1,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образование и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Южно-Уральский государственный университет»
(национальный исследовательский университет)
Факультет «Экономика и предпринимательство»
Кафедра «Информационная безопасность»
Специальность 090103 - Организация и технология защиты информации
ОТЧЕТ ПО УЧЕБНОЙ ПРАКТИКЕ
Руководитель: преподаватель
______________/М.Е.Кулемина/
«_____»______________20___г.
Выполнил:
студент группы ЭиП-130
_______________/Д.Р. Хусаинов/
«_____»______________2011 г.
Челябинск 2011
Оглавление
- Введение
- 1. Постановка задач
- 1.1 Постановка задачи для задания №1
- 1.2 Постановка задачи для задания №2
- 2. Спецификация для задания №2
- 3. Описание тестовых заданий, распечатки результатов и анализ правильности функционирования программного продукта
- 3.1 Задание №1
- 3.2 Задание №2
- 4. Заключение
- 5. Приложение 1. Код программы. Задание№1
- 6. Приложение 2. Код программы. Задание №2
- Введение
- Язык C# был создан в 2000 году корпорацией Microsoft, основным постулатом этого языка является высказывание: «всякая сущность есть объект». Язык основан на строгой компонентной архитектуре и реализует передовые механизмы обеспечения безопасности кода.
- Язык программирования C# вобрал лучшие черты целого ряда своих предшественников. Кроме языка C++, необходимо указать еще несколько знаковых для настоящего времени языков программирования, а именно, Java и Visual Basic.
- Проанализировав основные особенности данного языка программирования, я попытаюсь сформулировать наиболее заметные преимущества данного языка программирования. Язык программирования C# призван практически реализовать компонентно-ориентированный подход к программированию, который способствует меньшей машинно-архитектурной зависимости результирующего программного кода, большей гибкости, переносимости и легкости повторного использования (фрагментов) программ. Принципиально важным отличием от предшественников является изначальная ориентация на безопасность кода (что особенно заметно в сравнении с языками C и C++), данная безопасность прежде всего соблюдена в самой платформе .NET, но о ней поговорим позже. Расширенная поддержка событийно-ориентированного программирования выгодно отличает язык программирования C# от целого ряда предшественников. Объединение лучших идей современных языков программирования (Java, C++, Visual Basic и др.) делает язык C# не просто суммой их достоинств, а языком программирования нового поколения.
- Несмотря на значительное количество принципиальных преимуществ по сравнению с существующими аналогами, язык программирования C# не лишен и отдельных недостатков, которые, весьма вероятно, носят субъективный, локальный, временный характер. Прежде всего, необходимо отметить то обстоятельство, что язык программирования C# имеет довольно сложный синтаксис (можно утверждать, что примерно 75% его синтаксических возможностей аналогичны языку программирования Java, 10% - подобны языку программирования C++, а 5% - заимствованы из языка программирования Visual Basic). Объем действительно свежих концептуальных идей в языке C# относительно невысок (по мнению некоторых исследователей, он, составляет около 10% от общего объема конструкций языка).
- До настоящего времени компилятор и среда разработки программного обеспечения, поддерживающие язык C#, обладают относительно невысокой производительностью (т.е. код программы на языке C# компилируется и выполняется примерно в 100 раз медленнее, чем тот же код на языке C). Справедливости ради нужно отметить, что производительность программ на C# вполне сравнима с тем же показателем для языка Java.
- И так подведём краткие итоги по преимуществам языка программирования С#:
1. Компонентно-ориентированное программирование;
2. Безопасный (по сравнению с языками C и C++) код;
3. Унифицированная система типизации;
4. Поддержка событийно-ориентированного программирования;
5. «Родной» язык для создания приложений в среде .NET;
6. Объединение лучших идей современных языков программирования: Java, C++, Visual Basic и др.
Недостатки языка программирования C#:
1. Довольно сложный синтаксис (75% из Java, 10% из C++, 5% из Visual Basic);
2. Относительно немного свежих концептуальных идей (вероятно, менее чем 10% конструкций языка);
3. Относительно невысокая производительность (~ в 100 раз медленнее, чем язык C, хотя и сравнимая с языком Java).
Далее поговорим об особенностях платформы .NET и её преимуществах и недостатках.
Достоинства платформы .NET:
1. Платформа .NET основана на единой объектно-ориентированной модели; все сервисы, предоставляемые программисту платформой, оформлены в виде единой иерархии классов. Это решает многие проблемы программирования на платформе Win32.
2. Благодаря тому, что промежуточное представление .NET не привязано к какой-либо платформе, приложения, созданные в архитектуре .NET, являются многоплатформенными.
3. Платформа .NET предоставляет автоматическое управление ресурсами. Это решает многие распространенные проблемы, такие как утечки памяти, повторное освобождение ресурса и т.п.
4. Код, сгенерированный для .NET, может быть проверен на безопасность. Это гарантирует, что приложение не может навредить пользователю или нарушить функционирование операционной системы (так называемая "модель песочницы"). Таким образом, приложения для .NET могут быть сертифицированы на безопасность.
5. Межъязыковое взаимодействие (language interoperability). Это единая модель, позволяющая на равных пользоваться различными языками для создания приложений. Так как MSIL не зависит от исходного языка программирования или от целевой платформы, в рамках .NET становится возможным развивать новые программы на базе старых программ - причем и первый, и второй языки программирования не так уж важны!
Недостатки платформы .NET:
1. Самым ощутимым недостатком является существенное замедление выполнения программ.
1. Постановка задач
1.1 Постановка задачи для задания №1
Используемые идентификаторы:
Имя |
Тип |
Назначение |
|
i |
int |
Счётчик для задания номера выделенного элемента в listBox1 и listBox2 |
программирование платформа net
Используемые элементы управления:
Имя |
Текст |
Тип |
Назначение |
|
label1 |
Переместить |
Label |
Используется для отображения названия «Переместить» |
|
label2 |
listBox1 |
Label |
Используется для отображения названия «ListBox1» |
|
label3 |
listBox2 |
Label |
Используется для отображения названия «ListBox2» |
|
lable4 |
Введите текст |
Label |
Используется для отображения названия «Введите текст» |
|
listBox1 |
ListBox |
Хранит и отображает введенные в TextBox1 значения |
||
listBox2 |
ListBox |
Хранит и отображает перемещенные из listBox1 элементы |
||
textBox1 |
TextBox |
Используется для ввода значений в listBox1 |
||
button1 |
>> |
Button |
Используется для перемещения элементов из listBox1 в listBox2 |
|
button2 |
<< |
Button |
Используется для перемещения элементов из listBox2 в listBox1 |
|
button3 |
Вставить в listBox1 |
Button |
Используется для вставки текста из textBox1 в listBox1 |
|
button4 |
Удалить всё из listBox1 |
Button |
Используется для удаления всех элементов из listBox1 |
|
button5 |
Удалить выделенное |
Button |
Используется для удаления выделенныхэлементов из listBox2 |
|
button6 |
Удалить всё из listBox1 |
Button |
Используется для удаления всех элементов из listBox2 |
|
button7 |
Выход |
Button |
Используется для Выхода из программы |
1.2 Постановка задачи для задания №2
Используемые идентификаторы:
Имя |
Тип |
Назначение |
|
bul |
Bool |
Используется для проверки правильности вводимых значений |
Используемые элементы управления:
Имя |
Текст |
Тип |
Назначение |
|
groupBox1 |
Вводимые данные |
GroupBox |
Используется для группировки полей для ввода значений |
|
groupBox2 |
Площадь |
GroupBox |
Используется для группировки полей для вывода подсчитанной площади трапеции |
|
label1 |
Высота: |
Label |
Используется для отображения названия «Высота:» |
|
label2 |
Верхнее основание: |
Label |
Используется для отображения названия «Верхнее основание:» |
|
label3 |
Нижнее основание: |
Label |
Используется для отображения названия «Нижнее основание:» |
|
textBox1 |
TextBox |
Используется для ввода значения высоты трапеции |
||
textBox2 |
TextBox |
Используется для ввода значения верхнего основания трапеции |
||
textBox3 |
TextBox |
Используется для ввода значения нижнего основания трапеции |
||
textBox4 |
TextBox |
Используется для вывода площади трапеции |
||
button1 |
Подсчитать площадь |
Button |
Используется для подсчета площади из введенных значений |
|
button2 |
Выход |
Button |
Используется для Выхода из программы |
2. Спецификация для задания №2
class Trapeze
{
public int h; //для хранения высоты трапеции
public int a; //для хранения верхнего основания трапеции
public int b; //для хранения нижнего основание трапеции
//Метод для подсчета площади трапеции и вывода результата
public double AreaTrapeze(int a, int b, int h); //Метод для подсчета площади трапеции и вывода результата
}
3. Описание тестовых заданий, распечатки результатов и анализ правильности функционирования программного продукта
3.1 Задание №1
Основное окно программы:
Ввод в поле «Введите текст»
Вставка введенного значения в listBox1:
Ввод произвольных Значений:
Перемещение элементов из listBox1 в listBox2:
Как видно выше, элементы, находившиеся в listBox1 были перемещены в listBox2.
Перемещение элементов из listBox2 в listBox1:
Удаление Всех элементов из listBox1:
Как видно выше при нажатии кнопки «Удалить Всё из listBox1», элемент управления listBox1 очищается.
Удаление выделенного элемента из ListBox2:
Выделим элемент содержащий значение «12345» и удалим его, нажав на кнопку «Удалить выделенное»:
При нажатии кнопки «Выход», программа закроется.
3.2 Задание №2
Основное окно Консольной программы:
Ввод значений:
При вводе неверных данных, то есть данных, не относящихся к типу int, программа не примает их и ввод повторяется:
Подсчет площади введенной трапеции
При нажатии клавиши «ENTER» программа закроется.
Основное окно Оконной программы
Ввод значений
При вводе неверных данных, то есть данных, не относящихся к типу int, программа выводит соответствующее сообщение:
Подсчет площади введенной трапеции
4. Заключение
В заключении следует отметить, что весь теоретический материал по курсу практики по программированию был изучен. Об этом свидетельствуют успешно выполненные задания. Также следует отметить то, что изучение языков программирования очень помогает развивать логические и аналитические навыки студента, которые так необходимы для специалиста по защите информации.
5. Приложение 1. Код программы. Задание№1.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//Кнопка записи строк из TextBox1 в ListBox1
private void button3_Click(object sender, EventArgs e)
{
listBox1.Items.Add(textBox1.Text);
textBox1.Text = "";
}
//Кнопка переноса выделенных элементов из ListBox1 в ListBox2
private void button1_Click(object sender, EventArgs e)
{
//Переносим выделенные элементы в listBox2
for (int i = 0; i < listBox1.SelectedItems.Count; i++)
{
listBox2.Items.Add(listBox1.SelectedItems[i]);
}
//Удаляем выделенные элементы из listBox1, начиная с конца
for (int i = listBox1.SelectedItems.Count - 1; i >= 0; i--)
{
listBox1.Items.Remove(listBox1.SelectedItems[i]);
}
}
//Кнопка переноса выделенных элементов из ListBox2 в ListBox1
private void button2_Click(object sender, EventArgs e)
{
//Переносим выделенные элементы в listBox1
for (int i = 0; i < listBox2.SelectedItems.Count; i++)
{
listBox1.Items.Add(listBox2.SelectedItems[i]);
}
//Удаляем выделенные элементы из listBox2, начиная с конца
for (int i = listBox2.SelectedItems.Count - 1; i >= 0; i--)
{
listBox2.Items.Remove(listBox2.SelectedItems[i]);
}
}
//Кнопка удаления выделенных элементов из ListBox2
private void button5_Click(object sender, EventArgs e)
{
//Удаляем выделенные элементы из listBox2, начиная с конца
for (int i = listBox2.SelectedItems.Count - 1; i >= 0; i--)
{
listBox2.Items.Remove(listBox2.SelectedItems[i]);
}
}
//Кнопка удаления всех элементов из Listbox2
private void button6_Click(object sender, EventArgs e)
{
listBox2.Items.Clear();
}
//Кнопка выхода из программы
private void button7_Click(object sender, EventArgs e)
{
Application.Exit();
}
//Кнопка удаления всех элементов из Listbox1
private void button4_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
}
}
}
6. Приложение 2. Код программы. Задание №2.
Код Класса Trapeze:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Задание__2
{
class Trapeze
{
public int h; //высота трапеции
public int a; //верхнее основание трапеции
public int b; //нижнее основание трапеции
//Метод для подсчета площади трапеции и вывода результата
public double AreaTrapeze(int a, int b, int h)
{
double S;
S = h * (a + b) / 2.0;
return(S);
}
}
}
Код Консольной программы:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Задание__2
{
class Program
{
static void Main(string[] args)
{
Задание__2.Trapeze trap = new Задание__2.Trapeze();
Console.WriteLine("Добро пожаловать в программу для подсчета площади трапеции");
Console.WriteLine("----------------------------------------------------------");
Console.WriteLine();
bool bul = true;
Console.Write("Введите высоту трапеции H= ");
do { bul = int.TryParse(Console.ReadLine(), out trap.h);} while (bul!=true);
Console.Write("Введите длину верхнего основания трапеции А= ");
do { bul = int.TryParse(Console.ReadLine(), out trap.a);} while (bul != true);
Console.Write("Введите длину нижнего основания трапеции B= ");
do { bul = int.TryParse(Console.ReadLine(), out trap.b); } while (bul != true);
Console.WriteLine();
Console.WriteLine("----------------------------------------------------------");
Console.WriteLine("H= " + trap.h.ToString() + " A= " + trap.a.ToString() + " B= " + trap.b.ToString());
Console.WriteLine();
Console.WriteLine("Площадь данной трапеции равна:");
double s=trap.AreaTrapeze(trap.a, trap.b, trap.h);
Console.WriteLine("S=H*(A+B)/2= "+"{0,1:N5}",s+" (кв. ед.)");
Console.WriteLine();
Console.WriteLine("----------------------------------------------------------");
Console.WriteLine("Нажмите 'Enter' для выхода из программы");
Console.ReadLine();
}
}
}
Код Оконной программы:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
WindowsFormsApplication1.Trapeze trap = new WindowsFormsApplication1.Trapeze();
private void button1_Click(object sender, EventArgs e)
{
bool bul = true;
if (bul == true) bul = int.TryParse(textBox1.Text, out trap.h);
if (bul == true) bul = int.TryParse(textBox2.Text, out trap.a);
if (bul == true) bul = int.TryParse(textBox3.Text, out trap.b);
if (bul == false)
{
MessageBox.Show("Введены не верные данные");
textBox4.Text = "";
return;
}
textBox4.Text = (trap.AreaTrapeze(trap.a, trap.b, trap.h).ToString()) + " (кв. ед.)";
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
Размещено на Allbest.ru
Подобные документы
Анализ платформы GATE и ее инструмента для аннотирования текста. Обзор существующих редакторов для визуальных языков и языка JAPE, их возможности, преимущества и недостатки. Проектирование визуальных конструкций на основе языка программирования JAPE.
дипломная работа [770,5 K], добавлен 08.02.2017Формулировка задачи и методика ее решения. Удаление заданной цифры из данного натурального числа. Структурная схема алгоритма и его описание. Особенности разработки программы и процедур и их описание. Удаление максимальных элементов из заданного массива.
курсовая работа [1,7 M], добавлен 08.02.2013Степень переносимости исходного кода между различными платформами. Первый язык программирования высокого уровня, имеющий транслятор. Программа Fortran, ее версии, отличия от других программ. Составление программ на языке программирования Fortran.
курсовая работа [45,5 K], добавлен 04.06.2014Стандартизированный процедурный язык программирования. Создание системного программного обеспечения и прикладных программ. Особенности языка Си, его основные недостатки. Передача параметров в функцию по значению. Стандартная библиотека языка Си.
презентация [396,3 K], добавлен 12.11.2012Приобретение навыков работы со списками в программах на Visual Prolog. Изображение списка в виде головы и хвоста. Удаление всех вхождений элемента в списке. Обозначение пустого списка. Вычисление суммы элементов, стоящих в списке на нечетных местах.
лабораторная работа [94,9 K], добавлен 27.11.2014Машинные коды и ассемблер. Первые языки программирования высокого уровня. Язык программирования FORTRAN. Достоинства и недостатки ALGOL. Научные и бухгалтерские программы. Основные принципы, которые соблюдались при создании языка программирования Basic.
курсовая работа [407,4 K], добавлен 21.06.2014Высокоуровневый язык программирования Lisp. Атомы и списки. Запрос к голове списка с помощью базовых функций. Свойства атомов Lisp. Удаление свойства и его значения. Работа со строками. Классы и объекты. Формы структурированных данных языка Lisp.
курсовая работа [232,7 K], добавлен 07.01.2016Введение, обработка данных, формирование необходимой документации. Построение структуры таблиц для хранения информации. Программная платформа "1С:Предприятие". Создание активных элементов, базирующихся на объектно-ориентированном языке программирования.
дипломная работа [812,7 K], добавлен 18.07.2014Понятие класса как собрания информации, которая включает в себя данные и функции. Создание класса "Дек". Реализация методов: добавления элемента в начало и в конец дека, удаление элемента из начала и конца дека, проверка дека на наличие в нем элементов.
курсовая работа [568,9 K], добавлен 08.09.2010Разработка программы, которая выполняет удаление элементов внешних таблиц, а также очистку файлов, вывод таблиц на экран. Описание программного продукта. Выбор языка программирования. Схема информационных потоков. Комплект поставки и инсталляция.
курсовая работа [180,0 K], добавлен 09.03.2009