Файл: Сравнительный анализ описания данных для различных языков программирования ( ЯЗЫКИ ПРОГРАММИРОВАНИЯ И ИХ КЛАССИФИКАЦИЯ).pdf

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

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

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

Добавлен: 31.03.2023

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

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

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

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

Рассмотрим примеры объявления данных типа «список»

1 C# при использовании пространства имен System.Collections.Generic:

List<string> dinosaurs = new List<string>();

2 Pascal:

Type T dinosaursElem = ^TElemSpiska;

TElemSpiska = record

inf: integer;

next: T dinosaursElem;

end;

Var

dinosaurs: TdinosaursElem;

3 Basic:

Dim dinosaurs As New List(Of string)() From {‘Dino1’, ‘Dino2’, ‘Dino3’}

Как видно C# и Basic в отличие от Pascal обладают более простыми способами описания данных типа список.

2.2.5. Множества

В Pascal, C# и некоторых других языках программирования возможно использование так называемых множеств. Понятие множества в программировании значительно уже математического понятия.

Множество представляет собой динамическую структуру данных, в виде неупорядоченной совокупности элементов, как правило, однотипных.

Базовые операции над множествами:θпроверка вхождения элемента в множество;θтеоретико-множественные операции — объединение, пересечение, вычитание, сравнение множеств на эквивалентность, проверка вхождения подмножества в множество, удаление и/или добавление элемента.

Рассмотрим способы объявления множеств и работы с ними:

1 C# при использовании пространства имен System.Collections.Generic:

HashSet<int> T = new HashSet<int>();

Т.Add(‘1’);

Т.Add(‘2’);

Т.Add(‘3’);

Console.Write("Количество элементов множества: ", T.Count);

DisplaySet(T);

2 Pascal:

var

T:set of 1..N;

i:integer;

begin

T:=[1,2,3];

for i:=1 to N do if i in T then Write(i,' ');

ReadLn;

end.

Как видно на Pascal обладает встроенной библиотекой, которая позволяет краткой записью объявить множества, для работы с множествами C# требуется подключение пространства имен, да и запись множества довольна трудоемка. Также необходимо отметить, что Basic в отличие от Pascal и C# не обладает инструментом работы со множествами.

2.2.6. Файлы

Еще одной структурой данных, фундаментальной по значению в информационных технологиях (далее ИТ) вообще и используемой в языках программирования, является файл.

Файл представляет собой поименованную совокупность данных, которая хранится на диске или передается по сети.

Основные операции над файлами:θоткрытие в различных режимах — на чтение, запись, добавление и так далее.

Файлы в зависимости от их содержимого обычно делят на текстовые, графические, звуковые и так далее. В языках программирования принято использовать деление файлов на так называемые бинарные и текстовые. На самом деле в зависимости от этого файл не меняется, меняется лишь способ работы с ним. Рассмотрим объявление файлов в языках программирования.


1 Pascal:

var hta: file;

assign(hta,'c:\text.txt');

2 С#:

string path = @"C:\ hta.txt";

FileInfo fileInf = new FileInfo(path);

3 Basic:

Open "c:\ hta.txt" For Input As #1

Как видно из вышеописанного Pascal задает переменную, в которую передается содержимое файла, C# и Basic работают на прямую с фалом, но при этом только Basic в самом начале нуждается в определении, для чего будет применятся файл для ввода или вывода информации, в то время как Pascal и C# в этом не нуждаются.

2.3 Пример реализации записи данных

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

Листинг программного кода на языке C#:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplication1

{

class Program

{

private static void DisplaySet(HashSet<int> set)

{

Console.Write("{");

foreach (int i in set)

{

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

}

Console.WriteLine(" }");

}

static void Main(string[] args)

{

Console.WriteLine("Введите n");

int n = int.Parse(Console.ReadLine());

int[] a = new int[n];

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

{

Console.WriteLine("Введите {0}-й элемент", i + 1);

a[i] = int.Parse(Console.ReadLine());

}

HashSet<int> evenNumbers = new HashSet<int>();

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

{

evenNumbers.Add(a[i]);

}

Console.Write("Множество: ", evenNumbers.Count);

DisplaySet(evenNumbers);

Console.ReadKey();

}

}

}

Результат работы программы отображен на рисунке 3.

Рисунок 3 – Результат работы программы

Листинг программного кода на языке Pascal:

uses crt;

var a:array[1..100] of integer;

I,n: integer; evenNumbers:set of 1..100;

begin

clrscr;

writeln(' Vvod n: ');

readln(n);

for i:=1 to n do begin

write(' Vvedite element {',i,'}');

readln(a[i]);

end;

for i:=1 to n do

include(evenNumbers,a[i]);

write('Mnozhestvo:');

for i:=1 to n do if i in evenNumbers then Write(i,' ');

ReadLn;

end.

Результат работы программы отображен на рисунке 4.

Рисунок 4 – Результат работы программы

Листинг программного кода на языке Basic:

Module Module1

Sub Main()

Dim n As Integer

Dim s As String

Console.WriteLine("Введите n:", n)

n = Integer.Parse(Console.ReadLine())

Dim a(n) As Integer

For i = 1 To n

Console.WriteLine("Введите {0}-й элемент", i)

a(i) = Integer.Parse(Console.ReadLine())

Next

s = ""

For i = 1 To n

If i = 1 Then

s = a(i).ToString()

ElseIf i > 1 Then

s = s + "," + a(i).ToString()

End If

Next

Console.WriteLine("Множество: ")

Console.WriteLine("[{0}]", s)

Console.ReadKey()

End Sub

End Module

Результат работы программы отображен на рисунке 5.

Рисунок 5 – Результат работы программы


Необходимо отметить, что Basic не обладает инструментами создания и работы данными типа Множество, поэтому множество можно представить в виде строки значений, при этом функции множеств- объединение, пересечение и так далее придется создавать собственные.

2.4 Анализ полученных результатов

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

Обозначения в таблице.

Простота - П

Ортогональность - О

Объем кода – ОК

Таблица 2 – Эффективность описания данных для различных языков программирования

Тип данных

C#

Pascal

Basic

П

О

ОК

П

О

ОК

П

О

ОК

Простые типы данных

10

10

10

10

10

8

10

10

8

Массивы

10

10

10

9

9

8

10

9

7

Записи

10

10

10

9

9

8

8

9

7

Множества

9

7

7

10

10

10

0

0

0

Файлы

9

8

9

9

9

10

10

10

8

ИТОГО

48

45

46

47

47

44

38

38

36

Как видно из таблицы 2 язык программирования Pascal обладает всеми необходимыми инструментами для работы не только с простыми типами данных, но также с данными сложных структур – записи, множества, файлы. В отличие от Pascal язык программирования C# обладает более простой записью данных, объем кода при работе с данными простого типа является минимальным, а для работы с данными сложных типов применяются специальные пространства имен, что усложняет читабельность программного кода. Язык программирования Basic обладает в сравнении с вышеописанными языками программирования огромными недостатками – большой объем кода, простота написания, отсутствия встроенных механизмов описания данных типа множества.

ЗАКЛЮЧЕНИЕ

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


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

В рамках работы над второй главой были раскрыты некоторые особенности описания данных на языках С#, Pascal. BAsic, описаны основные типы и методы языков программирования, позволяющие проводить быструю и корректную разработку программного обеспечения.

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

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

  1. Окулова С. М. Основы программирования/ С. М. Окулова. – М.: Бином, 2018. – 332 с.
  2. Зыков С. В. Введение в теорию программирования/ С. В. Зыков. – М.: Интуит, 2018. – 400 с.
  3. Павловская Т. C#. Программирование на языке высокого уровня. Учебник для вузов/ Т. Павловская. – М.: Питер, 2016. – 432 с.
  4. Архангельский А.Я. Программирование в Delphi для Windows. Версии 2006, 2007, Turbo Delphi / А.Я. Архангельский. - М.: Бином-Пресс, 2015. - 1248 c.
  5. Шилдт Герберт. C# 4.0. Полное руководство/ Герберт Шилдт. – М.: Диалектика, 2019. – 1056 с.
  6. Балена Ф. Современная практика программирования на MS Visual Basic и Visual C# / Ф. Балена. - М.: Русская редакция, 2016. - 640 c.
  7. Хорев П. Б. Объектно-ориентированное программирование с примерами на C#. Учебное пособие/ П. Б. Хорев. – М.: Форум, 2019. – 200 с.
  8. Чистякова Т. Б. Программирование на языках высокого уровня. Базовый курс : учеб. пособие / Т. Б. Чистякова, Р. В. Антипин, И. В. Новожилова ; СПбГТИ(ТУ). - СПб. : [б. и.], 2018. - 101 с.
  9. Ковалев В.Г. Turbo Pascal 7.0. Практика программирования / В.Г. Ковалев, С.В. Ковалев. - М.: КноРус, 2014. - 540 c.
  10. Остроух А.В. Основы информационных технологий: Учебник / А.В. Остроух. - М.: Academia, 2017. - 183 c.
  11. Коваленко В. В. Проектирование информационных систем: учеб. пособие для вузов / В. В. Коваленко. - М. : Форум, 2016. - 319 с.
  12. Фаронов В.В. TurboPascal 7.0. Практика программирования: Учебное пособие / В.В. Фаронов. - М.: КноРус, 2012. - 414 c.
  13. Великович Л.С. Программирование для начинающих / Л.С. Великович. - М.: Бином. Лаборатория знаний, 2017. - 287 c.
  14. МакГрат М. Программирование на C для начинающих / М. МакГрат. - М.: Эксмо, 2015. - 192 c.
  15. Аболрус С. Программирование на Pascal / С. Аболрус. - СПб.: Символ-плюс, 2015. - 328 c.
  16. Перри Г. Программирование на C для начинающих / Г. Перри, Д. Миллер. - М.: Эксмо, 2016. - 192 c.
  17. Мартынов Б.М. Программирование для Windows на С/С++ в 2-х томах. т.2. / Б.М. Мартынов. - М.: Бином-Пресс, 2015. - 480 c.
  18. Истомин Е.П. Информатика и программирование: Pascal и VBA / Е.П. Истомин, А.М. Власовец. - М.: АИД, 2010. - 293 c.
  19. Мюллер Д. П., Семпф Б., Сфер Ч. C# для чайников/ Д. П. Мюллер. – М.: Диалектика, 2019. – 608 c.
  20. Васильев А.Н. Программирование на C# для начинающих. Особенности языка / А.Н. Васильев. - М.: Эксмо, 2017. - 128 c.