Брой прегледи: 859
Алгебра
- съставно условие
- алгоритъм на Евклид
- естествено число - прости делители
- решето на Ератостен
- цифри и числа
- побитови операции
- точност при извеждане
- проверка на входни данни
- наредба - сортиране
- сортиране - пряк избор
- сортиране - вмъкване
- сортиране размяна
- сливане на редици
- вмъкване на елемент
- двумерен масив
- диагонал в матрица
- матрица
- матрица - транспониране
- матрица - събиране
- матрица - умножение
- множество - елементи
- множество - допълнение
- множества - обединение
- множества - разлика
- множества - сечение
- линейно уравнение
- квадратно уравнение
- полином
- рекурсия - итерация
- числов триъгълник
- минимална стойност
- средна стойност
- факториел
- числа на Фибоначи
- Питагорова тройка числа
- палиндром - решена задача
- алчен алгоритъм
- египетски дроби
- комбинации
Проверка на входни данни от указан числов интервал
числов интервал - числител и знаменателчислов интервал - функция
числов интервал - сума от естествени числа
За коректната работа на всяка програма се изисква проверка на входни данни - въведените стойности да са в предварително указан числов интервал. Проверката, валидизирането на въведените входни данни е често срещана част от програмните продукти.
В случая е по-удачно използването на цикъл do-while така проверката се осъществява след въвеждането на данните и продължава, докато не се изпълни условието.Ще разгледаме следните два варианта:
а) проверка дали въведените входни данни са в предварително указан числов интервал
б) проверка дали въведените входни данни са извън предварително указан числов интервал
числов интервал - числител и знаменател
Следващата примерна програма дава решена задача за проверка на входни данни за указан числов интервал по двете условия поотделно:
#include<iostream>
using namespace std;
const int Min=10, Max=100;//gorna i dolna granica na chislow interwal
int main()
{ int c,d;
cout<<"Da se systawi programa, chrez koqto izwyrshwa prowerka po wqhod\n";
cout<<"prowqwa se izpylnenie na uslowie za 2 chisla:\n";
cout<<"a) dali prinadlevat na daden chislow interwal; \n";
cout<<"b) dali ne prinadlevat na daden chislow interwal.\n";
cout<<"Wywevdaneto prodylvawa dokato ne se izpylnqt postawenite iziskwaniq.\n";
cout<<"Sledwashite stojnosti da sa w ukazaniq interwal:\n";
do
{cout<<"Wywedete chislitel [10..100]: ";cin>>c;
cout<<"Wywedete znamenatel [10..100]: ";cin>>d;
} while ((c<Min || c>Max) || (d<Min || d>Max));
cout<<"Stojnostta na drob "<<c<<"/"<<d<<" = "<<(double) c/d<<endl;
cout<<"Sledwashite stojnosti da sa izwyn ukazaniq interwal:\n";
do
{cout<<"Wywedete sybiraemo 1 [10..100]: ";cin>>c;
cout<<"Wywedete sybiraemo 2 [10..100]: ";cin>>d;
} while ((c>=Min && c<=Max ) || ( d>=Min && d<=Max));
cout<<"Sumata mevdu "<<c<<" + "<<d<<" = "<< c+d<<endl;
system("pause");
return 0;
}//kraj na programa chislow interwal
числов интервал - функция
Следващата примерна програма извършва проверката по двете условия поотделно чрез функции.Използва се указател към 2 променливи, т.к. функцията връща само една стойност. Не е необходима начална инициализация на променливите, защото алгоритъмът изисква първо въвеждане на стойности и едва след това проверка и обработка с тези данни.
#include<iostream>
using namespace std;
const int Min=10, Max=100;//gorna i dolna granica na chislow interwal
void wytre(int &c, int &d)
{ do
{cout<<"Wywedete chislitel [10..100]: ";cin>>c;
cout<<"Wywedete znamenatel [10..100]: ";cin>>d;
} while ((c<Min || c>Max) || (d<Min || d>Max));
}//chislow interwal
void wyn(int &c, int &d)
{ do
{cout<<"Wywedete sybiraemo 1 [10..100]: ";cin>>c;
cout<<"Wywedete sybiraemo 2 [10..100]: ";cin>>d;
} while ((c>=Min && c<=Max ) || ( d>=Min && d<=Max));
}//chislow interwal
int main() //nachalo na programata
{ int c,d;
cout<<"Da se systawi programa, chrez koqto izwyrshwa prowerka po wqhod\n";
cout<<"prowqwa se izpylnenie na uslowie za 2 chisla:\n";
cout<<"a) dali prinadlevat na daden chislow interwal; \n";
cout<<"b) dali ne prinadlevat na daden chislow interwal.\n";
cout<<"Wywevdaneto prodylvawa dokato ne se izpylnqt postawenite iziskwaniq.\n";
cout<<"Sledwashite stojnosti da sa w ukazaniq interwal:\n";
wytre(c, d);
cout<<"Stojnostta na drob "<<c<<"/"<<d<<" = "<<(double) c/d<<endl;
cout<<"Sledwashite stojnosti da sa izwyn ukazaniq interwal:\n";
wyn(c, d);
cout<<"Sumata mevdu "<<c<<" + "<<d<<" = "<< c+d<<endl;
system("pause");
return 0;
}//kraj na programa chislow interwal
числов интервал - сума от естествени числа
Трябва да се въведат N броя естествени числа, принадлежащи към предварително указан числен интервал {Min...Max]. Двете граници са също естествени числа.
Примерната блок схема илюстрира разглеждания алгоритъм за числов интервал:Алгоритъм:
1) въвеждат се стойностите за долна Min и горна граница Max на интервала;
2) въвежда се желания брой елементи N;
3) сумата S и брояча i се инициализират;
4) въвежда се нов елемент Ai;
5) за всяко въведено естествено число Ai се проверява съставното условие: Min<Ai<Max;
6) ако това условие е изпълнено се увеличава натрупаната сума, както и броя въведени елементи i, ако не т.4 - въвежда се нов елемент;
7) проверява се дали са въведени желания брой естествени числа, ако е да Край, ако е не т.4.
Следващата примерна програма дава решена задача за въведане на N броя естествени числа, принадлежащи към предварително указан числен интервал:
#include<iostream>
using namespace std;
const int Min=10, Max=100;//gorna i dolna granica na chislow interwal
int main()
{int N,S,i,a;
cout<<"Da se systawi programa, chrez koqto presmqta suma ot N \n";
cout<<"estestweni chisla, koito prinadlevat na daden chislow interwal.\n";
S=0;i=0;//inicializaciq
cout<<"Wywedete broj N: "; cin>>N;
cout<<"Sledwashite stojnosti da sa w ukazaniq chislow interwal [";
cout<<Min<<"..."<<Max<<"] :\n";
do
{cout<<"Wywedete chislo [10..100]: ";cin>>a;
if (a>Min && a<Max) {S+=a;i++;}
} while (i<N);
cout<<"Wywedenata suma e: "<<S<<endl;
system("pause");
return 0;
}//kraj na programa chislow interwal
Обяснени и решени задачи с подобни алгоритми, функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени задачи, примери.