- •Методичні вказівки до обчислювальної практики (галузь знань – системні науки та кібернетика, напрями підготовки “Інформатика”, “Прикладна математика”)
- •Вимоги до оформлення програми на Turbo Pascal
- •Вимоги до оформлення програми на мові програмування Object Pascal в середовищі Delphi
- •Вимоги до оформлення програми на
- •Приклад методу рішення, опису логічної структури, даних для тестування та тексту програми дивись у Додатку с. Умови задач для програмування на тр
- •Задачі підвищеної складності:
- •Умови задач для програмування на Object Pascal в середовищі Delphi
- •Зразок оформлення письмового звіту
- •Зразок оформлення програми на Turbo Pascal
- •Приклад методу розв’язання, опису логічної структури,
- •Опис логічної структури.
- •Дані для тестування
- •Текст програми
- •Рекомендована література
Дані для тестування
Тестування повинне забезпечити перевірку працездатності функцій для усіх варіантів вхідних даних. Вхідні дані, на яких повинне проводитися тестування, зведені в таблицю:
Варіант 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();
}
Рекомендована література
Близнюк М.М., Дрінь Б.М., Козич О.В. Комп’ютерні технології графічних побудов. Чернівці, Прут,1999.
Бобровский С. Delphi 5. С.-П.: Питер, 2000.
Бьерн Страуструп. Язык программирования С++. Специальное издание. Бином, Невский Диалект, 2004.
Вальвачев А.Н., Крисевич В.С. Программирование на языке Паскаль для персональних ЭВМ. Минск, Высшая школа, 1989.
Глинський Я.М., Анохін В.С., Ряжська В.А. Паскаль. Turbo Pascal і Delphi. Львів, “Деол”, 2002.
Глинський Я.М., Анохін В.С., Ряжська В.А. С++ і С++ Builder. Деол, 2003.
Гради Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. Бином, Невский Диалект, 1998.
Зуєв Е.А. Язык программирования Turbo Pascal 6.0. Минск, Улитек,1992.
Климов Ю.С., Касаткин Л.И., Мороз С.М. Программирование в среде Turbo Pascal 6.0. Минск, Высшая школа, 1992.
Культин. Программирование на Delphi.
Тексейра, Пацеко. Delphi 6. Руководство пользователя. С.-П.: Питер, 2000.
Хэзфилд Р., Кирби Л. Искусство программирования на С: Фундаментальные алгоритмы, структуры данных и примеры приложений (пер. с англ.). Серия: Энциклопедия программиста. «ДиаСофт», 2001.
Черняхівський. Delphi 4. Львів.
Шилдт Г. Самоучитель С++. BHV – Санкт-Петербург, 2004.