Файл: Обзор языков программирования высокого уровня (языки и парадигмы программирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 24.04.2023

Просмотров: 205

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Плюсы языка Ruby

  • ООП в стиле Smalltalk;
  • поддержка сообщества программистов;
  • простой и удобный синтаксис;
  • поддержка новейших перспективных подходов в программировании;
  • большое количество готовых решений.

К недостаткам Ruby можно отнести:

  • плохую поддержку для Windows. Так как Ruby разрабатывался, в основном, для Linux, то не в Unix-подобной системе будет сложнее работать с IDE, устанавливать дополнительные библиотеки и.т.д
  • отсутствие вакансий, если это не Ruby on Rails;
  • мало документации на русском;
  • потребление памяти.

Выводы.

В данной главе были рассмотрены одни из самых распространенных и популярный языков программирования высокого уровня.

Исходя из вышеизложенного, следует отметить, что развитие современных языков программирования высокого уровня идет в русле «дружественности» к программисту, простоты и понятности синтаксиса.

3. Разработка программы на языке C#

Постановка задачи.

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

Функционал программного средства:

вывод сведений обо всех процессах: имя процесса, PID – ID процесса, PPID - ID родительского процесса, определение процесса с наименьшим ID.

Для разработки программы использовался язык программирования C# и среда программирования Microsoft Visual Studio 2017.

Внешний вид приложения представлен на рисунке 3.

Рис. 3. Внешний вид окна приложения

При нажатии кнопки «Найти» выводится список с информацией о всех запущенных процессах. Информация о выбранном в списке процессе (имя процесса, PID, PPID) отображается в правом текстовом поле. Кроме того, выводится общее количество процессов, а также наименование процесса с наименьшим ID.

При нажатии кнопки «Очистить» происходит очистка всех полей.

При нажатии кнопки «Закрыть» осуществляется закрытие приложения.

В меню дублируются действия, доступные с помощью кнопок «Найти», «Очистить» и «Выход» (рисунок 4):

Рис. 4. Меню

Исходный код программы:

using System;

using System.Windows.Forms;

using System.Diagnostics;

using System.Management;

namespace WindowsFormsApp1

{

public partial class Form1 : Form

{

public void ProcessList() // вывод списка процессов

{

//Получаем массив типа System.Diagnostics.Process,


//предоставляющий данные обо всех процессах,

//выполняющегося на локальном компьютере.

System.Diagnostics.Process[] processlist =

System.Diagnostics.Process.GetProcesses();

//Выполняем поиск всех процессов в полученном массиве

int count = 0;

int minid = 999999999;

string minid_name = "";

foreach (System.Diagnostics.Process theprocess in processlist)

{

// Получаем ID родительского процесса

var query = string.Format("SELECT ParentProcessId FROM Win32_Process WHERE ProcessId = {0}", theprocess.Id);

var search = new ManagementObjectSearcher("root\\CIMV2", query);

var results = search.Get().GetEnumerator();

results.MoveNext();

var queryObj = results.Current;

var parentId = (uint)queryObj["ParentProcessId"];

//Добавляем информацию о процессе в элемент управления ListBox1.

listBox1.Items.Add("ID: "+theprocess.Id +" Name: "+theprocess.ProcessName + " ParentID: "+parentId);

//подсчет количества процессов

count++;

// определение процесса с минимальным ID

if (theprocess.Id < minid)

{ minid = theprocess.Id;

minid_name = theprocess.ProcessName;

}

}

label2.Text = count.ToString();//вывод количества процессов

label3.Text = minid_name;//вывод наименьшего id

}

public Form1()

{

InitializeComponent();

}

private void button4_Click(object sender, EventArgs e)

{

this.Close();// закрыть форму

}

private void button2_Click(object sender, EventArgs e)

{

listBox1.Items.Clear();//очистка текста

label2.Text = "";

label3.Text = "";

richTextBox1.Text = "";

}

private void button1_Click(object sender, EventArgs e)

{

ProcessList();//вывод списка процессов

}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

{

richTextBox1.Text=listBox1.Text; //вывод информации о выбранном процессе

}

}

}

ЗАКЛЮЧЕНИЕ

Разработка программных продуктов, отвечающих высоким требованиям к их качеству, невозможна без знания языков программирования.

Под языком программирования понимают формальную знаковую систему, предназначенную для описания алгоритмов в форме, удобной для исполнителя (например, компьютера). Язык программирования определяется набором лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять с ними при различных обстоятельствах.

В ходе работы были решены следующие задачи

  1. Изучить понятие языка программирования.
  2. Рассмотреть основные парадигмы программирования и соответствующие им языки программирования:
  • императивное программирование;
  • структурное программирование;
  • процедурное программирование;
  • модульное программирование;
  • объектно-ориентированное программирование

  1. Рассмотреть особенности языков программирования С#, Python, Ruby.
  2. Разработать программу на языке C#.

Практическая значимость работы состоит в разработке программы на языке на языке C# - программной утилиты с оконным интерфейсом для мониторинга процессов.

Функционал программного средства: вывод сведений обо всех процессах: имя процесса, PID – ID процесса, PPID - ID родительского процесса, определение процесса с наименьшим ID.

Для разработки программы использовался язык программирования C# и среда программирования Microsoft Visual Studio 2017.

Перспективы работы:

  • расширение функционала разработанного программного средства;
  • дальнейшее изучение языков программирования высокого уровня.

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Афанасьева Т.В. Алгоритмы и программы: учебное пособие / Т.В. Афанасьева, Ю.Е. Кувайскова, В.А. Фасхутдинова. – Ульяновск: УлГТУ, 2011. – 227 с.
  2. Губина Т.Н. Язык программирования Паскаль: лабораторный практикум. Часть 1 / Т.Н. Губина. – Елец: ЕГУ им. И.А. Бунина, 2012. – 102 с.
  3. Давыдова Н.А. Программирование: учебное пособие / Н.А. Давыдова, Е.В. Боровская. – М.: Лаборатория знаний, 2009. – 238 с.
  4. Дубров Д.В. Программирование: система построения проектов CMake: учебник для магистратуры / Д.В. Дубров. – М.: Юрайт, 2016. – 422 с.
  5. Иванова Г.С. Программирование: учебник / Г.С. Иванова. – М.: Кнорус, 2017. – 426 с.
  6. Круз Р.Л. Структуры данных и проектирование программ / Р.Л. Круз. – М.: Лаборатория знаний, 2012. – 765 с.
  7. Малыженков В.И. Информатика и вычислительная техника. Курс лекций по основам программирования / В.И. Малыженкова. – Нижний Новгород: Нижегородский госуниверситет, 2011. – 52 с.
  8. Страуструп Б. Язык программирования С++ / Б. Страуструп. – М.; СПб.: БИНОМ, 2017. – 1136 с.
  9. Трофимов В.В. Информационные технологии: учебник / В.В. Трофимов. – М: Дашков и К, 2016. – 542 с.
  10. Тузовский А.Ф. Высокоуровневые методы информатики и программирования: учебно-методическое пособие / А.Ф. Тузовский. – Томск: Томский политехнический университет, 2009. – 200 с.
  11. Внешние подпрограммы и модули. – URL: http://coderbook.ru/pascal-лекция-№12. (Дата обращения 27.04.2019).
  12. Вендров А.М. Журнал Jet Info Online. Библиотека портала CIT Forum современные технологии создания программного обеспечения: обзор / А.М. Вендров. URL: http://www.citforum.ru/programming/application/program. (Дата обращения 26.04.2019).
  13. Городняя Л.В. Парадигмы программирования: курс интернет-университета информационных технологий / Л.В. Городняя. URL: http://www.intuit.ru/department/se/paradigms. (Дата обращения 27.04.2019)
  14. «Забытые» парадигмы программирования. URL: https://habr.com/post/223253. (Дата обращения 27.04.2019).
  15. Интерактивное учебное пособие основы программирования и баз данных специальность 09.02.02 «Компьютерные сети». URL: http://coderbook.ru. (Дата обращения 26.04.2019).
  16. Краткий обзор языка C#. URL: https://docs.microsoft.com/ru-ru/dotnet/csharp/tour-of-csharp. (дата обращения 25.04.2019).
  17. Непейвода Н.Н. Стили и методы программирования: курс интернет-университета информационных технологий / Н.Н. Непейвода. URL: http://www.intuit.ru/department/se/progstyles. (Дата обращения 26.04.2019).
  18. Павловская Т.А. Программирование на языке высокого уровня Паскаль / Т.А. Павловская. URL: https://www.intuit.ru/studies/courses /628/484/info. (Дата обращения 26.04.2019).
  19. Ружкников В.А. Технологии и методы программирования / В.А. Ружников. URL: http://tp.vruzh.ru/001-004.pdf. (Дата обращения 26.04.2019).
  20. Россум Г. Язык программирования Python / Г. Россум, Ф.Л.Дж. Дрейк, Д.С. Откидач. URL: http://rus-linux.net/MyLDP/BOOKS/python.pdf. (Дата обращения 27.04.2019).
  21. Язык программирования C#. URL: https://learn-code.ru/yazyki-programmirovaniya/c-sharp. (Дата обращения 27.04.2019).
  22. Язык программирования Ruby. URL: https://learn-code.ru/yazyki-programmirovaniya/ruby. (Дата обращения 28.04.2019).
  23. Язык программирования Python: основы, особенности и примеры URL: https://ruud.ru/it/47731-yazyk-programmirovaniya-python-osnovy-osobennosti-i-primery. (Дата обращения 28.04.2019).