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

643

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
138.49 Кб
Скачать

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

«Нижегородский государственный архитектурно-строительный университет»

А. И. Домрачев

ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ

Учебно-методическое пособие

по выполнению лабораторных работ для обучающихся по дисциплине «ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ»

по направлению подготовки 09.03.02 Информационные системы и технологии, без профиля

Нижний Новгород

2016

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

«Нижегородский государственный архитектурно-строительный университет»

А. И. Домрачев

ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ

Учебно-методическое пособие

по выполнению лабораторных работ для обучающихся по дисциплине «ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ»

по направлению подготовки 09.03.02 Информационные системы и технологии, без профиля

Нижний Новгород ННГАСУ

2016

УДК 681.3(075)

Домрачев А. И./ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ [Электронный ресурс]: учеб. – метод. пос./ А. И. Домрачев; Нижегор. гос. архитектур. – строит. ун-т – Н. Новгород: ННГАСУ, 2016. - 10 с. 1 электрон. опт. диск (CD-R)

Приводятся цели, задания и порядок выполнения лабораторных работ, а также контрольные вопросы в конце каждой лабораторной работы.

Предназначено для обучающихся в ННГАСУ по дисциплине «ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ» по направлению подготовки 09.03.02 Информационные системы и технологии, без профиля.

© А. И. Домрачев © ННГАСУ. 2016.

Лабораторная работа 1. Работа с каталогами в UNIX.

Цель работы: научиться работать с каталогами в командной строке.

Файловая система UNIX представлена для программиста в виде дерева каталогов с единым корнем. Для любой программы в каждый момент времени какой-либо каталог будет являться текущим. Посмотреть путь к текущему каталогу можно с помощью команды pwd. Путём называется последовательность каталогов от корневого каталога до текущего. Корневой каталог обозначается символом «/». Так, если в корневой каталог вложен каталог var, то путь к нему обозначается /var. А если внутри каталога /var находится каталог log, то путь к нему будет /var/log.

Пути к файлам и каталогам используются в качестве параметров команд оболочки и других программ. Для того, чтобы не писать длинный путь от корневого каталога можно использовать более короткий путь от текущего каталога. Так, если имеем каталог /var/log и текущим является каталог /var, то путь к каталогу /var/log можно записать как просто log. Другими словами, если оболочка «видит», что при записи пути к файлу или каталогу вы не указали вначале «/», то она автоматически добавляет к такому пути путь к текущему каталогу.

Путь от корневого каталога называется абсолютным, от текущего — относительным.

После ввода пароля и входа в систему запускается программа оболочки (shell[англ.]- оболочка). Каталог, который будет текущим после входа в систему называют домашним каталогом пользователя (здесь мы не рассматриваем случай отсутствия домашнего каталога). Вся работа будет вестись вами в этом каталоге.

Чтобы создать в текущем каталоге новый каталог, нужно ввести команду mkdir имя_каталога. Чтобы перейти во вновь созданный каталог нужно набрать команду cd имя_каталога. Чтобы перейти на один каталог «вверх», нужно перейти в каталог «..». Для каждой новой задачи вам понадобится новый каталог с именем, соответствующим задаче.

Чтобы посмотреть содержимое текущего каталога, нужно ввести команду ls. Чтобы скопировать каталог, нужно ввести команду cp с ключом r и двумя параметрами: первый параметр — путь к каталогу, который копируем, второй параметр — путь к каталогу, в который копируем. Например, чтобы скопировать каталог /var/123 в каталог /home/678 нужно дать команду cp -r /var/123 /home/678.

Для перемещения и переименования каталогов используется команда mv. Она принимает те же параметры, что и команда cp, но без ключа r. Чтобы удалить каталог используется команда rm с ключом r.

Аналогичные команды без ключа r применяются для копирования, перемещения и удаления файлов.

Мы рассмотрим два способа создания текстового файла. Первый способ — создать файл с помощью текстового редактора, второй — направить в файл вывод какой-нибудь программы. Текстовый редактор будет рассмотрен в следующей работе. Чтобы направить вывод программы в файл, нужно после команды запуска программы написать « > имя_файла» например, чтобы направить в файл список содержимого каталога нужно набрать команду ls > имя_файла. Если файл с таким именем уже

3

существует, то он будет переписан. Если же нам нужно дописать результат программы в конец файла, то следует после команды написать « >> имя_файла»

Для вывода содержимого файла на экран используйте команду cat имя_файла. Если файл не помещается на экран, то вместо cat используйте less. Выход из программы less — буква q.

Задания по работе:

1.Создайте в своём домашнем каталоге каталоги test01 и test02 и test03

2.Создайте в каталоге test01 каталог test11

3.Скопируйте каталог test01 в каталог test02 в домашнем каталоге. Проверьте, что содержимое каталога скопировано.

4.Переименуйте каталог test03 в test04

5.Удалите каталог test01 из каталога test 02.

6.Находясь в домашнем каталоге, направьте направьте вывод какой-либо команды в файл, находящийся в каталоге test02.

7.Переместите все созданные каталоги в каталог lab1 в домашнем каталоге.

Вопросы:

1.Что такое путь к каталогу, чем отличаются абсолютный и относительный путь?

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

4

Лабораторная работа № 2 Создание и запуск простых программ

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

Исходный код программы — это текстовый файл. Для изменения текстовых файлов нужен текстовый редактор. Текстовый редактор vim был создан программистами для программирования.

Задания:

1.С помощью команды vimtutor откройте учебник по редактору vim и выполните все задания из учебника.

2.Создайте в домашнем каталоге каталог lab2, а в нём текстовый файл prog1.py со следующим содержанием:

3.name = input("Как Вас зовут? ")

4.print("Привет,", name)

5.Выйдите из текстового редактора и запустите файл с помощью команды python3 имя_файла_программы.

6.Измените программу таким образом, чтобы (каждая новая программа должна располагаться в новом файле в каталоге lab2):

7.После приветствия компьютер прощался с пользователем

8.чтобы компьютер спрашивал возраст пользователя с помощью команды

9.vozrast = int(input("Как Вас зовут? "))

10.и выводил на экран сколько лет будет пользователю через 10 лет

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

5

Лабораторная работа № 3

Цель работы: изучение математических операций и переменных в программировании.

Математические операции.

В языке Python есть встроенные математические операции: +, -, * - умножить, / - разделить. Операция ** означает возведение в степень. Для обозначения приоритета операций можно использовать скобки. Для разделения целой части от дробной используется точка.

Можно добавить и другие математические операции, загрузив в программу математический модуль. Это делается командой import math. Посмотреть какие это операции можно с помощью команды dir(math). Чтобы вычислить, например, синус угла в 30 градусов следует использовать команду math.sin( math.pi/6 ). Угол задаётся в радианах. Чтобы посмотреть справку по функции, введите, например, help(math.cos) .

Переменные.

В переменных вы можете хранить число, строку, а также результат какой-либо операции. Переменны не должны начинаться с цифры. Переменные не должны совпадать с зарезервированными словами языка. Чтобы сохранить синус угла в 30 градусов в переменную можно записать

sin30 = math.sin( math.pi/6 ).

Язык различает разные типы переменных. Если мы записываем a=5, то в переменной a хранится целое число, а если a=5.0, то дробное. Результат деления целого числа на целое будет целым, дробная часть при этом просто отбросится. Чтобы результат быд дробным, хотя бы одно из чисел должно быть дробным. Целые числа имеют тип int, дробные — тип float. Посмотреть тип можно с помощью функции type(переменная). Изменить тип с помощью операции int(переменная) или float(переменная) результат операции следует сохранять в переменной.

Форматированный вывод.

В функции print мы имеем возможность указать тип печатаемой переменной и формат печати. В наших программах это будет влиять на вид выводимых чисел на экране. Формат команды следующий:

 

print(«текст со вставленными в него типами переменных» % (переменная1, переменная2, …))

 

Типы переменных следующие:

 

 

 

%s

 

строка

 

 

 

 

 

%d

 

целое число

 

 

 

 

 

%f

 

десятичное представление с шестью знаками после запятой

 

 

 

 

 

%e

 

"научное" представление

 

 

 

 

 

%g

 

компактное представление десятичного числа

 

 

 

 

 

Так, чтобы вывести на экран число Пи: print(«число Пи равно %f» % (math.pi)). Перевод текста на новую строку осуществляется комбинацией \n , вставленной в текст. Чтобы после десятичной точки на экран выводилось нужное нам число знаков можно использовать %.3f — для трёх знаков.

6

Задания по работе:

1.Измените одну программу из предыдущей работы таким образом, чтобы пользователь мог вводить дробные числа и получать дробный результат. Вывод на экран переменных сделайте так, как описано в этой работе.

2.Напишите программу, которая по введённым пользователем координатам точек на плоскости вычисляет расстояние между ними и выводит результат с точностью до тысячных.

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

4.Напишите программу, которая в одной строке выводит на экран синус и косинус угла введёного пользователем с точностью до десятых. Пользователь вводит угол в градусах.

Вопросы по работе:

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

2.Какие существуют типы переменных?

3.Как использовать форматный вывод переменных на экран?

7

Лабораторная работа № 4

Цель работы: научиться использовать циклы в программах.

Задания по работе:

1.Измените программу нахождения расстояния между двумя точками следующим образом: после того, как было рассчитано расстояние между точками, пользователю задаётся вопрос, хочет ли он продолжить выполнение программы и варианты ответа Yes/No. Если пользователь ввёл Yes, то программа вновь запрашивает координаты точек и вычисляет расстояние между ними.

2.Измените программу 1 так: в начале программы пользователь вводит размер координатной плоскости. Затем в процессе работы программы вводимые пользователем координаты проверяются, попадают ли они в плоскость. Если координата в плоскость не попадает, то пользователю выдаётся сообщение об этом и эта координата запрашивается вновь.

3.Измените предыдущую программу таким образом, чтобы пользователь мог

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

8

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

1.Найти количество делителей каждого из целых чисел от 120 до 140

2.Найти все целые числа от 1 до 300, у которых ровно 5 делителей.

3.Найти 20 первых простых чисел.

4.Найти сумму делителей каждого из целых чисел от 50 до 70

5.Найти размеры всех прямоугольников, площадь которых равна S, а стороны равны целым числам.

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

7.Даны две строки. Программа должна вывести те буквы первой строки, которых нет во второй строке.

8.На входе программы даны несколько строк. На выходе нужно получить те же строки, удалив из них совпадающие.

9.Даны три массива чисел. Распечатать тот из них, в котором наибольший максимальный элемент.

10.Даны две матрицы 4 на 4. Найти результат их перемножения.

11.Дана матрица 4 на 4 и число. Вывести на экран номера строк, содержащие данное число.

12.В заданном двумерном массиве (матрице) 4*4 найдите максимальный элемент, его номер строки и номер столбца.

13.В матрице 4*4 переставьте местами строки с заданными номерами i и k.

14.Пусть дана квадратная матрица размером 4*4. Создайте матрицу 3*3 путем вычеркивания i-й строки и j-го столбца

15.Пусть имеется квадратная матрица размером 4*4 и массив (вектор) из 4-х элементов. Напишите программу, заменяющую j-й столбец матрицы вектором.

9

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]