Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Obch_prakt-inform2012.doc
Скачиваний:
8
Добавлен:
10.09.2019
Размер:
509.95 Кб
Скачать

Дані для тестування

Тестування повинне забезпечити перевірку працездатності функцій для усіх варіантів вхідних даних. Вхідні дані, на яких повинне проводитися тестування, зведені в таблицю:

Варіант src num len dest

1 012345 2 2 23

012345 0 1 0

012345 0 6 012345

2 012345 5 3 5

012345 2 6 2345

012345 0 7 012345

3 012345 8 2 порожньо

4 012345 -1 2 порожньо

012345 5 0 порожньо

012345 5 -1 порожньо

Текст програми

/*********************** Файл LAB1.C **************************/

#include <stdio.h>

#define N 80

/***************************************************************/

/* Функція виділення підрядка (масиви) */

/***************************************************************/

int substr_mas(char src[N],char dest[N],int num,int len){

int i, j;

/* перевірка випадку 4 */

if ( (num<0)||(len<=0) ) {

dest[0]=0; return 0;

}

/* вихід на num-ий символ */

for (і=0; і<=num; і++)

/* перевірка випадку 3 */

if ( src[i]=='\0') {

dest[0]=0; return 0;

}

/* перезапис символів */

for (і--, j=0; j<len; j++, і++) {

dest[j]=src[і];

/* перевірка випадку 2 */

if ( dest[j]=='\0') return 1;

}

/* запис ознаки кінця у вихідний рядок */

dest[j]='\0';

return 1;

}

/***************************************************************/

/* Функція виділення підрядка (адресна арифметика) */

/***************************************************************/

int substr_ptr(char *src, char *dest, int num, int len) {

/* перевірка випадку 4 */

if ( (num<0)||(len<=0) ) return dest[0]=0;

/* вихід на num-ий символ або на кінець рядка */

while ( num-і && *src++ );

/* перевірка випадку 3 */

if ( !num ) return dest[0]=0;

/* перезапис символів */

while ( len-і && *src ) *dest++=*src++;

/* запис ознаки кінця у вихідний рядок */

*dest=0;

return 1;

}

/***************************************************************/

main()

{

char ss[N], dd[N];

int n, l;

clrscr();

printf("Ввести рядок:\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();

}

Рекомендована література

  1. Близнюк М.М., Дрінь Б.М., Козич О.В. Комп’ютерні технології графічних побудов. Чернівці, Прут,1999.

  2. Бобровский С. Delphi 5. С.-П.: Питер, 2000.

  3. Бьерн Страуструп. Язык программирования С++. Специальное издание. Бином, Невский Диалект, 2004.

  4. Вальвачев А.Н., Крисевич В.С. Программирование на языке Паскаль для персональних ЭВМ. Минск, Высшая школа, 1989.

  5. Глинський Я.М., Анохін В.С., Ряжська В.А. Паскаль. Turbo Pascal і Delphi. Львів, “Деол”, 2002.

  6. Глинський Я.М., Анохін В.С., Ряжська В.А. С++ і С++ Builder. Деол, 2003.

  7. Гради Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. Бином, Невский Диалект, 1998.

  8. Зуєв Е.А. Язык программирования Turbo Pascal 6.0. Минск, Улитек,1992.

  9. Климов Ю.С., Касаткин Л.И., Мороз С.М. Программирование в среде Turbo Pascal 6.0. Минск, Высшая школа, 1992.

  10. Культин. Программирование на Delphi.

  11. Тексейра, Пацеко. Delphi 6. Руководство пользователя. С.-П.: Питер, 2000.

  12. Хэзфилд Р., Кирби Л. Искусство программирования на С: Фундаментальные алгоритмы, структуры данных и примеры приложений (пер. с англ.). Серия: Энциклопедия программиста. «ДиаСофт», 2001.

  13. Черняхівський. Delphi 4. Львів.

  14. Шилдт Г. Самоучитель С++. BHV – Санкт-Петербург, 2004.

28

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