Методические указания к лабораторным работам новосибирск


Скачать 288.72 Kb.
Название Методические указания к лабораторным работам новосибирск
страница 1/3
Тип Методические указания
rykovodstvo.ru > Руководство эксплуатация > Методические указания
  1   2   3


Министерство Образования и Науки Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
____

«Программирование на СИ в Linux»
Методические указания к лабораторным работам

НОВОСИБИРСК

2012

УДК 004.45 (076.5)

Составитель: А.В. Гунько, канд. техн. наук, доц.

Рецензент В.А. Астапчук, канд. техн. наук, доц. АСУ
Работа подготовлена на кафедре автоматики

© Новосибирский государственный технический университет, 2012 г.

ЛАБОРАТОРНАЯ РАБОТА №1
ОЗНАКОМЛЕНИЕ С ОС LINUX


  1. Цель работы: Ознакомиться с операционной системой, основными командами работы с файлами и каталогами ОС Unix/Linux, текстовыми редакторами, компиляторами и утилитами.




  1. Краткие теоретические сведения.

Лабораторная работа выполняется в среде Red Hat (CentOS) Linux, доступ к которой осуществляется с рабочего места, функционирующего в среде ОС Windows XP через защищенный протокол ssh, обеспечиваемый программой putty, либо программой terminal, запускаемой на тонком клиенте сочетанием клавиш Alt+F1.

По умолчанию приглашением в Unix/Linux является символ '#' или '$', в ответ не которое Вы можете вводить команды. Левее него в квадратных скобках указана Ваша учетная запись и имя сервера, а также текущий каталог.

В сеансе работы с Linux Вашим текущим (домашним) каталогом является каталог: /home/имя, где имя - Ваше сетевое имя. К этому каталогу Вы имеете права чтения, записи, выполнения. Вы не имеете права записи к каталогам, не являющимся подкаталогами вашего домашнего каталога, если их владельцы (или системный администратор) не дали Вам соответствующих прав. Не забывайте, что в Unix/Linux символ "слэш" - разделитель имен каталогов наклонен вправо: '/'!

Для получения справки по командам и программам служат инструкции man и info. Некоторые разделы справки даны на английском языке. Краткое описание применяемых в лабораторной работе команд и программ на русском языке дано в лекционных материалах.

Для окончания сеанса работы с Linux введите exit.


  1. Методические указания.

    1. Вводите команды ОС только при наличии приглашения оболочки (символ #).

    2. В используемой оболочке имеется буфер команд, перемещение по которому производится стрелками управления курсором (вверх и вниз). Для редактирования команды из буфера используются клавиши <- и ->, и .

    3. Для окончания работы инструкций man и info используйте символ q.

    4. Для протоколирования результатов выполнения команд используйте команду script, которая позволяет создать протокол работы пользователя на терминале. Рекомендуется вводить команду script перед выполнением окончательной версии команды и заканчивать запись командой exit или сочетанием клавиш -D, чтобы не загромождать файл протокола отладочными вариантами с ошибками. Для того, чтобы результаты работы накапливались в файле протокола, используйте команду script с опцией -a.

    5. Возможно открыть новый терминал в пределах той же сессии, используя клавиши - .

    6. При работе в файловом менеджере Midnight Commander для вызова команд можно применять сочетания клавиш символ или символ, обозначаемые в его описании как С - символ или М - символ соответственно. Если указано сочетание трех клавиш, то первые две нажимаются одновременно, третья - отдельно. Если символ после служебной клавиши расположен в верхнем регистре, то одновременно нажимаются все три клавиши, включая .




  1. Порядок выполнения работы.

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

    2. Создать простейшие программы на языках СИ, СИ++, освоить применение компиляторов и отладчика.

    3. Освоить написание сценариев shell и простых make-файлов для компиляции и запуска программ.

    4. Изучить работу и ключи утилиты ps - получения сведений о процессах в операционной системе. Освоить применение утилиты kill.

    5. Освоить работу с файловым менеджером Midnight Commander. Изучить сочетания клавиш для выполнения часто применяемых команд.




  1. Варианты заданий.

    1. Подключение и базовые команды:

      1. Запустить программу putty, ввести адрес сервера для подключения (Host name) 217.71.139.242, выбрать протокол подключения SSH (порт 22), в категории Window/Appearance изменить (Change) шрифт на Courier Bold 16-pixel, вернуться в категорию Session, ввести имя сохраняемых настроек Saved Session, сохранить настройки (Save), открыть соединение (Open).

      2. Ввести имя пользователя user№, пароль centos_user_№, где № - номер по журналу лабораторных работ.

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

      4. Выполнить команды help, ls, cd, pwd, mkdir, rmdir.

      5. Изучить описания этих команд с помощью инструкций man и info.

      6. Изучить описания команды script, запротоколировать с ее помощью выполнение пункта 5.1.3.

      7. Создать текстовый файл с произвольным содержанием при помощи команды tee. Просмотреть содержимое файла при помощи команды cat и исправить в нем ошибки при помощи текстового редактора vi.

      8. Изучить справку на команды cp, unlink.

      9. Сделать копию файла командой cp, удалить ее командой unlink, запротоколировав эти действия.

    2. Компиляторы и отладчик:

      1. Создать в редакторе vi файл test.c, подключить include-файл stdio.h, в функции main обеспечить вывод строки, например, “Hello, world!” и вызов функции sleep с параметром 10.

      2. Сохранить файл и откомпилировать программу в gcc, изучить сообщения компилятора, исправить ошибки (для вызова функции sleep необходим include-файл unistd.h).

      3. Перекомпилировать программу, при отсутствии ошибок запустить на выполнение.

      4. Изменить значение параметра функции sleep, перекомпилировать программу, запустить и оценить изменения.

      5. Скопировать программу с расширением *.cpp, внести необходимые изменения, откомпилировать в g++.

      6. Запустить отладчик gdb, освоить основные его команды, перечисленные в лекционном материале.

    3. Сценарии shell и make-файлы.

      1. Написать и отладить сценарий shell для открытия в редакторе vi указанного с-файла, компиляции его после выхода из редактора, запроса на запуск исполняемой программы (в зависимости от наличия ошибок компиляции), при отказе от запуска – перехода в редактор, по окончании работы программы – запроса на завершение сценария.

      2. Написать и отладить make-файл для компиляции указанного с-файла и запуска на исполнение программы при отсутствии ошибок компиляции.

    4. Утилиты:

      1. Изучить справку к команде ps, выполнить ее с ключами -a, -e, a, u, x, ax, записать результаты в файл, например: ps -e > ps.log.

      2. Установив в тексте программы значение параметра функции sleep выше 20, перекомпилировать программу.

      3. Выполнив еще одно подключение к системе (в новом окне терминала), вернуться к первому сеансу, запустить программу test, перейти ко второму терминалу, определить PID запущенной программы, снять ее с выполнения утилитой kill. Вернуться к первому сеансу, оценить действие утилиты. Завершить второй сеанс.

      4. Изучить справку к файловому менеджеру Midnight Commander, запустить его, изучить перечень доступных команд, сочетания клавиш для выполнения часто применяемых команд, особенности встроенного текстового редактора.




  1. Содержание отчета.

    1. Цель работы.

    2. Вариант задания.

    3. Протоколы выполненных действий согласно пунктам 5.1.6, 5.1.7, 5.1.9, 5.2.2, 5.3.1, 5.3.2, 5.4.1, 5.4.3.




  1. Контрольные вопросы.

    1. Какие ключи команды ls Вы знаете? Что они дают?

    2. Чем отличаются man и info? Как с ними работать?

    3. Команда script - назначение и применение.

    4. Команды tee и cat. Назначение и применение. Чем cat отличается от more и less?

    5. Основные команды редактора vi.

    6. Создание и копирование файлов и папок в Linux.

    7. Перемещение и удаление файлов и папок в Linux.

    8. Основные ключи компиляторов С.

    9. Команда ps. Назначение и применение. Ключи команды.

    10. Особенности вызова команд Midnight Commander через сочетания клавиш.

    11. Особенности встроенного текстового редактора файлового менеджера Midnight Commander.

    12. Какие сочетания клавиш Midnight Commander можно было применить для выполнения этой лабораторной работы?

ЛАБОРАТОРНАЯ РАБОТА № 2
ФУНКЦИИ, УКАЗАТЕЛИ


  1. Цель работы: освоить правила написания и использования функций в языке СИ. Научиться использовать указатели при обработке массивов данных.




  1. Краткие теоретические сведения.

Функции в языке СИ оформляются следующим образом:

/* прототип функции */

long func(int, int, int*);

/ * описание функции * /

long func (a, b, с) // заголовок

int a,b,*с; // описание формальных параметров

{ long х; // описание локальных переменных

. . . // тело функции

*с=3; // возврат результата по ссылке

return x; // возврат результата через имя функции

}

/* вызов функции */

main()

{

long r; int i, j, k; // описание локальных переменных

. . .

r = func (i, j, &k); // вызов

}

Указатель в СИ – переменная, содержащая адрес другой переменной. Указатели должны быть описаны в виде

int *ip; // указатель на int

float *fp; // указатель на float

При работе с указателями используются унарные операции:

  • – обращение по адресу,

  • & – получение адреса.

Таким образом, можно записать

int x, *ip; // описания переменных

ip=&x; // присвоение адреса

*ip=3; // обращение по адресу

Если указателю присвоен адрес элемента массива, его можно использовать так же, как и имя массива. Следующие обращения к третьему элементу массива s полностью эквивалентны:

int s[10], *p;

p=s; s[3]=0; // вариант 1

p[3]=0; // вариант 2

*(p+3)=0; // вариант 3

Операции инкремента (++) и декремента (––) изменяют указатель так, что он будет указывать на соседний элемент данных такого же типа. Например, если fp – указатель на float, операция fp++ увеличит fp на 4, т. е. на количество байт, занимаемых элементом типа float.


  1. Методические указания.

    1. В ходе выполнения лабораторной работы потребуется выполнить сортировку массива строк. Для ускорения этой операции обычно используется дополнительный массив указателей. В этом случае вместо перестановки двух строк с помощью функции strcpy() используется перестановка указателей обычным присваиванием.

    2. Формирование массива указателей можно совместить с вводом строк.




  1. Порядок выполнения работы.

    1. Написать программу сортировки массива строк по вариантам (п. 5). Ввод данных, сортировку и вывод результатов оформить в виде функций. Входные и выходные параметры функции сортировки указаны в таблице. Входные и выходные параметры функций для ввода-вывода:

Прототип функции для ввода строк

length = inp_str(char* string, int maxlen);

// length – длина строки

// string – введенная строка

// maxlen – максимально возможная длина строки (размерность массива string)

Прототип функции для вывода строк

void out_str(char* string, int length, int number);

// string – выводимая строка

// length – длина строки

// number – номер строки

  1. Модифицировать программу п. 4.1, применив в функциях передачу параметров и возврат результатов по ссылке (с использованием указателей). Сравнить результаты.




  1. Варианты заданий.

Таблица 1.

Вари-ант

Задание

Входные параметры

Выходные параметры

1

Расположить строки по возрастанию длины

1. Массив

2. Размерность массива

1. Количество перестановок

2. Длина меньшей строки

2

Расположить строки по убыванию длины

1. Массив

2. Размерность массива

1. Количество перестановок

2. Длина большей строки

3

Расположить строки в алфавитном порядке

1. Массив

2. Размерность массива

1. Количество перестановок

2. Первая буква первой строки

4

Расположить строки в обратном алфавитном порядке

1. Массив

2. Размерность массива

1. Количество перестановок

2. Длина первой строки

5

Расположить строки по возрастанию количества слов

1. Массив

2. Размерность массива

1. Количество перестановок

2. Первый символ последней строки

6

Расположить строки по убыванию количества слов

1. Массив

2. Размерность массива

1. Количество перестановок

2. Максимальное количество слов

7

Расположить строки по возрастанию количества цифр

1. Массив

2. Размерность массива

1. Количество цифр

2. Вторая цифра строки


Продолжение табл. 1

8

Расположить строки по убыванию количества цифр

1. Массив

2. Размерность массива

1. Количество перестановок

2. Количество цифр

9

Расположить строки по возрастанию длины первого слова

1. Массив

2. Размерность массива

1. Максимальная длина слова 2. Количество перестановок

10

Расположить строки по убыванию длины первого слова

1. Массив

2. Размерность массива

1. Минимальная длина слова

2. Количество слов в первой строке



  1   2   3

Похожие:

Методические указания к лабораторным работам новосибирск icon Методические указания к лабораторным работам по дисциплине “
Методические указания к лабораторным работам по дисциплине “Нормативные документы и должностные инструкции” / А. Г. Куприянов, А....
Методические указания к лабораторным работам новосибирск icon Методические указания к лабораторным работам «спектрофотометрический анализ»
Методические указания к лабораторным работам «спектрофотометрический анализ» по спецкурсу «оптические методы анализа» для студентов...
Методические указания к лабораторным работам новосибирск icon Методические указания к лабораторным работам по курсу «Новые разделы информатики»
Данные методические указания «Мультимедиа технологии»к лабораторным работам могут быть полезны студентам и преподавателям смежных...
Методические указания к лабораторным работам новосибирск icon Методические указания к лабораторным работам по курсу «Новые разделы информатики»
Данные методические указания «Мультимедиа технологии»к лабораторным работам могут быть полезны студентам и преподавателям смежных...
Методические указания к лабораторным работам новосибирск icon О. Р. Никитин Специализация по теме диссертации Методические указания...
Методические указания к лабораторным работам предназначены для бакалавров направления 210400 «Радиотехника» и специальности 210600...
Методические указания к лабораторным работам новосибирск icon Методические указания к лабораторным работам по дисциплине «микроэлектронные устройства»
Горохов А. В, Пичугина Л. П. Методические указания к лабораторным работам по дисциплине «Микроэлектронные устройства». – М.: Ргу...
Методические указания к лабораторным работам новосибирск icon Методические указания к лабораторным работам №№1÷4 по дисциплине «Web-программирование»
Отчеты по лабораторным работам оформляются в электронном виде с именами авт-500 Иванов, Петров (лр1). doc (или *. docx, *. rtf, *....
Методические указания к лабораторным работам новосибирск icon Вычислительная техника ” схемотехника методические указания к лабораторным работам самара 2000
Схемотехника: Метод указания к лабораторным работам / Самар гос техн ун-т; Сост. И. В. Воронцов, В. П. Золотов. Самара, 2000, 59...
Методические указания к лабораторным работам новосибирск icon Методические указания к лабораторным и домашним работам по дисциплине «Операционные системы»

Методические указания к лабораторным работам новосибирск icon Методические указания к лабораторным работам по дисциплине «Физико-химические методы анализа»
Методические указания составили: доценты: С. А. Соколова, О. В. Перегончая, Л. Ф. Науменко, А. К. Решетникова, О. В. Дьяконова,,...
Методические указания к лабораторным работам новосибирск icon Методические указания к выполнению лабораторных работ Омск 2006
П. С. Гладкий, Е. А. Костюшина, М. Е. Соколов, Проектирование баз данных: Методические указания к лабораторным работам. Омск: Издательство:...
Методические указания к лабораторным работам новосибирск icon Методические указания к лабораторным работам по дисциплине «Технологии...
Лабораторная работа 2 Составление календарного плана разработки портала вуза 16
Методические указания к лабораторным работам новосибирск icon Методические указания по проведению лабораторных работ по дисциплине «Информатика»
Методические указания по проведению лабораторных работ предназначены для студентов гоапоу «Липецкий металлургический колледж» технических...
Методические указания к лабораторным работам новосибирск icon Методические указания по проведению лабораторных работ по дисциплине «Информатика»
Методические указания по проведению лабораторных работ предназначены для студентов гоапоу «Липецкий металлургический колледж» технических...
Методические указания к лабораторным работам новосибирск icon Методические указания по дисциплине пд. 02 Химия для выполнения лабораторных...
Методические указания и задания к лабораторно-практическим занятиям для студентов специальности 35. 02. 05 Агрономия по дисциплине...
Методические указания к лабораторным работам новосибирск icon Методические указания и задания к лабораторным работам по дисциплине...
...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск