ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем Методические указания к лабораторной работе 1 Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем.

Презентация:



Advertisements
Похожие презентации
Практическое занятие Вводное занятие Преподаватели: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ»
Advertisements

ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем Лабораторная работа 1 Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных.
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ Работа с ОС GNU/Linux в терминальных классах Кафедры ВС Старший преподаватель Кафедры ВС, к.т.н. Поляков Артем.
Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных.
ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем Представление текстовой информации Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра.
Вводная лекция Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» ФГОБУ ВПО "СибГУТИ" Кафедра.
Внутреннее представление чисел ( практическое занятие ) Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем.
ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция 4 Работа с бинарными файлами (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к.т.н. Поляков.
ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем Алгоритмы поиска Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных.
ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем Представление текстовой информации Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра.
Процедурный подход к программированию Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ»
Типовые расчёты Растворы
Алгоритмы внешней сортировки (часть I, базовые понятия и алгоритмы) Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных.
Алгоритмы внешней сортировки (часть III, смешанные алгоритмы) Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем.
ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем Представление текстовой информации Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра.
Системы счисления и внутреннее представление целых ( практическое занятие ) Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных.
ОСНОВЫ ПРОГРАММИРОВАНИЯ Раздел 2. Математические основы программирования Логические алгоритмы Старший преподаватель Кафедры ВС, к.т.н. Поляков Артем Юрьевич.
ОСНОВЫ ПРОГРАММИРОВАНИЯ Раздел 2. Математические основы программирования Численные алгоритмы Старший преподаватель Кафедры ВС, к.т.н. Поляков Артем Юрьевич.


Транксрипт:

ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем Методические указания к лабораторной работе 1 Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем ПРОГРАММИРОВАНИЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ

Разбиение строки на поля (strtok) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 2 Первой базовой подпрограммой, на основе которой должно строиться решение задачи, предложенной в лабораторной работе, является разбиение строки на поля, разделенные заданным символом.

Разбиение строки на поля (2) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 3 Пример1: Строка: "/home/alex/video/prog/C.avi" Разделитель: '/' Результат: char result[100][256]; result =={"home", "alex", "video", "prog","C.avi"} Задачи: Определить глубину вложенности, количество символов в имени файла, максимальная длина имени директории, преобразование символов имени файла к нужному регистру, определение номера раздела.

Разбиение строки на поля (3) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 4 Пример2: Строка: "/home/alex/+/home/ivan/test.cpp+/usr/bin/mc" Разделитель: '+' Результат: {"/home/alex/","/home/ivan/test.cpp","/usr/bin/mc"} Второй уровень сложности

Разбиение строки на поля (4) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 5 Пример3: Строки: "csc.sibsutis.ru", " " Разделитель: '.' Результаты: 1. char r[100][256] = {"csc","sibsutis","ru"}, 2. char r[100][256] = {"192","168","1","1"} используя функцию my_atoi можно перевести элементы IP адреса в числовое представление. {"192","168","1","1"} –> int ir[100] = {192,168,1,1} Задачи: проверка имен узлов и IP адресов.

Дополнительное чтение © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 6 Семестр I Лекция "Представление текстовой информации" Определение длины строки (слайд 19) Копирование строки (слайды 20-21) Сравнение строк (слайды 25-26) Поиск символа в строке (слайд 27) Конкатенация строк (слайд 28) Получение подстроки по индексам (слайды 30-32) Поиск подстроки в строке (слайды 36-37) Хранение многострочного текста (слайды 39 – 57) Конкатенация строк набора (слайд 48)

Поиск символа в строке (strchr) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 7 Второй базовой подпрограммой, на основе которой должно строиться решение задачи, предложенной в лабораторной работе, является поиск заданного символя в заданной строке

Поиск подстроки в строке (2) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 8 Пример1 Строка: char str[] = "D:\video\prog\C.avi" Символ: ":" Результат: 1 Таким образом имя диска находится в 0-м элементе строки, однородный путь (\video\prog\C.avi) расположен начиная со 2-го символа. Для удаления префикса ("D:") и работы только с однородным путем можно использовать следующий прием: D:\video\prog\C.avi\0do/...e D:\video\prog\C.avi\0do/...e str (str+2)

Поиск подстроки в строке (3) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 9 Пример2 Строка: str[] = Символы: ":" Результаты: 4, str (str+5) vi alex\ ~/do/...e vi (str+17) : (str+5)[0] == '1' (str+5)[1] == '9' (str+5)[2] == '2' (str+17)[0] == '~'

Поиск подстроки в строке (strstr) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 10 Третьей базовой подпрограммой, на основе которой должно строиться решение задачи, предложенной в лабораторной работе, является поиск заданной подстроки в заданной строке

Поиск подстроки в строке (2) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 11 Пример1: Строка: " Подстрока: "://" Результат: 4 Таким образом название протокола находится в элементах строки 0 – 3. Далее возможно использование функции сравнения строк: http\0// /vido/...e : scrcmp(str,"http") == 0 strcmp(str,"ftp") > 0

Изменение строки © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 12 При замене одного фрагмента (подстроки) в строке на новый необходимо учитывать следующие факторы: Если длина нового фрагмента больше длины исходного необходим сдвиг элементов вправо Иначе – необходим сдвиг влево

Изменение строки (2) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 13 /somedir\ /home/alex... /home/alex\ ~/somedir\ /somedir

Изменение строки (3) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 14 //host.ru /video\ ftp: //host.ru /video\ \\host.ru \video\