Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЯП5

.docx
Скачиваний:
1
Добавлен:
29.06.2023
Размер:
161.73 Кб
Скачать

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ

УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра безопасности информационных систем (БИС)

Указатели

Отчет по лабораторной работе №5

по дисциплине «Языки программирования»

Студент гр.739-1

_______ М. Д. Климанов

3.12.2020

Принял

Младший научный сотрудник

______ В. А. Полюга

3.12.2020

Томск 2020

Содержание

Содержание 2

1 Введение 3

2 Ход работы 4

2.1 Указатели и ссылки на языке программирования Python 4

2.2 Указатели и ссылки на языке программирования C# 5

3 Заключение 7

Приложение А 8

Приложение Б 9

1 Введение

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

2 Ход работы

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

1) С#, C, С++

2) Любой другой

Мною были выбраны языки: Python и C#.

2.1 Указатели и ссылки на языке программирования Python

На языке Python не существует указателей, поэтому на рисунке 2.1.1 представлен фрагмент ссылок

Пример программы представлен на рисунке 2.1.1.

Пример программы рисунок 2.1.1.

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

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

Листинг кода можно найти в приложении А.

2.2 Указатели и ссылки на языке программирования C#

На рисунке 2.2.1 изображен фрагмент кода, на котором представлена работа с указателями.

Пример программы рисунок 2.2.1.

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

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

На рисунке 2.2.3 изображен фрагмент кода, на котором представлена работа с ссылками

Пример программы рисунок 2.2.3.

Листинг кода можно найти в приложении Б.

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

Рисунок 2.2.4 – Продолжение работы второй программы

3 Заключение

В результате выполнения лабораторной работы, были изучены такие приёмы как указатели и ссылки на языках Python и C#.

Отчет был написан согласно ГОСТ ОС ТУСУР.

Приложение А

(обязательное)

Листинг кода программы

list = [1, 2, 3, 'нет, один', 'два', 'три']

element_twoo = list[1], list[3]

print(element_twoo)

plist = list

plist[1] = 55

plist[3] = 'двадцать'

print(list[1], list[3])

print(list)

index = list[-1], list[-0]

print(index)

list = [5, 10, 15, 20]

for q in range(len(list)):

plist[q]*=2

print(list)

print(list[1:4])

plist = list

plist.append(666)

print(list)

plist.reverse()

print(list)

print(list.index(10), list.index(666))

Приложение Б

Листинг кода программы

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace указатели

{

class Program

{

static void Main(string[] args)

{

unsafe

{

//указатели

int x = 15;

int* y;

y = &x;

Console.WriteLine(*y);

*y = 25;

x = x / 5;

Console.WriteLine(*y);

int** z = &y;

**z = **z + 25;

Console.WriteLine(*y);

uint q = (uint)y;

Console.WriteLine("{0}", q);

byte* b = (byte*)(q + 4);

Console.WriteLine("{0}: {1}", q + 4, *b);

double* d = (double*)(q + 8);

Console.WriteLine("{0}: {1}", q + 8, *d);

//ссылки

int sx = 30;

ref int sy = ref sx;

Console.WriteLine(sx);

Console.WriteLine(sy);

sy = 59;

Console.WriteLine(sy);

sy++;

Console.WriteLine(sx);

Console.WriteLine(sy);

int sxs = 46;

int sys = 64;

ref int r = ref sxs;

Console.WriteLine(r);

r = 77;

Console.WriteLine(r);

r = ref sys;

Console.WriteLine(r);

r = 1;

Console.WriteLine(r);

}

}

}

}

Соседние файлы в предмете Языки программирования