Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KURSAK.docx
Скачиваний:
10
Добавлен:
23.03.2015
Размер:
648.16 Кб
Скачать

1.3.3. Опис алгоритму програми

Першим етапом складання програми стає оголошення вхідних даних current за допомогою типу char, який використовується для представлення символів з таблиці ASCII. Далі у оголошуємо головну змінну zum_number, паралельно в second.h оголошуємо індикатор пробелів (space_detector) та лічильник замін (count), встановлений на 0, після чого оголошується перший символ (firstchar) у стан 1. За допомогою модифікатору extern, який використовується для оголошення методу із зовнішньою реалізацією, задаємо умову для заміни символів, використовуючи змінні індикатор пробелів (space_detector) та перший символ (firstchar) . Параметр *s рівний пробелу, становить значення індикатора пробелів (space_detector) в 1, далі якщо індикатор пробелів та перший символ однаково знаходяться у стані 1, функція робить заміну за такою формулою:

*s = *s + ('A' - 'a')

Після чого змінні обнуляються до 0 і програма повертаються до лічильника замін (return count). Але все це робиться тілки після того, коли користувач вводить дані, при умові, що всі дані - літерні символи латиниці. За допомогою printf на екран виводиться пропозиція ввести дані "Input text, press enter to parse". При умові, що getchar() (функція, що повертає із стандартного потоку stdin наступний символ) рівна сurrent (вхідним даним), число замін (zum_number) буде дорівнювати числу виконаних замін над введенними даними . Після чого функція putchar(current), записує символ, що міститься в молодшому байті параметра ch, в стандартний потік виведення stdout, тобто робить заміну малої літери на велику по вище описаній формулі з параметром *s. В завершенні програма відображає на екран кількість зроблених замін з таким діалогом "There was N replacements”, де N – число замін.

Детальніше розглянуть алгоритм блок-схеми функції заміни символів можна у додатку Б.

1.3.4. Тестування роботи програми

В даній програмі присутні вхідні та вихідні дані. Присутність вхідних даних забов’язує користувача вводити їх. Вхідними даними можуть бути будь-які літери латиниці. Вводити слова потрібно через пробел. Розглянемо декілька прикладів роботи програми.

Перший приклад (рис.1.7) наглядно показує нам

  1. Данні для вводу здійснені користувачем «eto prosto zamechatelniy kursovoi».

  2. Преобразування введеного тексту з заміною маленької заглавної літери на велику «Eto Prosto Zamechatelniy Kursovoi».

  3. Відображення кількості зроблених замін «There was 4 replacemnts».

Рис. 1.7 – Тест Task 2_1

Рис. 1.8 – Тест Task 2_2

Як і в першому прикладі програма робить одні і тіж дії, підраховуючи кількість зроблених замін. Але з недоліків є те, що початковий ввод заглавних великих літер призводить до помилки, наприклад, як у другому прикладі у слов «and». Хоча в рамках поставленої задачі вона праціє ісправно, і це є її головною особливістю.

    1. Робота з масивами.

1.4.1. Умова завдання

Задавши двомірний масив речових даних (матрицю А), реалізувати його обробку, як зазначено у варіанті. Вихідні дані задати самостійно, враховуючи специфіку завдання. У програмі повинні бути передбачені функції введення-виведення елементів масиву А та його обробки. Задана квадратна матриця A розміром 4 x 4, що складається з дійсних елементів. Знайти суму найбільших елементів кожного стовпця матриці та їх координати.

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