Реферат: Программирование на С++

Дано n(n≤100) вещественных чисел. Определить, образуют ли они возрастающую последовательность.

Чтобымассив был строго возрастающим каждый последующий элемент должен быть большепредыдущего. Чтобы это проверить организуем цикл от первого до предпоследнегоэлемента. В цикле будем сравнивать текущий элемент массива с последующим. Есливстречается ситуация при которой следующий элемент меньше или равен текущемуэлементу то делаем вывод что массив не строго возрастающий. Если такой ситуациине произошло, делаем вывод, что массив строго возрастающий.

      Число элементов массива 5.

Y[1]=1.1

Y[2]=2.8

Y[3]=4.5

Y[4]=6.7

Y[5]=6.75

Ответ:Строго возрастающий массив

<img src="/cache/referats/11932/image002.jpg" v:shapes="_x0000_s1026">
2.Проверить, правильн ли в заданном текстерасставлены круглые скобки ( т.е. находится ли справа от каждой открывающейскобки соответствующая ей закрывающая скобка, а слева от каждой закрывающей — соответствующая ей закрывающая). Ответ – «ДА» или «НЕТ»

1.<span Times New Roman"">    

Вводим:

‘Приэтом (как и ранее) используется позначные модели рассматриваемых последовательностейи аналог формулы (9) ’

<img src="/cache/referats/11932/image004.jpg" v:shapes="_x0000_s1028">
Ответ:

Верно

3.Задан массив из 15 действительных чисел. Упорядочить его по неубыванию.

Вводим                                                    Ответ

Y[1]=5                                                  Y[1]=0

Y[2]=34                                                Y[2]=1

 Y[3]=8                                                Y[3]=2

Y[4]=21                                               Y[4]=2

Y[5]=0                                                 Y[5]=3

Y[6]=8                                                  Y[6]=4

Y[7]=3                                                 Y[7]=5

Y[8]=2                                                 Y[8]=6

Y[9]=1                                                  Y[9]=8

Y[10]=6                                                Y[10]=8

Y[11]=4                                                Y[11]=21

Y[12]=2                                                Y[12]=23

Y[13]= 43                                            Y[13]= 34

<img src="/cache/referats/11932/image006.jpg" v:shapes="_x0000_s1031">
Y[14]= 23                                             Y[14]= 43

Y[15]= 45                                             Y[15]= 45

Описание переменных и исходный текст к 1-му примеру

#include <stdio.h>                                                           

#include <stdlib.h>                                                          

#define M 100                      //максимальная длинамассива              

main()                                                                       

{                                                                            

  void   inpdim(float a[],int *n);//Процедура ввод  массива                 

  float  y[M];                   //Массив                                  

  int    n;                       //длинамассива                           

  int    flag=0;                  //Флагстрого возрастающего массива: строго

  int    i;                       //Счетчикшагов цикла                     

                                                                             

  inpdim(y,&n);                    //Вводим массив                           

  i = 0;                           //Обнуляем счетчик                        

                                                                             

  do                               //Началоцикла                            

  {                                                                           

    if (y[i] >= y[i+1])            //Еслиi-ыйэлементмассива>= i+1-го     

      flag = 1;                    //Флаг устанавливаем 1(нестрого возрастает)

    i++;                           //Увеличиваемсчетчик на 1                

  }                                                                          

  while(flag == 0 && i < n-1);     //Если Флаг не равен 0 или i>= n-1заканчиваю

  if (flag == 0)                                 //Если Флагравен 0

     printf(«nСтрого возрастающиймассивn»);   //Строго возрастающиймассив

  else                                          //Иначе

     printf(«nМассив нестроговозрастающий n»);//Массив нестрого возрастающий

  return(0);

}

void inpdim(float a[],int *n)

{

  int     i;

  do

  {

    printf(«Введите число элементовмассива (0<M<100):»);

    scanf("%d",n);

    if ( *n >= M || *n <= 0)

      {

        printf(«Неверная длина массива(0<M<100):»);

      }

   }

  while ( *n >= M || *n <= 0 );

  printf(«n Введите массив :n»);

    scanf("%d",n);

    if ( *n >= M || *n <= 0)

      {

        printf(«Неверная длина массива(0<M<100):»);

      }

   }

  while ( *n >= M || *n <= 0 );

  printf(«n Введите массив :n»);

  for ( i = 0; i < *n; i++)

  {

     printf(«Y[%d]=»,i+1);

     scanf("%f",&a[i]);

  }

}

Описание переменных и исходный текст к 2-му примеру

#include <stdio.h>

#include <stdlib.h>

#include<string.h>

#defineM 200                          //Максиальная длина текста

main()

{

  void   inpstr(char a[]);             //Вводтекста

  char   string[M];                    //Текст

  int    i=0;                          //Счетчикишаговциклов

  int     leftbracket=0,rightbracket=0; //Количестволевых и правых скобок в тексте

  int    flag=0;                       //Флаг верно поставленных правых скобок(верно: 0 неверно:1)

  inpstr(string);                       //Вводим текст

  do                                   //Началоцикла

  {

   if (string[i]=='(')                 //Если i-ый символ текста = (

     leftbracket++;                    //Увеличиваем счетчик левыхскобок на 1

   if (string[i]==')')                 //Если i-ый символ текста = (

   {

     rightbracket++;                   //Увеличиваем счетчик правыхскобок на 1

  if (leftbracket<rightbracket)     //Если Правых скобок больше          

     flag=1;                          //Правые скобкивыставлены неправильно Флагу присваиваем 1

 }                                                                        

    i++;                                //Увеличиваем счетчик цикла на 1    

   }                                                                         _

   while(i<strlen(string) &&flag==0);  //Если i > длины строки илиФлаг = 1 заканчиваем цикл//

   if (leftbracket==rightbracket && flag==0)  //Если количество левых скобок равно количествуправых и флаг=0

    printf(«n Верно n»);                   //Скобки расставленыверно     

    else                                      //Иначе                        

    printf(«n Неверно n»);                 //Скобки расставленыневерно   

   return(0);                                                                

}                                                                           

void inpstr(char a[])                                                       

{                                                                           

  int     i;                                                               

  printf(«n Введитестроку:n»);                                           

  gets(a);                                                                  

 }           

        Описаниепеременных и исходный текст к 3-му примеру

         #include <stdio.h>                                                            

#include <stdlib.h>                                                          

#defineM 15              //длина массива                                    

main()                                                                       

{                                                                            

  void   inpdim(floata[]);//Процедура вводамассива                          

  void   outdim(адщфе a[]);//Процедура вывода массива                         

  float     y[M];           //Массив                                           

  float    i,j;            //Счетчики шагов циклов                            

  float    k;              //Для хранения номераминимального элемента        

  float    n;              //Для хранения минимальногоэлемента               

                                                                             

  inpdim(y);              //Вводим массив                                    

                                                                              

  for(i=0; i<M; i++)     //Цикл по i от 0 до М                              

  {                                                                          

     n=y[i];              //запоминаем элемент какминимальный                

     k=i;                 //и его номер как номерминимального               

                                                                             

     for(j=i+1; j<M; j++) //Цикл по j от i+1до М                            

     {                                                                       

     {                                                                       

        if (y[j] < n)     //Если элемент меньше минимального                 

        {                                                                     

           n=y[j];        //запоминаем элемент какминимальный               

           k=j;           //и его номер как номерминимального               

        }                                                                     

     }                                                                       

     y[k] = y[i];         //На место минимального записываемi-ый элемент    

     y[i] = n;            //На место i-го записываемминимальный элемент     

  }                                                                          

  outdim(y);              //Выводим массив                                   

  return(0);                                                                 

}                                                                             

void inpdim(float a[])                                                         

{                                                                            

  float     i;                                                                 

  printf(«nВведите массив :n»);                                           

  for ( i = 0; i < M; i++)                                                 

  {                                                                           

     printf(«Y[%f]=»,i+1);                                              

     scanf("%f",&a[i]);                                                      

  }

}

void outdim(int a[])

{

  float     i;

  printf(«nУпорядоченный массив :n»);

  for ( i = 0; i < M; i++)

  {

     printf(«Y[%f]=»,i+1);

     printf("%f",a[i]);

     printf(«n»);

  }

}

<img src="/cache/referats/11932/image007.gif" v:shapes="_x0000_s1034">                  Блок – схемы к примерам  (наследующей странице)   

1.

КОНЕЦ

<img src="/cache/referats/11932/image008.gif" v:shapes="_x0000_s1068"><img src="/cache/referats/11932/image009.gif" v:shapes="_x0000_s1061"><img src="/cache/referats/11932/image010.gif" v:shapes="_x0000_s1060"><img src="/cache/referats/11932/image011.gif" v:shapes="_x0000_s1066">

Вывод

‘Массив  не строго возрастающий’

<img src="/cache/referats/11932/image012.gif" v:shapes="_x0000_s1063">

Вывод

‘Строго возрастающий массив’

<img src="/cache/referats/11932/image013.gif" v:shapes="_x0000_s1062"><img src="/cache/referats/11932/image014.gif" v:shapes="_x0000_s1059"><img src="/cache/referats/11932/image015.gif" v:shapes="_x0000_s1058"><div v:shape="_x0000_s1074">

да

<img src="/cache/referats/11932/image015.gif" v:shapes="_x0000_s1064"><img src="/cache/referats/11932/image016.gif" v:shapes="_x0000_s1065"><div v:shape="_x0000_s1073">

нет

Если

flag =0 <img src="/cache/referats/11932/image017.gif" =«0 » v:shapes="_x0000_s1056">

Если

i < nи flag=0

<img src="/cache/referats/11932/image018.gif" flag=«0 » v:shapes="_x0000_s1046"><div v:shape="_x0000_s1072">

нет

<img src="/cache/referats/11932/image019.gif" v:shapes="_x0000_s1057"><img src="/cache/referats/11932/image020.gif" v:shapes="_x0000_s1050"><div v:shape="_x0000_s1071">

да

<img src="/cache/referats/11932/image021.gif" v:shapes="_x0000_s1054"><div v:shape="_x0000_s1053">

i=i+1

<img src="/cache/referats/11932/image022.gif" v:shapes="_x0000_s1049"><img src="/cache/referats/11932/image023.gif" v:shapes="_x0000_s1048"><img src="/cache/referats/11932/image010.gif" v:shapes="_x0000_s1047"><img src="/cache/referats/11932/image024.gif" v:shapes="_x0000_s1045"><img src="/cache/referats/11932/image025.gif" v:shapes="_x0000_s1042"><img src="/cache/referats/11932/image026.gif" v:shapes="_x0000_s1052"><img src="/cache/referats/11932/image027.gif" v:shapes="_x0000_s1043"><div v:shape="_x0000_s1070">

нет

<div v:shape="_x0000_s1069">

да

Если

Y[i] >= Y[i+1] =" Y[i+1] " v:shapes="_x0000_s1041"><img src="/cache/referats/11932/image029.gif" v:shapes="_x0000_s1051"><img src="/cache/referats/11932/image030.gif" v:shapes="_x0000_s1055"><img src="/cache/referats/11932/image031.gif" v:shapes="_x0000_s1075"><div v:shape="_x0000_s1039">

i=0

<img src="/cache/referats/11932/image032.gif" v:shapes="_x0000_s1067"><div v:shape="_x0000_s1076">

flag=0

НАЧАЛО

<img src="/cache/referats/11932/image033.gif" v:shapes="_x0000_s1035">

Ввод длины массива n,

Ввод массива Y

<img src="/cache/referats/11932/image034.gif" v:shapes="_x0000_s1036"><img src="/cache/referats/11932/image035.gif" v:shapes="_x0000_s1037"><img src="/cache/referats/11932/image036.gif" v:shapes="_x0000_s1038"><img src="/cache/referats/11932/image037.gif" v:shapes="_x0000_s1040">

<div v:shape="_x0000_s1044">

flag = 1


2.<img src="/cache/referats/11932/image038.gif" v:shapes="_x0000_s1140"><img src="/cache/referats/11932/image039.gif" v:shapes="_x0000_s1097"><img src="/cache/referats/11932/image040.gif" v:shapes="_x0000_s1139"><img src="/cache/referats/11932/image041.gif" v:shapes="_x0000_s1098"><img src="/cache/referats/11932/image042.gif" v:shapes="_x0000_s1103"><div v:shape="_x0000_s1112">

да

Вывод

‘Неверно’

<img src="/cache/referats/11932/image043.gif" v:shapes="_x0000_s1102">

Вывод

‘Верно

<img src="/cache/referats/11932/image044.gif" v:shapes="_x0000_s1101">Еслиflag =0  иleftbracket =rightbracket <img src="/cache/referats/11932/image045.gif" =«0 и leftbracket» =" rightbracket " v:shapes="_x0000_s1096"><div v:shape="_x0000_s1111">

нет

<div v:shape="_x0000_s1110">

нет

<img src="/cache/referats/11932/image046.gif" v:shapes="_x0000_s1091"><img src="/cache/referats/11932/image047.gif" v:shapes="_x0000_s1090">

Если

i<strlen(string)иflag=0

<img src="/cache/referats/11932/image048.gif" flag=«0 » v:shapes="_x0000_s1086"><img src="/cache/referats/11932/image049.gif" v:shapes="_x0000_s1138"><div v:shape="_x0000_s1109">

да

<div v:shape="_x0000_s1093">

i=i+1

<img src="/cache/referats/11932/image038.gif" v:shapes="_x0000_s1094"><img src="/cache/referats/11932/image050.gif" v:shapes="_x0000_s1119"><img src="/cache/referats/11932/image051.gif" v:shapes="_x0000_s1137"><img src="/cache/referats/11932/image052.gif" v:shapes="_x0000_s1136"><img src="/cache/referats/11932/image053.gif" v:shapes="_x0000_s1120"><img src="/cache/referats/11932/image054.gif" v:shapes="_x0000_s1135"><img src="/cache/referats/11932/image055.gif" v:shapes="_x0000_s1118"><img src="/cache/referats/11932/image056.gif" v:shapes="_x0000_s1132"><div v:shape="_x0000_s1131">

нет

<div v:shape="_x0000_s1130">

да

<img src="/cache/referats/11932/image057.gif" v:shapes="_x0000_s1129"><img src="/cache/referats/11932/image058.gif" v:shapes="_x0000_s1128">

Если

leftbracket < rightbracket <img src="/cache/referats/11932/image059.gif" v:shapes="_x0000_s1124"><img src="/cache/referats/11932/image054.gif" v:shapes="_x0000_s1133"><img src="/cache/referats/11932/image031.gif" v:shapes="_x0000_s1127"><img src="/cache/referats/11932/image031.gif" v:shapes="_x0000_s1126"><img src="/cache/referats/11932/image019.gif" v:shapes="_x0000_s1125"><img src="/cache/referats/11932/image032.gif" v:shapes="_x0000_s1123"><div v:shape="_x0000_s1122">

нет

<div v:shape="_x0000_s1121">

да

<div v:shape="_x0000_s1117">

rightbracket = rightbracket + 1

<img src="/cache/referats/11932/image060.gif" v:shapes="_x0000_s1116"><img src="/cache/referats/11932/image061.gif" v:shapes="_x0000_s1115">

Если

string [i] = ‘(’ <img src="/cache/referats/11932/image062.gif" =" ‘(’ " v:shapes="_x0000_s1114"><div v:shape="_x0000_s1113">

flag=0

<div v:shape="_x0000_s1108">

нет

<div v:shape="_x0000_s1107">

да

<img src="/cache/referats/11932/image063.gif" v:shapes="_x0000_s1095"><img src="/cache/referats/11932/image064.gif" v:shapes="_x0000_s1092"><img src="/cache/referats/11932/image022.gif" v:shapes="_x0000_s1089"><img src="/cache/referats/11932/image023.gif" v:shapes="_x0000_s1088"><img src="/cache/referats/11932/image055.gif" v:shapes="_x0000_s1087"><div v:shape="_x0000_s1085">

leftbracket = leftbracket + 1

<img src="/cache/referats/11932/image060.gif" v:shapes="_x0000_s1084"><img src="/cache/referats/11932/image039.gif" v:shapes="_x0000_s1083">

Если

string [i] = ‘(’ <img src="/cache/referats/11932/image065.gif" =" ‘(’ " v:shapes="_x0000_s1082"><img src="/cache/referats/11932/image031.gif" v:shapes="_x0000_s1081"><div v:shape="_x0000_s1080">

i=0

<img src="/cache/referats/11932/image037.gif" v:shapes="_x0000_s1079">

Ввод текста

string

<img src="/cache/referats/11932/image066.gif" v:shapes="_x0000_s1078">

НАЧАЛО

<img src="/cache/referats/11932/image067.gif" v:shapes="_x0000_s1077">

КОНЕЦ

<img src="/cache/referats/11932/image068.gif" v:shapes="_x0000_s1106"><img src="/cache/referats/11932/image069.gif" v:shapes="_x0000_s1105"><img src="/cache/referats/11932/image011.gif" v:shapes="_x0000_s1099"><img src="/cache/referats/11932/image070.gif" v:shapes="_x0000_s1104"><img src="/cache/referats/11932/image071.gif" v:shapes="_x0000_s1100">                     

<div v:shape="_x0000_s1134">

flag=0


3.      <div v:shape="_x0000_s1252">

нет

<img src="/cache/referats/11932/image072.gif" v:shapes="_x0000_s1238"><div v:shape="_x0000_s1237">

j=j+1

<div v:shape="_x0000_s1235">

j=k+1

<div v:shape="_x0000_s1234">

M=15

Ввод массиваY

<img src="/cache/referats/11932/image073.gif" v:shapes="_x0000_s1233"><div v:shape="_x0000_s1225">

да

<img src="/cache/referats/11932/image037.gif" v:shapes="_x0000_s1222"><img src="/cache/referats/11932/image038.gif" v:shapes="_x0000_s1221"><div v:shape="_x0000_s1217">

k=i

<div v:shape="_x0000_s1216">

да

<div v:shape="_x0000_s1215">

нет

<div v:shape="_x0000_s1214">

да

<img src="/cache/referats/11932/image037.gif" v:shapes="_x0000_s1208"><div v:shape="_x0000_s1203">

n= y[i]

<img src="/cache/referats/11932/image037.gif" v:shapes="_x0000_s1198">

НАЧАЛО

<img src="/cache/referats/11932/image074.gif" v:shapes="_x0000_s1197">

i=0

Если

i <M

Если

y[j]<n

Вывод

массиваY

КОНЕЦ

Если

j<M

нет

n=y[j]

k=j

y[k]=y[i]

y[i]=n

i=i+1

<img src="/cache/referats/11932/image075.gif" v:shapes="_x0000_s1199 _x0000_s1200 _x0000_s1201 _x0000_s1202 _x0000_s1204 _x0000_s1205 _x0000_s1206 _x0000_s1207 _x0000_s1209 _x0000_s1210 _x0000_s1211 _x0000_s1212 _x0000_s1213 _x0000_s1218 _x0000_s1219 _x0000_s1220 _x0000_s1223 _x0000_s1224 _x0000_s1226 _x0000_s1227 _x0000_s1228 _x0000_s1229 _x0000_s1230 _x0000_s1231 _x0000_s1232 _x0000_s1236 _x0000_s1239 _x0000_s1240 _x0000_s1241 _x0000_s1242 _x0000_s1243 _x0000_s1244 _x0000_s1245 _x0000_s1246 _x0000_s1247 _x0000_s1248 _x0000_s1249 _x0000_s1250 _x0000_s1251 _x0000_s1256">


                                                                                                        

Содержание:

1.<span Times New Roman"">    

Условия задач и описания методов решения. Тесты дляпроверки работоспособности программы.

2.<span Times New Roman"">    

Описания переменных и тексты программ. Результатывыполнения тестов.

3.<span Times New Roman"">    

Блок – схемы алгоритмов решения задач.
еще рефераты
Еще работы по программированию, базе данных