
- •Министерство образования и науки Украины
- •Практическое занятие №1
- •1.1. Сокращенная запись двоичных чисел в восьмеричной и шестнадцатеричной системах счисления
- •1.2. Преобразование восьмеричных и шестнадцатеричных чисел в двоичные
- •1.3. Преобразование двоичных, восьмеричных и шестнадцатеричных чисел в десятичные
- •1.4. Преобразование десятичных чисел в двоичные, восьмеричные и шестнадцатеричные
- •2. Упражнения
- •3. Содержание отчёта
- •Практическое занятие №2
- •1.1. Вход в систему
- •1.2. Редактирование командной строки
- •1.3. Память командных строк
- •1.4. Переключение виртуальных консолей
- •1.5. Изменение консольных шрифтов
- •1.6. Основные команды
- •Выполнение некоторых команд
- •2. Команда просмотра содержимого каталогов -ls (LiSt) – выдает на экран перечень файлов и каталогов (по умолчанию из текущего каталога).
- •Жесткая ссылка обозначает ся так же, как файл, на который она ссылается, счетчик ссылок при этом будет иметь значение больше 1.
- •3. Команда создание новых каталогов - mkdir.
- •5. Команда копирование файлов -cp (CoPy).
- •6. Команда перемещение файлов - mv (MoVe).
- •7. Команда удаление файлов - rm (ReMove).
- •8. Команды просмотра содержимого файлов more и cat.
- •Подстановочные символы
- •1.7. Выход из системы
- •2. Упражнения
- •Используя справочную информацию из п.1.6 Основные команды, изучите работу рассмотренных команд с различными параметрами и опциями:
- •1.2. Перенаправление ввода и вывода
- •1.3. Перенаправление с добавлением
- •1.4. Использование конвейера
- •2. Упражнения
- •3. Содержание отчёта
- •Справочная информация
- •Практическое занятие №4 Псевдонимы команд в ос qnx Цель – создание псевдонимов команд для облегчения работы в среде ос qnx
- •1. Краткие теоретические сведения
- •1.1. Управление связями файлов
- •1.2. Жесткие связи
- •1.3. Символические связи
- •1.4. Права доступа к файлам
- •1.5. Зависимости
- •1.6. Изменение прав доступа
- •2. Упражнения
- •3. Содержание отчёта
- •1.2. Сравнение файлов (команда diff)
- •1.3. Подсчет числа слов, строк и байт в файле (команда wc)
- •1.4. Потоковый редактор sed
- •2. Упражнения
- •/Usr/bin/grep
- •/Usr/xpg4/bin/grep
- •/Usr/xpg4/bin/grep
- •Операнды
- •/Usr/bin/grep
- •/Usr/xpg4/bin/grep
- •Использование
- •Работа с большими файлами
- •/Usr/bin/who
- •/Usr/xpg4/bin/who
- •Операнды
- •1.1. Ввод текста
- •1.2. Редактирование текста
- •1.3. Сохранение файлов и выход из VI
- •1.4. Редактирование еще одного файла
- •1.5. Включение других файлов
- •1.6. Выполнение команд Shell
- •2. Упражнения
- •3. Содержание отчёта
- •Практическое занятие №7 Работа с текстовыми файлами Цель – знакомство с командами, работающими с текстовыми файлами (awk-интерпретатор скриптовый)
- •1. Краткие теоретические сведения
- •1.1. Язык awk
- •1.2. Регулярные выражения
- •Метасимволы, используемые в регулярных выражениях
- •1.3. Действия
- •1.4. Awk-переменные и выражения
- •1.5. Использование операций
- •1.6. Использование массивов
- •1.7. Селекторы
- •1.8. Использование операторов
- •1.9. Ввод и вывод данных
- •1.10. Встроенные функции
- •2. Упражнения
- •Структура файла query1
- •Структура файла query2
- •3. Содержание отчёта
- •1.2. Граматика языка shell
- •2. Упражнения
- •3. Содержание отчёта
- •Выполнить:
- •2. Упражнения
- •Примечание:
- •3. Содержание отчёта
- •1.1. Компоновка объектных модулей
- •1.2. Отладка
- •2. Упражнения
- •Задание №1
- •Задание №2
- •Задание №3
- •Задание №4
- •Задание №5
- •Задание №6
- •Задание №13
- •Задание №14
- •Задание №15
- •Задание №16
- •Задание №17
- •Практическое занятие №11
- •2. Упражнения
- •3. Содержание отчёта
- •1.2. Создание каталога
- •1.3. Биты режима для прав доступа
- •1.4. Удаление каталога
- •1.5. Создание жесткой связи
- •1.6. Создание символической связи
- •1.7. Чтение символической связи
- •1.8. Переименование файла
- •1.9. Удаление файла
- •1.10. Обработка ошибок
- •2. Упражнения
- •3. Содержание отчёта
- •1.2. Проверка возможностей управления работой и процессами в shell
- •2. Упражнения
- •3. Содержание отчёта
- •1.3. Ошибки, связанные с именами файлов
- •1.4. Доступ к файлу
- •2. Упражнения
- •3. Содержание отчёта
- •Практическое занятие №15 Организация процессов вQnx
- •1. Методические указания по выполнению практической работы
- •1.1. Файл main.O
- •1.2. Файл input.C
- •1.3. Файл output.C
- •1.4. Файл process.C
- •1.5. Используемые функции
- •1.6. Получение информации о процессах
- •2. Упражнения
- •1.2. Клиент
- •1.3. Определение идентификаторов узла, процесса и канала (nd/pid/chid) нужного сервера
- •1.4. Применение обмена сообщениями
- •2. Упражнения
- •3. Содержание отчёта
- •Практическое занятие №17 Организация потоков в qnx
- •1. Краткие теоретические сведения
- •1.1. Запуск потока
- •1.2. Администрирование атрибутов потока
- •Текст программы
- •Результаты
- •1.2. Текст программы
- •1.3. Последовательность действий
- •1.4. Результаты
- •2. Упражнения
- •3. Содержание отчёта
Задание №3
В соответствие с вариантом реализовать на языке Си программу (lab1_3.c) расчета значения суммы с заранее известным числом повторений.
Пример файла
lab1_3.c
для суммы
#include <stdio.h>
#include <math.h>
int main() {
double s, sn;
int i;
s = 0.0;
for(i = 1; i <= 10; i++) {
sn = sin(i);
s = s + sn;
}
printf(“s=%f\n”, s);
return 0;
}
№ вар. |
Вычислить сумму |
№ вар. |
Вычислить сумму |
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
Задание №4
В соответствие с вариантом реализовать на языке Си программу (lab1_4.c) расчета значения суммы с заранее неизвестным числом повторений.
Пример файла
lab1_4.c
для суммы
#include <stdio.h>
#include <math.h>
int main() {
double s, sn, x, e;
int i;
e = 10e-5;
x = 1.5;
s = 0.0;
do {
sn = 1 / (x * i);
s = s + sn;
i++;
}
while(sn > e);
printf(“s=%f\n”, s);
return 0;
}
№ вар. |
Вычислить |
При x, равном |
Точность вычислений |
1 |
|
0,149 |
10 -5 |
2 |
|
5,99 |
10 -3 |
3 |
|
3,1 |
10 -4 |
4 |
|
1,91 |
10 -5 |
5 |
|
1,42 |
10 -3 |
6 |
|
0,99 |
10 -4 |
7 |
|
1,51 |
10 -5 |
8 |
|
3,48 |
10 -3 |
9 |
|
7,55 |
10 -4 |
10 |
|
2,15 |
10 -5 |
Задание №5
В соответствие с вариантом реализовать на языке Си программу (lab1_5.c) определения вхождения точки с введенными пользователем координатами в заштрихованную область.
Памятка:
- область выше
прямой;
- ниже прямой;
- область ограниченная
окружностью радиусом R
и центром (x0;y0);
- область ограниченная
эллипсом с координатами центра (x0;y0)
и полудиагоналями a
и b.
Пример файла lab1_5.c
#include <stdio.h>
#include <math.h>
int main() {
float x, y;
printf(“Enter x: ”);
scanf(“%f”, &x);
printf(“Enter y :”);
scanf(“%f”, &y);
if((pow((x-3),2) + pow((y-4),2)) <= 2*2) {
if((pow((x-4),2) + pow((y-2),2)) >= 2*2) {
if((pow((x-6),2) + pow((y-4),2)) >= 2*2) {
printf(“Point (%f,%f) in region\n”, x, y);
return 0;
}
}
}
printf(“Point (%f,%f) not in region\n”, x, y);
return -1;
}
1.2.
3.4.
5.6.
7.8.
9.10.
11.12.
Задание №6
Написать программу, которая вводит с клавиатуры символьную строку длиной не более 80 символов, рассматриваемую как произвольное абстрактное предложение, состоящее из слов. Слова отделяются друг от друга как минимум одним символом пробела. Строка должна быть введена посимвольно с использованием функции getchar(). Из нее построить новую строку предложения, в которой слова лексикографически упорядочены по возрастанию. Результат распечатать на экране.
Задание №7
Написать программу, которая вводит с клавиатуры символьную строку длиной не более 80 символов, рассматриваемую как произвольное абстрактное предложение, состоящее из слов. Слова отделяются друг от друга как минимум одним символом пробела. Строка должна быть введена посимвольно с использованием функции getchar(). Из нее построить новую строку предложения, в которой слова упорядочены по возрастанию их длин. Результат распечатать на экране.
Задание №8
Написать программу, которая вводит с клавиатуры символьную строку длиной не более 80 символов, рассматриваемую как произвольное абстрактное предложение, состоящее из слов. Слова отделяются друг от друга как минимум одним символом пробела. Строка должна быть введена посимвольно с использованием функции getchar(). Из нее построить новую строку предложения, в которой слова упорядочены по убыванию значений первых символов. Результат распечатать на экране.
Задание №9
Написать программу, которая вводит с клавиатуры символьную строку длиной не более 80 символов, рассматриваемую как произвольное абстрактное предложение, состоящее из слов. Слова отделяются друг от друга как минимум одним символом пробела. Строка должна быть введена посимвольно с использованием функции getchar(). Из нее построить новую строку предложения, в которой слова упорядочены по возрастанию последних символов. Результат распечатать на экране.
Задание №10
Написать программу, которая вводит с клавиатуры символьную строку длиной не более 80 символов, рассматриваемую как произвольное абстрактное предложение, состоящее из слов. Слова отделяются друг от друга как минимум одним символом пробела. Строка должна быть введена посимвольно с использованием функции getchar(). Из нее построить новую строку предложения, в которой слова имеют обратный порядок следования символов по сравнению с исходной строкой. Результат распечатать на экране.
Задание №11
Написать программу, которая вводит с клавиатуры символьную строку длиной не более 80 символов, рассматриваемую как произвольное абстрактное предложение, состоящее из слов. Слова отделяются друг от друга как минимум одним символом пробела. Строка должна быть введена посимвольно с использованием функции getchar(). Из нее построить новую строку предложения, в которой слова лексикографически упорядочены по возрастанию последних трех символов строк. Результат распечатать на экране.
Задание №12
Написать программу, которая вводит с клавиатуры символьную строку длиной не более 80 символов, состоящую из букв английского алфавита, рассматриваемую как произвольное абстрактное предложение, состоящее из слов. Слова отделяются друг от друга как минимум одним символом пробела. Строка должна быть введена посимвольно с использованием функции getchar(). Из нее построить новую строку предложения, в которой каждая буква исходной строки заменена транскрипцией произношения этой буквы, заключенной в квадратные скобки. Результат выдать на экран.