5100

Создание консольных приложений в среде Visual C++

Курсовая

Информатика, кибернетика и программирование

Цель работы: закрепление основных теоретических положений, изложенных в лекциях по курсу Программирование на языках высокого уровня, отработка навыков практического программирования в среде VisualC++ при создании консольных программ, в...

Русский

2012-12-03

52.5 KB

25 чел.

Цель работы: закрепление основных теоретических положений, изложенных в лекциях по курсу «Программирование на языках высокого уровня»,  отработка навыков практического программирования в среде Visual C++ при создании консольных программ, включая многофайловые.

Задания курсовой работы и особенности алгоритмов реализации.

Задание №1    Даны натуральные числа N и M (N>M). Вычислить

#include "stdafx.h"

#include "stdlib.h"

#include "math.h"

int fact(int k)

{

       int res = 1;

       for (int i = 1; i <= k; ++i)

       {

               res *= i;

       }

 

       return res;

}

double resh(int M,int N)

{

 int k=0,f=0;

 double res;

 for(k=M; k<N;k++)

 {f=fact(k);

  res+=k*k*log(f);

 }

 return res;

}

void funct()

{   int m,n;

 double result;

   printf("Vvedite M\n");

scanf("%d",&m);

printf("Vvedite N\n");

scanf("%d",&n);

result=resh(m,n);

printf("Otvet %f",result);

getchar();

}

 res  – это переменная, которая позволяют хранить, модифицировать и извлекать значения. Переменная, или объект – это именованная область памяти, к которой мы имеем доступ из программы; туда можно помещать значения и затем извлекать их. 

double-обозначает формат числа с плавающей запятой 

Задание №2

Найти  натуральное  число из интервала [a,b] с максимальной суммой делителей. (Для нахождения суммы делителей числа использовать функцию.)

#include "stdafx.h"

#include "stdlib.h"

#include "math.h"

int delit(int a,int b)

{

 int sum=0,int summax=1;

 int ch=1,i;

 for ( i=a;i<b;i++)

{

 sum=0;

 for (int k=1;k<(i%2+1);k++)

  if ((i%k)==0)

   sum+=k;

         sum+=i;

 if (sum>summax)

{

 summax=sum;

 ch=i;

}

}

printf("Delitel %d\n",sum);

 return i;

}

void funct2()

{   int a,b,c;

printf("Vvedite a");

scanf("%d",&a);

printf("Vvedite b");

scanf("%d",&b);

c=delit(a,b);

printf("Chislo=%d",c);

 getchar();

}

Задание №3

Во введенной строке символов (последний '*') подсчитать общее количество цифр и букв ‘с’.

#include "stdafx.h"

#include "stdlib.h"

#include "string.h"

int count_c(char str[])

{  char c='c';

  int d=0;

 for (int i=1; i<strlen(str);i++)

{

  if (strcmp(&str[i],&c))

   d++;

}

 return d;

}

int count_dig(char str[])

{   char *digit="1234567890";

 int d=0;

 for (int i=1; i<strlen(str);i++)

{

  if (strcmp(&str[i],digit))

   d++;

}

 return d;

}

void funct3()

{   char *str;

printf("vvedite predlogenie\n");

gets(str);

printf("v predlojenie %d -c\n",count_c(str));

printf("v predlojenie %d -cifr\n",count_dig(str));

 getchar();

}

Функция strcmp() сравнивает в лексикографическом порядке две строки и возвращает целое значение, зависящее следующим образом от результата сравнения. 

Функция COUNT всегда возвращает значение типа int. 

Переменную типа char можно рассматривать двояко: как целое число, занимающее 1 байт .

strlen — функция стандартной библиотеки, для возврата длины нуль-терминированной строки без символа окончания строки 

Задание 4

Написать и протестировать функцию, которая по заданной строке Str формирует новую строку, состоящую только из цифр, входящих в Str.


#include
 "stdafx.h"
#include "stdlib.h"
#include "string.h"
void myfunct(char str[])
{
char *chars=("qwertyuiopasdfghjklzxcvbnm,./';][{}:?><QWERTYUIOPASDFGHJKLZXCVBNM");
char *p;
int i;
for (i=0; i<strlen(str);i++)
{
p=strtok(&str[i],chars);
puts(p); 
}
}
void funct4()
{ char str[100];
printf("Vvedite stroku\n");
gets(str);
myfunct(str);
getchar();
getchar();
getchar();
}

Задание №5

Даны вещественные числа a и b (а<b). Сформировать матрицу Х[10,10], элементами которой являются вещественные случайные числа, равномерно распределенные на отрезке [а,b]. Определить сумму элементов матрицы, сумма номеров строк и столбцов которых равна n.

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

/*  Даны вещественные числа a и b (а<b). Сформировать матрицу Х[10,10],

 элементами которой являются вещественные случайные числа, равномерно распределенные на отрезке [а,b].

 Определить сумму элементов матрицы, сумма номеров строк и столбцов которых равна n.*/

#include <iostream>

#include <iomanip>

#include <stdlib.h>

#include <time.h>

using namespace std;

int main()

{

       const int SIZE = 10;//создаём переменную под величину массива(размерность)

       int matrix[SIZE][SIZE], a, b, sum, n;

       srand(time(NULL));      

       //запрашиваем верхнюю и нижнюю границы рандомизации

       cout << "Enter a: ";

       cin >> a;

       cout << "Enter b: ";

       cin >> b;

       cout << "Enter n: ";

       cin >> n;

       //проходим по ячейкам матрицы и заполняем

       for(int i = 0; i < SIZE; i++)

       {

               for(int j = 0; j < SIZE; j++)

               {

                       matrix[i][j] = a + rand() % (b + 1);

               }

       }

       //проходим еще раз, но проверяем выполнение условия задачи и закидываем подходящие элементы в переменную sum

       

       for (int i = 0;i < 10;i++)

               {

                       for (int j = 0;j < 10;j++)

                               {

                                       if (i+j==n)

                                               {

                                                       sum=sum+matrix[i][j];

                                               }

                               }

               }

       cout << sum;

       

}

Задание №6

Дан целочисленный массив S[26]. Сформировать матрицу А, первая строка которой будет содержать элементы массива с четными номерами, а вторая - с нечетными.



#include "stdafx.h"
#include "stdlib.h"
void formmas(int s[26])
{int i=0,j=0,x,h;
int G[13][13];
for(int k=0; k<26;k+=2)
{
i++;
G[0][i]=s[k];
}
for (int k=1;k<26;k+=2)
{
j++;
G[1][j]=s[k];
}
for (int x=0;x<13;x++)
for(int h=0;h<2;h++);
{
printf("%d\n\n",G[x][h]);
}
}
void funct6()
{ int mas[26];
int i,k;
printf("ZADACHAAAAA 5");
for (i=0;i<26;i++)
mas[i]=rand()%50;
formmas(mas);
getchar();
getchar();
getchar();
}


 

А также другие работы, которые могут Вас заинтересовать

45453. Базы данных РВ. Структура. Применение. Особенности. Особенности Industrial SQL Server. Функциональные возможности сервера базы данных. Интеграция с другими компонентами комплекса. Возможность организации клиент-серверной системы 454 KB
  Эта БД позволяет обеспечить доступ к БД при помощи языка SQL и обеспечить хранение информации в заданном пользователем виде. Для системы РВ не являющейся СЖРВ реляционная БД является оптимальной но для СЖРВ требуется обеспечение следующих условий: высокоскоростной сбор информации 1015 параметров за 1 секунду возможность хранения больших объемов информации обеспечение доступа к информации с различных рабочих станций по сетевому протоколу Для решения проблемы были разработаны БД – БД реального времени: Industril SQLserver WizSQL...
45454. Комплексные программные средства разработки приложений РВ. Инструменты разработки систем автоматизации. IPC@Chip. Организация приложений на базе промышленного Ethernet 109 KB
  На текущий момент существует 3 различные системы обеспечивающие интеграцию АСУП и АСУТП. WizFctory Fctory Suile TFctory Данные системы объединяют уровень производственной информации т. Система позволяет строить диаграммы линейной логики и диаграммы функционирования системы. Гибкость и универсальность подхода создания любой системы автоматизации любой сложности 2.
45455. Устойчивость систем управления 57.5 KB
  В соответствии с классическим методом решение дифференциального уравнения ищется в виде: yt = yвынt yсвt. Здесь yсвt общее решение однородного дифференциального уравнения то есть уравнения с нулевой правой частью: oyn 1yn1 . Поэтому решение данного уравнения называется свободной составляющей общего решения. yвынt частное решение неоднородного дифференциального уравнения под которым понимается уравнение с ненулевой правой частью.
45456. Математические модели объектов управления в системах управления 1.07 MB
  Применять интегральный закон регулирования нельзя так как это приводит к повышению порядка астатизма системы второй порядок ибо сам объект является интегрирующим звеном. Системы с астатизмом второго порядка построить можно но требуется сложное корректирующее звено обладающее дифференцирующими свойствами. Часто системы с регуляторами рассматриваются как системы с встречнопараллельными корректирующими цепями. не учитывать некоторые особенности характеристик исследуемых элементов а также не учитывать отдельные связи если они не...
45457. Системы управления и регулирования. Использование структурных схем. Законы управления. Принципы управления, качество 83 KB
  И интегральный – регулятор : Преимуществом данного регулятора является лучшая по сравнению с Прегулятором точность установки режима а недостатками – худшие по сравнению с Прегулятором показатели качества а именно большая колебательность и меньшее быстродействие. ПИ – регулятор : Объединяет два регулятора П и И следовательно обладает наилучшими свойствами по сравнению с вышеописанными регуляторами а именно за счет Псоставляющей улучшается показательные качества в переходном процессе а за счет Исоставляющей уменьшается...
45458. Системы управления при случайных воздействиях. Преобразование стационарного случайного сигнала стационарной линейной динамической системой 265.5 KB
  Системы управления при случайных воздействиях. Если задающее воздействие gt является случайным процессом то выходная координата системы yt и ошибка воспроизведения xt = gt yt представляют собой также случайные процессы. Следовательно при случайных воздействиях речь может идти об определении не мгновенных а лишь некоторых средних значений выходной переменной системы и ошибки. Такими средними значениями являются среднее значение квадрата выходной переменной системы 9.
45459. Основные задачи анализа систем с минимальной средней квадратичной ошибкой: задача фильтрации, задача экстраполяции, задача дифференцирования и др 265.5 KB
  Если задающее воздействие gt является случайным процессом то выходная координата системы yt и ошибка воспроизведения xt = gt yt представляют собой также случайные процессы. Следовательно при случайных воздействиях речь может идти об определении не мгновенных а лишь некоторых средних значений выходной переменной системы и ошибки. Такими средними значениями являются среднее значение квадрата выходной переменной системы 9.23 Следовательно для исследования статистической точности автоматических систем необходимо вычисление...
45460. Двойственность в ЛП, построение моделей двойственных задач 139 KB
  Любой задаче ЛП можно поставить в соответствие другую задачу сопряженная или двойственная то есть задачи существуют парами. Коэффициенты критерия двойственной задачи образуются из компонентов вектора ограничений прямой задачи. Компоненты вектора ограничений двойственной задачи образуются из коэффициентов линейной формы критерия прямой задачи. Матрица условий двойственной задачи образуется транспонированием матрицы условий прямой задачи.
45461. Структура файловой системы. Механизм доступа к файлам 344 KB
  Механизм доступа к файлам. Поэтому принято хранить данные на внешних носителях обычно это диски в единицах называемых файлами. Историческим шагом явился переход к использованию централизованных систем управления файлами. Система управления файлами берет на себя распределение внешней памяти отображение имен файлов в адреса внешней памяти и обеспечение доступа к данным.