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

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

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

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

Добавлен: 30.06.2023

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

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

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

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

4 Примеры реализации кода на языке C#

Наиболее эффективным иллюстрированием использования языка является рассмотрение конкретных примеров и реализация практических задач. Объем работы не позволяет рассмотреть примеры на всех ранее рассмотренных языках, по этому ограничимся только языком C#. Этот раздел курсовой работы демонстрирует основные направления использования языка, реализацию основных алгоритмических конструкций, обработку данных (на примере массива). В качестве примеров рассматриваются простые задачи. Понимание которых не вызывает сложности, такие задачи наиболее подходящие для иллюстрирования возможностей языка. Эта часть является авторским вкладов в работу и реализуется самостоятельно в отличие от предыдущего материала, который является некоторой выдержкой и обобщенным анализом проработанных источников литературы и ресурсов Интернета.

Рассмотрим некоторые примеры использования программного кода языка.

4.1 Консольное приложение

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

Задание

Вычислить и вывести на экран в виде таблицы значения функции, заданной графически, на интервале от хнач до хкон с шагом dx. Интервал и шаг задать таким образом, чтобы проверить все ветви программы. Таблицу снабдить заголовком и шапкой.

Рисунок 8 – параметрически заданная функция

Этап формализации

При разработке программного приложения выбраны обозначения, значения и типы данных:

Переменные из условия задачи

Переменные в программе и их значения

Тип данных

хнач

xBeg = -6

double

хкон

xEnd = 9

double

dx

dX = 0.5

double

Y

y

double


dX = 0.5 выбрано из тех соображений, что минимальный интервал между различными функциями = 1, следовательно, соблюдаются условия задачи относительно проверки каждого интервала задания аргумента функции.

Значение функции Y определяются следующим образом:

Алгоритм

Чтобы проиллюстрировать все этапы работы над задачей, далее приведен текст программы и результаты тестирования.

Листинг

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Lab5

{

class Program

{

static void Main(string[] args)

{

double x, x0=-6, xn = 9, dx = 0.5, y;

Console.Write("Вычисление значений функции заданной графически\n");

Console.Write("___X____||____Y____\n");

for (x = x0; x <= xn; x += dx)

{

if (x < -5) { y = -3;}

else

if ((x >= -5) && (x < -3)) { y = x + 3; }

else

if ((x >= -3) && (x <= 3)) { y = Math.Sqrt(9 - x * x); }

else

if ((x > 3) && (x <= 8)) { y = (3 * x - 9) / 5; }

else { y = 3; }

Console.Write("|{0,6:G2} || {1,7:G5}|\n", x, y);

}

Console.Write("________||_________\n");

Console.ReadLine();

}

}

}

Тестовый пример

4.2 Обработка массивов

Задача 1.

Даны вещественные массивы A[8], B[8], C[8]. Определить значения вещественного массива D[3][8]. В первую строку массива D записать значения массива A, во вторую ‐ массива В, а в 3‐ю ‐ массива С.

Листинг:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

double[] a = new double[8];

double[] b = new double[8];

double[] c = new double[8];

double[,] d = new double [3,8];

int i,j;

Console.WriteLine("Вводим данные в массивов а[8], b[8], c[8]\n");

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

{

Console.Write("a[{0}]=",i);

a[i] = Convert.ToDouble(Console.ReadLine());

Console.Write("b[{0}]=",i);

b[i]=Convert.ToDouble(Console.ReadLine());

Console.Write("c[{0}]=",i);

c[i]=Convert.ToDouble(Console.ReadLine());

}

// Инициализация массива d[3][8] элементами массивов а[8], b[8], c[8]

Console.WriteLine("\n\n Результатирующий массив\n");

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

{

d[0,i] = a[i];

d[1,i] = b[i];

d[2,i] = c[i];

}

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

{

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

{

Console.Write(" {0,4} ", d[i,j]);

}

Console.WriteLine();

}

Console.ReadLine();

}

}

}

Результат

Задача 2.

Даны целые массивы A[10], B[10] и значения C,E,D,F. Каждый массив преобразовать следующим образом: если элемент массива A[i] >=0, то он заменяется на значение C, иначе на значение D. Если элемент массива B[i] >= 0, то он заменяется на значение E, иначе на значение F.


Листинг:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplication2

{

class Program

{

//Ввод значений эл. массива

static void input_arr(int size, char name, int[] arr)

{

for (int i = 0; i < size; i++)

{

Console.Write("{0}[{1}]=", name, i);

arr[i] = Convert.ToInt32(Console.ReadLine());

}

}

//Вывод значений эл. массива

static void output_arr(int size, char name, int[] arr)

{

Console.Write("{0}:\n", name);

for (int i = 0; i < size; i++)

{

Console.Write("{0} ", arr[i]);

}

Console.Write("\n");

}

static void Main(string[] args)

{

int[] a = new int[10];

int[] b = new int[10];

int c = 0,d=0,e=0,f=0;

int i, j;

Console.WriteLine("Введите начальные значения массивов:\n");

Console.WriteLine("Массив A:\n");

input_arr(10, 'A',a);

Console.WriteLine("Массив B:\n");

input_arr(10, 'B',b);

Console.WriteLine("Введите элементы для замены:\n");

Console.Write("c=");

c= Convert.ToInt32 (Console.ReadLine());

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

{

if (a[i]<0)

{a[i] = d;}

else

{a[i] = c;}

if (b[i]<0)

{b[i] = f;}

else

{b[i] = e;}

}

Console.WriteLine("Массивы после преобразования:");

output_arr(10, 'A', a);

output_arr(10, 'B', b);

Console.ReadLine();

}

}

}

Результат

4.3 Разработка приложений WinForms

Для примера рассмотрим решение предыдущих задач с массивами, но уже с использованием технологии WinForms.

Алгоритмических отличий практически нет. Но в коде можно отметить, что в качестве компонента для вывода используется dataGridView, а для хранения и обработки данных все те же статические массивы.

Листинг

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace b4_2WF

{

public partial class Form1 : Form

{

int[] a = new int[10];

int[] b = new int[10];

public Form1()

{

InitializeComponent();

dataGridView1.RowCount = 2;

dataGridView1.ColumnCount = 11;

dataGridView1.Rows[0].SetValues("мас.A:");

dataGridView1.Rows[1].SetValues("мас.B:");

dataGridView2.RowCount = 2;

dataGridView2.ColumnCount = 11;

dataGridView2.Rows[0].SetValues("мас.A:");

dataGridView2.Rows[1].SetValues("мас.B:");

}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

if (Char.IsNumber(e.KeyChar) ||

(!string.IsNullOrEmpty(textBox1.Text) && e.KeyChar == '-'))

{

return;

}

else

{ e.Handled = true; }

}

private void button1_Click(object sender, EventArgs e)

{

// RAndom inicialization

Random rnd = new Random();

for (int i = 0; i < 10; i++)

{

a[i] = 100 - rnd.Next(201);

dataGridView1.Rows[0].Cells[i + 1].Value = a[i];

b[i] = 100 - rnd.Next(201);

dataGridView1.Rows[1].Cells[i + 1].Value = b[i];

}

}

private void button2_Click(object sender, EventArgs e)

{

int C = Convert.ToInt32(textBox1.Text),


D = Convert.ToInt32(textBox2.Text),

E = Convert.ToInt32(textBox3.Text),

F = Convert.ToInt32(textBox4.Text);

for (int i = 0; i < 10; i++)

{

if (a[i] < 0)

{

a[i] = D;

}

else

{ a[i] = C; }

dataGridView2.Rows[0].Cells[i + 1].Value = a[i];

if (b[i] < 0)

{

b[i] = F;

}

else

{ b[i] = E; }

dataGridView2.Rows[1].Cells[i + 1].Value = b[i];

}

}

private void button3_Click(object sender, EventArgs e)

{

for (int i = 0; i < 10; i++)

{

a[i] = Convert.ToInt32( dataGridView1.Rows[0].Cells[i + 1].Value);

b[i] = Convert.ToInt32( dataGridView1.Rows[1].Cells[i + 1].Value);

}

}

}

}

Результат

До заполнения данными

После заполнения

После преобразования

ВЫВОДЫ

В работе рассмотрены несколько языков программирования высокого уровня. При этом, для более полного обзора, рассмотрены языки различной направленности и сферы применения.

Выбор языков базировался на анализе современного положения популярности и востребованности ЯВУ.

Основное внимание уделено языку программирования C#, этот язык, хоть и не занимает сегодня лидирующих позиций, демонстрирует стабильный спрос и интерес на рынке разработчиков.

На некоторое время, после своего появления в 2000 году, язык C# вытеснил многие языки в своем сегменте. Этому способствовало ряд факторов: объектная ориентированность языка, мощный набор готовых типов, классов, библиотек, возможность разработки широкого спектра программ: от консольных до веб ориентированных, плотная поддержка разработчиком(обновления, интегрированность, документация), кросплатформенность.

Ввиду очень удобного объектно-ориентированного дизайна, C# является хорошим выбором для быстрого конструирования различных компонентов - от высокоуровневой бизнес логики до системных приложений, использующих низкоуровневый код. Также следует отметить, что C# является и Web ориентированным - используя простые встроенные конструкции языка ваши компоненты могут быть легко превращены в Web сервисы, к которым можно будет обращаться из Internet посредством любого языка на любой операционной системе. Дополнительные возможности и преимущества перед другими языками приносит в C# использование передовых Web технологий, таких как: XML (Extensible Markup Language) и SOAP (Simple Object Access Protocol). Среда разработки Web сервисов позволяет программисту смотреть на существующие сегодня Web приложения, как на родные C# объекты, что дает возможность разработчикам соотнести имеющиеся Web сервисы с их познаниями в объектно-ориентированном программировании.


На протяжении уже более 15 лет язык удерживает лидирующие позиции среди разработчиков, востребован в области коммерческого программирования. Следовательно ‑ язык актуален для изучения и анализа, что и было проделано в данной работе.

Задачи, поставленные в курсовой работе выполнены в полном объеме.

ЛИТЕРАТУРА

  1. Федоров А. Г. Создание Windows-приложений в среде C++ Builder 6. М.: ТОО «Компьютер Пресс», 2002.
  2. Хендерсон К. Руководство разработчика баз данных в C++ Builder 6. М: Диалектика, 2000.
  3. Гвоздева Т. В., Б. А. Баллод, Проектирование информационных систем, М, Издательство: Феникс, 2009 г., 512 стр.
  4. Литвиненко Н. А. - Технология программирования на С++, - Петербург: БХВ 2010
  5. Стефан Р. Дэвис - С++ Для чайников, - М.: Вильямс 2003, - 336 стр.
  6. Кузнецов С. Д., Основы баз данных, М, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2007 г., 488 стр.
  7. Илюшечкин В. М. , Основы использования и проектирования баз данных, М, Издательство Юрайт, 2010 г., 224 стр.
  8. Дрейер Мартин. C# для школьников. 2009, 126 стр.
  9. Дубовцев А. Microsoft .NET. Наиболее полное руководство. 2004, 701 стр.
  10. Культин. C# в задачах и примерах. 2007, 241 стр.
  11. Купцевич Ю.И. Альманах программиста Безопасность в Microsoft .NET. 2004, 294 стр.
  12. Либерти Д. Программирование на C#. Создание .NET приложений. Программирование на C#. 684 стр.
  13. Нейгел, Ивьен, Глинн, Уотсон, Скиннер. C# 2008 и платформа .NET 3.5 для профессионалов. 2009, 1392 стр.
  14. Нортроп Т. Основы разработки приложений на платформе .NET Framework. Экзамен 70-536. 2007, 864 стр.
  15. Нэш Т. C# 2008 Ускоренный курс для профессионалов. 2008, 576 стр.
  16. Пауэрс Л. Microsoft Visual Studio 2012 в подлиннике. 2013, 1191 стр.
  17. Петцольд Ч. Программирование для Microsoft Windows на С#. Том 1. 2002, 570 стр.
  18. Рихтер Д. Программирование на платформе Microsoft .NET FRAMEWORK 2.0 на языке C# 2007, 658 стр.
  19. Симон Робинсон и др. C# для профессионалов. Том 1. 2003. 516 стр.
  20. МакГрат Майк Программирование на Java для начинающих/ М.: Издательство: ЭКСМО, 2016 ISBN: 978-5-699-85743-2, 192 стр.
  21. Алексей Васильев Самоучитель Java с примерами и программами. 3-е изд./ СП.: Наука и Техника, 2016 ISBN: 978-5-94387-985-2, 368 стр.
  22. «PHP, Mysql и Dreamweaver MX 2004. Разработка интерактивных Web-Сайтов.» Дронов В. А. — Спб.: Бхв-Петербург, 2005. - 448 с : ил.
  23. «PHP and Mysql Web Development (4th Edition)», Luke Welling, Laura Thomson 848 стр.
  24. Динамика изменения позиций популярности языков Электронный ресурс [режим доступа]: https://cosmonova.net/ru/page/top_popular_programming_language
  25. Сравнение популярности и востребованности языков программирования Электронный ресурс [режим доступа]: https://habrahabr.ru/hub/github/