Заполнить где полоски К Заметки
Алгоритмы и исполнители
Алгоритм — это система описание действий некоторого
Исполнитель - это техническое устройство или одушевлённое существо
(человек понимать и выполнить действия, составляющие
алгоритм.
Формальные исполнители: (и не могут понять) команд.
Среда — это место, в которой работает исполнитель.
Свойства алгоритма
Обязательные
1. Дискретность – алгоритм состоит из команд, каждая из которых
выполняется
время.
2. Понятность – алгоритм содержит только команды, входящие в
3. Определённость — при каждом выполнении алгоритма с одними и теми
же данными должен быть получен один и тот же
Необязательные
4. Конечность (результативность) — для корректного набора данных
алгоритм заканчиваться с некоторым.
5. Корректность — для допустимых данных алгоритм должен приводить
К результату.
6. Массовость – алгоритм можно использовать для решения множества
задач с исходными данными.
(Если какое-то свойство нарушено, это не алгоритм!)
Управление исполнителями бывает:
(непосредственное, «с пульта»),
(по готовой программе).
Программа — это
записанный на
1
, понятном
Внимание! Если программа не работает, обновите версию!
function Sed(n:integer):integer;
// Возвращает сумму четных цифр в числе
begin
(n,Result):=(Abs(n),0);
while n>0 do begin
var d:=n mod 10;
if d.IsEven then Result+=d;
n:=n div 10
end
end;
begin
var (a,b):=ReadInteger2('Введите два целых числа через пробел:');
var (s1,s2):=(Sed(a),Sed(b));
if s1>s2 then Writeln(a) else Writeln(b)
end.
Пример
Введите два целых числа через пробел: 6213 5841
5841
begin
var r:=Abs(ReadReal('Введите действительное число:'));
if Trunc(r).IsEven then Writeln('YES') else Writeln('NO')
end.
Примеры
Введите действительное число: -435.234
NO
Введите действительное число: 20608.6536
YES
#include <vector>
#include <boost/algorithm/string.hpp>
using namespace std;
class FindVowelWords{
vector<string> input; // тут будут лежать слова для обработки
vector<string> output; // тут будут лежать обработанные слова
vector<char> vowels; // а тут глассные буквы
public:
// ...
FindVowelWords(const string& inputStr){
vowels = {'a', 'A', 'o', 'O', 'i', 'I', 'u', 'U', 'e', 'E'}; // определяем вектор с гласнымы
boost::split(input, inputStr, [](char c){return c == ' ';}); // разбиваем воходную строку на слова
}
// поиск слов, которые начинаются с гласных
void handle(){
for(auto const& word : input){ // проходимся по всем словам
for(auto const& vowel : vowels){ // проходимся по всем гласным
if(word.at(0) == vowel){
output.push_back(word); // если первая буква слова - гласная, то заносим слово в результирующий вектор
}
}
}
}
// вывод результата
void printOutput() const{
for(auto const& item : output){
cout << item << endl;
}
}
// вывод входных данных
void printInput(){
for(auto const& item : input){
cout << item << ' ';
}
}
int getOutputSize(){
return output.size();
}
};
int main(){
string test = "Don't be arfraid, just try to understand this code and you'll be a good programmer!";
FindVowelWords findIt(test);
cout << "You have entered this string: " << endl;
findIt.printInput();
cout << endl << endl;
findIt.handle();
cout << "Words that begin with a vowel: " << endl;
findIt.printOutput();
cout << endl;
cout << "number of words have been found: " << findIt.getOutputSize() << endl;
return 0;
}