Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка 2 Программирование.doc
Скачиваний:
24
Добавлен:
17.03.2015
Размер:
285.18 Кб
Скачать

Порядок написания программы

1. Внимательно прочитать условие задачи и формулировку функции.

2. Провести анализ характеристик функции:

Дать название функции;

Выделить список исходных данных функции, определить их типы;

Определить тип результата функции, передаваемого с помощью оператора return.

Определить тип результатов функции, передаваемых с помощью параметров-ссылок (если они есть).

3. Написать текст функции пользователя.

4. Написать прототип функции.

5. Написать функцию mainс вызовом функции пользователя.

6. Создать проект из файлов с расширением cpp(для функции пользователя иmain), и один заголовочный файл с расширениемh. Выполнить проект.

Примечание. Вызов функцииRusперед строками-константами с русским текстом осуществляйте самостоятельно.

Примеры написания программ

Задача. Написать функцию, которая возвращает номер первого символа символа строки, совпавшего с указанным символом. Если символа в строке нет, возвратить 0.

Анализ решения задачи. Нельзя путать два понятия –индекссимвола строки иномерсимвола строки. Понятия схожи, но номер начинается с 1, а индекс с 0, с помощью индекса организуется перебор символов в строке. Зная индексi, легко определить номер –i+1.

Для определения характеристик функции ответим на три вопроса:

  • Имя функции – SimvolToStr

  • Список параметров функции (исходные данные). Функции необходимо передать строку – char*p, и символ –charsimv;

  • Тип функции (тип возвращаемого результата). Функция определяет номер первого появления символа в строке – целое значение – тип int.

Программа будет строиться в виде проекта.

Текст функции пользователя будет выглядеть так:

//имя и тело функции SimvolToStr

int SimvolToStr(char*p, char simv)

{

int i; //переменные для построения алгоритма функции

//организуем перебор символов строки для их обработки

for(i=0; *(p+i)!=0; i++)

if(*(p+i)== simv) //если символ строки с инд i совпал с simv

return i+1; //прекращаем выполнение функции и передаем

//номер символа

//если мы оказались в этой точке программы, то символ не найден

return 0;

}

Текст заголовочного файла будет выглядеть так:

// содержимое файла SimvolToStr.h

#ifndef SIMVOLTOSTR_H

#define SIMVOLTOSTR _H

int SimvolToStr(char*p, char simv); //прототип функции

#endif

Текст функции main будет выглядеть так:

#include<iostream> //подключение системных средств для

using namespace std; //возможности использовать потоки ввода-вывода

#include " SimvolToStr.h"

#include "Rus.h" //прототип функции русификации

int main(void)

{

char str[40], simvol; //объявили данные

int n;

// ввод исходных данных

cout<<“\nВведите строку”;

cin.getline(str,40);

cout<<“Введите символ”;

cin>>simvol;

n= SimvolToStr(str, simvol); //вызов функции и передача ей //исходных данных

if(n!=0) //если символ в строке найден

cout<<“Символ “<<n<<” по счету\n”; //вывод номера символа

else

cout<<“Символ в строке не найден”;

return 0;

}

Контрольные вопросы и задания

1. Что такое строка?

2. Какой параметр необходимо объявить в функции для передачи ей строки из mainв качестве исходного данного?

3. Какой параметр необходимо объявить в функции для передачи ей строки из mainв качестве результата функции?

4. Как внутри функции пользователя создать строку-результат?

5. Если внутри функции пользователя создается строка-результат, как ее передать в main?

6. Как в функции пользователя обработать строку?

7. Как вызывается функция пользователя с передачей ей статической строки?

8. Как вызывается функция пользователя с передачей ей динамической строки?

9. Для наилучшего освоения темы выполните варианты 4, 6, 13.