Рис. К.1 - Блок-схема алгоритму функції main()
Рис. К.2 - Блок-схема алгоритму виділення підрядка з використанням методу індексованих масивів
Додаток Л
Лістинг Л.1- Лістинг алгоритму розв’язання задачі з обробки символьних рядків
/********************************************************/
/* Файл LAB1.C */
/********************************************************/
#include <stdio.h>
#include <clocale>
#include <conio.h>
#define N 80
int substr_mas(char src[N],char dest[N],int num,int len);
int substr_ptr(char *src, char *dest, int num, int len);
/* Головна функція програми */
void main()
{
char ss[N], dd[N];
int n, l;
setlocale(LC_ALL,"Russian");
printf("Введiть рядок:\n");
gets(ss);
printf("початок=");
scanf("%d",&n);
printf("довжина=");
scanf("%d",&l);
printf("Масиви:\n");
if (substr_mas(ss,dd,n,l))
printf("%s\n%s\n",ss,dd);
else
printf("Помилка! %s\n",dd);
dd[0]='\0';
printf("Адресна арифметика:\n");
if (substr_ptr(ss,dd,n,l))
printf("%s\n%s\n",ss,dd);
else
printf("Помилка! %s\n",dd);
getch();
}
/********************************************************/
/* Функція виділення підрядка (масиви) */
/********************************************************/
int substr_mas(char src[N],char dest[N],int num,int len)
|
|
{
int i,j;
if ((num<0)||(len<=0)) //перевірка випадку 4
{
dest[0]=0;
return 0;
}
for (i=0; i<=num; i++) //вихід на num-ий символ
if (src[i]=='\0') //перевірка випадку 3
{
dest[0]=0;
return 0;
}
for (i--, j=0; j<len; j++, i++) //перезапис символів
{
dest[j]=src[i];
if (dest[j]=='\0') //перевірка випадку 2
return 1;
}
dest[j]='\0'; //запис ознаки кінця у вихідний рядок
return 1;
}
/********************************************************/
/* Функція виділення підрядка (адресна арифметика) */
/********************************************************/
int substr_ptr(char *src, char *dest, int num, int len)
{
if ((num<0)||(len<=0)) //перевірка випадку 4
return dest[0]=0;
//вихід на num-ий символ або на кінець рядка
while (num-- && *src++)
if (!*src) //перевірка випадку 3
return dest[0]=0;
while (len-- && *src) //перезапис символів
*dest++=*src++;
*dest=0; //запис ознаки кінця у вихідний рядок
return 1;
}
Список рекомендованої літератури
1. Шилдт, Г. Полный справочник по С [Текст] / Г. Шилдт – М.: Издательский дом “Вильямс”, 2002. - 704 с.
2. Методичні вказівки до виконання курсових робіт з навчальних дисциплін програмувального циклу [Текст] / В.П. Бондаренко, Л.Ф. Волик, В.М. Долгов та ін. – Дніпропетровськ: ДДУ, 1999. – 44 с.
3. Стандарт Дніпропетровського національного університету. Методика виконання випускних, курсових та дипломних проектів (робіт). 2001
4. ДСТУ 3008–95. Документація. Звіти у сфері науки і техніки. Структура і правила оформлення [Текст]. — Чинний від 01.01.96. — К.: Держстандарт України, 1995. – 36 с.
5. ДСТУ ГОСТ 7.1: 2006. Бібліографічний запис. Бібліографічний опис. Загальні вимоги та правила складання [Текст]. Чинний від 01.07.2007. — К.: Держспоживстандарт України, 2007. - III, 47 с.
6. Дейтел, Х.М Как программировать на С. [Текст] / Х.М. Дейтел, П.Дж. Дейтел.. – М.: БИНОМ-ПРЕСС, 2009. – 912 с.
|
|
7. ГОСТ 19.701–90. Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения [Текст]. — Переизд. Янв., 1990. — М.: Изд-во стандартов, 1989. – 34 с.
8. Керниган, Б. Язык программирования Си. [Текст] / Б.. Керниган, Д. Ритчи – СПб. – Киев: 2006. – 272 с.
9. Шпак, З.Я. Програмування мовою С. [Текст] / З.Я. Шпак - Львів: Оріяна-Нова, 2006. - 412 с.
ЗМІСТ
ВСТУП 3
1 ПОРЯДОК ВИКОНАННЯ КУРСОВОЇ РОБОТИ 4
2 СТРУКТУРА ТА СКЛАД КУРСОВОЇ РОБОТИ 5
3 ЗАВДАННЯ НА ВИКОНАННЯ КУРСОВОЇ РОБОТИ 6
4 ОФОРМЛЕННЯ ПОЯСНЮВАЛЬНОЇ ЗАПИСКИ 9
4.1 Загальні положення 9
4.2 Вимоги до структурних елементів пояснювальної записки 10
4.2.1 Вступна частина 10
4.2.2 Основна частина 11
4.2.3 Заключна частина 13
4.2.4 Представлення блок-схем алгоритмів та
лістингів програм 14
ДОДАТОК А Зразок оформлення титульної сторінки 18
ДОДАТОК Б Форма реферату курсової роботи 19
ДОДАТОК В Форма RESUME 20
ДОДАТОК Д Умовні графічні позначення символів в схемах алгоритмів та програм 21
ДОДАТОК Ж Зразки оформлення бібліографічного опису різних
видів джерел 23
ДОДАТОК З Приклад виконання завдання з обробки
символьних рядків 25
ДОДАТОК К Блок-схеми алгоритмів 31
ДОДАТОК Л Лістинг алгоритму розв’язання задачі з обробки
символьних рядків 33
Список літератури 35