DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Передача параметрів програмі через аргументи функції main()

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Комп’ютерні науки
Кафедра:
Електронні обчислювальні машини

Інформація про роботу

Рік:
2004
Тип роботи:
Лабораторна робота
Предмет:
Засоби системного програмування
Група:
КI
Коротко про документ

Про що ця робота

У роботі досліджується передача параметрів програмі через аргументи функції main(). Розроблено програму на мові C для опрацювання символьних рядків і динамічного виділення пам'яті.

У роботі розглядаються

  • Аргументи функції main
  • Динамічний розподіл пам'яті
  • Обробка символьних рядків
  • Мова програмування C
  • Стандартні бібліотечні функції

Зміст і розділи

  1. Мета роботи
  2. Завдання на лабораторну роботу
  3. Виконання роботи
  4. Аналіз результату виконання програми
  5. Висновки
Для кого:Студенти технічних спеціальностей вищих навчальних закладів
Викладачі:Не вказано

Ключові поняття

mainargcargvmallocfreestring.hstrtokдинамічна пам'ятьсимвольні рядкисистемне програмування

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ національний університет “Львівська політехніКА” КАФЕДРА ЕЛЕКТРОННИХ ОБЧИСЛЮВАЛЬНИХ МАШИН Лабораторна робота №5 Передача параметрів програмі через аргументи функції main( ) Львів-2004 Мета роботи: закріпити теоретичні знання та оволодіти практичними навиками опрацювання символьних рядків. Засвоїти методику роботи з символьними рядками за допомогою стандартних функцій бібліотеки Сі. Завдання на лабораторну роботу: Розробити програмне забезпечення для опрацювання символьних рядків відповідно до заданого варіанту. Під словом, слід розуміти послідовність алфавітних символів, що належать множині {’А’, ’Б’, …, ’Я’, ’а’, ’б’, …, ’я’, ’A’, ’B’, …, ’Z’, ’a’, ’b’, …, ’z’}. Речення, це послідовність слів розділених пропуском (пробілом). Кожне слово чи речення повинно представлятися в пам’яті машини окремою символьною змінною. При реалізації програм, максимально використати стандартні (бібліотечні) функції обробки символьних рядків. Ці функції описані в заголовковому файлі string.h, а їх імена починаються з префіксу “str…”. Програма повинна обробляти слова та речення довільної довжини. Для цього використати механізм динамічного розподілу пам’яті. При реалізації механізму динамічного розподілу пам’яті використати стандартні Сі – функції malloc(), calloc() realloc() та free(). При вирішенні задач забезпечити дружній інтерфейс з користувачем. Варіант 1. Ввести зі стандартного пристрою вводу речення. Виділити в реченні окремі слова та вивести їх на стандартний пристрій виводу. Виділені слова взяти в дужки. Довжину речення, в символах, передавати програмі через аргументи функції main(). Виконання роботи: #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> int main(int argc, char *argv[]) { clrscr(); char *str, *ns; if (argc!=2) { printf("No lenth of string detected\n"); exit(1); } str=(char*) malloc (atoi(argv[1])*sizeof(char)); puts ("\nInput string:\n"); gets (str); if (atoi(argv[1]) < strlen(str)) puts ("\nNo enough memory\n"); else { printf("\nFound words:\n\n"); ns=strtok(str," "); while(ns) { { printf("("); printf("%s",ns); printf(")\n"); } ns=strtok(NULL, " " ); } getchar(); return 0; void free (char *str); } } Аналіз результату виконання програми: тестуюча програма буде мати наступний вигляд: Input string Вирішення задач засобами мови Сі Found words: (Вирішення) (задач) (засобами) (мови) (Сі) Якщо розмір введеного рядка більший ніж розмір виділеної памяті, то програма видає повідомлення про помилку. В цій програмі були використані стандартні функції для роботи з рядками символів (файл string.h), а також для динамічного розподілу пам’яті (файл stdlib.h): char *strtok (char *str1, const char *str2) – повертає вказівник на наступну лексему в стрічці, що адресується параметром str1. void *malloc (size_t size) – повертає вказівник на перший байт області памяті розміром size, яка була виділена із динамічно розподіляємої памяті. void free (void *ptr) – повертає в пам'ять блок, який стає доступним для подальшого виділення. int atoi (const char *str) – перетворює рядок в значення типу int. Цей рядок має містити допустиме ціле число. Висновки: при виконанні лабораторної роботи №5 я ознайомився з основними функціями опрацювання рядків та робот з динамічною памяттю та з функцією main (). Мною була розроблена програма, яка демонструє роботу цих функцій.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!