Файл: Обзор языков программирования высокого уровня (языки и парадигмы программирования).pdf
Добавлен: 24.04.2023
Просмотров: 205
Скачиваний: 2
СОДЕРЖАНИЕ
1. Языки и парадигмы программирования
1.2. Императивное программирование
1.3. Структурное программирование
1.4. Процедурное программирование
1.5. Модульное программирование
1.6. Объектно-ориентированное программирование
2. Описание некоторых языков программирования высокого уровня
2.2. Язык программирования Python
2.3. Язык программирования Ruby
Плюсы языка 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; //вывод информации о выбранном процессе
}
}
}
ЗАКЛЮЧЕНИЕ
Разработка программных продуктов, отвечающих высоким требованиям к их качеству, невозможна без знания языков программирования.
Под языком программирования понимают формальную знаковую систему, предназначенную для описания алгоритмов в форме, удобной для исполнителя (например, компьютера). Язык программирования определяется набором лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять с ними при различных обстоятельствах.
В ходе работы были решены следующие задачи
- Изучить понятие языка программирования.
- Рассмотреть основные парадигмы программирования и соответствующие им языки программирования:
- императивное программирование;
- структурное программирование;
- процедурное программирование;
- модульное программирование;
- объектно-ориентированное программирование
- Рассмотреть особенности языков программирования С#, Python, Ruby.
- Разработать программу на языке C#.
Практическая значимость работы состоит в разработке программы на языке на языке C# - программной утилиты с оконным интерфейсом для мониторинга процессов.
Функционал программного средства: вывод сведений обо всех процессах: имя процесса, PID – ID процесса, PPID - ID родительского процесса, определение процесса с наименьшим ID.
Для разработки программы использовался язык программирования C# и среда программирования Microsoft Visual Studio 2017.
Перспективы работы:
- расширение функционала разработанного программного средства;
- дальнейшее изучение языков программирования высокого уровня.
Цель работы – произвести обзор языков программирования высокого уровня и разработать программу на одном из языков высокого уровня -достигнута. Все поставленные задачи выполнены.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- Афанасьева Т.В. Алгоритмы и программы: учебное пособие / Т.В. Афанасьева, Ю.Е. Кувайскова, В.А. Фасхутдинова. – Ульяновск: УлГТУ, 2011. – 227 с.
- Губина Т.Н. Язык программирования Паскаль: лабораторный практикум. Часть 1 / Т.Н. Губина. – Елец: ЕГУ им. И.А. Бунина, 2012. – 102 с.
- Давыдова Н.А. Программирование: учебное пособие / Н.А. Давыдова, Е.В. Боровская. – М.: Лаборатория знаний, 2009. – 238 с.
- Дубров Д.В. Программирование: система построения проектов CMake: учебник для магистратуры / Д.В. Дубров. – М.: Юрайт, 2016. – 422 с.
- Иванова Г.С. Программирование: учебник / Г.С. Иванова. – М.: Кнорус, 2017. – 426 с.
- Круз Р.Л. Структуры данных и проектирование программ / Р.Л. Круз. – М.: Лаборатория знаний, 2012. – 765 с.
- Малыженков В.И. Информатика и вычислительная техника. Курс лекций по основам программирования / В.И. Малыженкова. – Нижний Новгород: Нижегородский госуниверситет, 2011. – 52 с.
- Страуструп Б. Язык программирования С++ / Б. Страуструп. – М.; СПб.: БИНОМ, 2017. – 1136 с.
- Трофимов В.В. Информационные технологии: учебник / В.В. Трофимов. – М: Дашков и К, 2016. – 542 с.
- Тузовский А.Ф. Высокоуровневые методы информатики и программирования: учебно-методическое пособие / А.Ф. Тузовский. – Томск: Томский политехнический университет, 2009. – 200 с.
- Внешние подпрограммы и модули. – URL: http://coderbook.ru/pascal-лекция-№12. (Дата обращения 27.04.2019).
- Вендров А.М. Журнал Jet Info Online. Библиотека портала CIT Forum современные технологии создания программного обеспечения: обзор / А.М. Вендров. URL: http://www.citforum.ru/programming/application/program. (Дата обращения 26.04.2019).
- Городняя Л.В. Парадигмы программирования: курс интернет-университета информационных технологий / Л.В. Городняя. URL: http://www.intuit.ru/department/se/paradigms. (Дата обращения 27.04.2019)
- «Забытые» парадигмы программирования. URL: https://habr.com/post/223253. (Дата обращения 27.04.2019).
- Интерактивное учебное пособие основы программирования и баз данных специальность 09.02.02 «Компьютерные сети». URL: http://coderbook.ru. (Дата обращения 26.04.2019).
- Краткий обзор языка C#. URL: https://docs.microsoft.com/ru-ru/dotnet/csharp/tour-of-csharp. (дата обращения 25.04.2019).
- Непейвода Н.Н. Стили и методы программирования: курс интернет-университета информационных технологий / Н.Н. Непейвода. URL: http://www.intuit.ru/department/se/progstyles. (Дата обращения 26.04.2019).
- Павловская Т.А. Программирование на языке высокого уровня Паскаль / Т.А. Павловская. URL: https://www.intuit.ru/studies/courses /628/484/info. (Дата обращения 26.04.2019).
- Ружкников В.А. Технологии и методы программирования / В.А. Ружников. URL: http://tp.vruzh.ru/001-004.pdf. (Дата обращения 26.04.2019).
- Россум Г. Язык программирования Python / Г. Россум, Ф.Л.Дж. Дрейк, Д.С. Откидач. URL: http://rus-linux.net/MyLDP/BOOKS/python.pdf. (Дата обращения 27.04.2019).
- Язык программирования C#. URL: https://learn-code.ru/yazyki-programmirovaniya/c-sharp. (Дата обращения 27.04.2019).
- Язык программирования Ruby. URL: https://learn-code.ru/yazyki-programmirovaniya/ruby. (Дата обращения 28.04.2019).
- Язык программирования Python: основы, особенности и примеры URL: https://ruud.ru/it/47731-yazyk-programmirovaniya-python-osnovy-osobennosti-i-primery. (Дата обращения 28.04.2019).