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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задача. Написать программу, вычисляющую произведение ненулевых элементов целочисленного одномерного массива.

Напишите функции :

  1. Заполнения массива случайными числами в диапазоне от –к до +к.

  2. Вывода одномерного массива.

  3. Вычисления произведения ненулевых элементов одномерного массива.

Анализ решения задачи. Необходимо написать три функции.

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

Функция заполнения случайными числами:

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

  • Список параметров функции (исходные данные). Функции необходимо передать одномерный массив для его изменения (заполнения) – int*p,intn; и переменную, задающую диапазон изменения чисел -intk;

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

Функция вывода массива на экран монитора:

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

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

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

Функция вычисления произведения:

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

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

  • Тип функции (тип возвращаемого результата). Функция определяет произведение целых чисел. Необходимо учитывать, что произведение быстро растет, поэтому тип результата long.

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

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

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

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

#include<stdlib.h >

void InMas(int *p, int n, int k)

{

int i;

for(i=0; i<n; i++) //перебор элементов массива

*(p+i)=rand()%(2*k+1) – k; //формируем случ число

return;

}

void OutMas(int *p, int n)

{

int i;

for(i=0; i<n; i++) //перебор элементов массива

cout<< *(p+i)<<’ ‘; //выводим i-ый элемент массива

return;

}

long ProductMas(int*p, int n)

{

int i;

long pr=1; //вычисление произведения начинается с 1

for(i=0; i<n; i++) // перебор элементов массива

if(*(p+i)!=0) // если i-ый элемент массива не 0

pr*= *(p+i); //домножаем произведение на i-ый элемент массива

return pr; // завершаем функцию и передаем результат из pr

}

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

#ifndef MAS_H

#define MAS _H

void InMas(int *p, int n, int k); //прототипы функций

void OutMas(int *p, int n);

long ProductMas(int*p, int n);

#endif

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

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

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

#include<stdlib.h>

#include<time.h>

#include " Mas.h"

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

int main(void)

{

const int SIZE=5;

int mas[SIZE]; //объявляем массив

long product; //переменная под произведение

srand(time(NULL)); //инициализируем генератор случайных чисел

InMas(mas,SIZE,10);// массив из SIZE чисел случ числами

cout<<"Исходный массив: "<<endl;

OutMas(mas,SIZE); //выводим массив на экран

product=ProductMas(mas,SIZE); //считаем произвед

cout<< "\nПроизведение равно "<< product<<endl;

return 0;

}