![](/user_photo/2706_HbeT2.jpg)
- •Т.Э. Шульга программирование.
- •Глава 1. Основы программирования на языке высокого уровня 6
- •Глава 2. Динамические структуры данных 40
- •Глава 3. Основы объектно-ориентированного программирования 53
- •Введение
- •Глава 1. Основы программирования на языке высокого уровня
- •Void main()
- •Задания
- •1.2. Переменные. Основные типы данных
- •Ввод – вывод значений переменных
- •Форматирование данных при обменах с потоками ввода-вывода
- •Void main()
- •Void main()
- •Преобразование типов
- •Задание 1. Описание переменных и преобразование типов
- •Задание 2. Форматирование вывода
- •1.3. Основные операции
- •Void main ()
- •Задания
- •1.4. Конструкции выбора
- •Void main()
- •Void main()
- •Void main()
- •Задание 1. Обработка введенного символа
- •Задание 2. Вычисление значения функции
- •Задание 3. Применение разветвляющихся алгоритмов при решении простейших задач
- •Задание 4. Mультиветвление
- •1.5. Конструкции цикла и передачи управления
- •Void main()
- •Задание 1. Детерминированные циклы. Простейшие задачи
- •Void main()
- •Задание 2. Итерационные циклы. Простейшие задачи
- •Void main()
- •Int last;
- •Задание 3. Одномерные массивы
- •Void main ()
- •Int a[100],n,max,imax;
- •Задание 4. Вложенные циклы
- •Void main ()
- •Задание 5. Двумерные массивы
- •Void main ()
- •Задание 6. Посимвольная обработка строк
- •Void main()
- •Задание 7. Сортировка массива
- •Void main ()
- •1.6.Функции
- •Int oct (int a)// определение функции
- •Void main()
- •Void main()
- •Int strcmp(const char *str1, const char* str2);
- •Int fclose (file * stream);
- •Int feof(file *stream);
- •Int fseek ( file* stream, long offset, int origin);
- •Задание 1. Определение и вызов функций
- •Задание 2. Рекурсивные функции
- •Задание 3. Использование библиотечных функций string.H
- •Void main()
- •Задание 4. Использование библиотечных функций stdio.H
- •Void main ()
- •Глава 2. Динамические структуры данных
- •Int year;
- •Int children;
- •Задание 1. Структуры
- •Int year;
- •Int month;
- •Int visokos(int year)
- •Vivod (date d)
- •Int day_number(date d)
- •Vivod(mas[I]);
- •Vivod (min(mas,n));
- •Задание 2. Динамический список
- •Int mark;
- •Void vvod ()
- •Void vivod()
- •If (begin)
- •Void vivod_f()
- •If (begin)
- •Void add()
- •Void udol () //
- •If (begin)
- •Void del()
- •Void main ()
- •Задание 3. Использование стеков и очередей
- •Глава 3. Основы объектно-ориентированного программирования
- •Void empty();
- •If (len) delete []s;
- •Void cStr::empty()
- •Задание 1 . Описание простейшего класса
- •Задание 2 . Класс string
- •Void main()
- •Void main ()
- •Задание 3. Класс fstream
- •Задание 4. Наследование
- •Список литературы
Задание 2. Итерационные циклы. Простейшие задачи
Пример. Дано натуральное число N. Определить его первую и последнюю цифры.
# include <iostream.h>
Void main()
{
long n,m;
Int last;
cout << “Enter n”;
cin >> n;
m=n; // Сохранили значение исходного числа
last=m%10;
while (m>9) m/=10;
cout << “\n In number ”<<n<< “first digit ” << m;
cout<< “, last digit ”<< last;
}
-
Подсчитать количество цифр в записи заданного десятичного натурального числа и вывести их на экран в обратном порядке.
-
Дано натуральное число n. Подсчитать сумму цифр этого числа, находящихся на нечетных позициях (нумерация позиций идет слева направо).
-
Дано натуральное число n. Найти сумму цифр числа, находящихся на четных позициях (старшая цифра числа находится на первой позиции).
-
Даны натуральные числа n и k. Определить k-ю слева цифру числа n.
-
Дано натуральные числа n и k. Вычислить сумму k старших разрядов (находящихся слева) цифр числа.
-
Дано натуральные числа n и k. Вычислить произведение k старших разрядов (находящихся слева) цифр числа.
-
Дано натуральное число n. Вычислить сумму его цифр.
-
Дано натуральное число n. Вычислить произведение его цифр.
-
Дано натуральное число n. Найти разность между первой цифрой этого числа и суммой всех остальных.
-
Выбросить из записи введенного натурального числа n цифры 0 и 5, оставив прежним порядок остальных цифр. Распечатать это число.
-
Целое положительное десятичное число m записать в восьмеричной системе счисления и распечатать число, состоящие из разрядов этой записи, выписанных в обратном порядке. Например, m=477, результат n=537.
-
Целое положительное число m записать в двоичной системе счисления и распечатать число, состоящие из разрядов этой записи, выписанных в обратном порядке. Например, m=37, результат n=101001.
Задание 3. Одномерные массивы
Пример. Сформировать массив целых чисел X(N), элементами которого являются случайные числа в диапазоне [-20..20]. Найти максимальный элемент и его номер.
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
Void main ()
{
Int a[100],n,max,imax;
cout<<"\nEnter n ";
cin >>n;
cout<<"\n";
randomize();// инициализация счетчика случайных чисел
for (int i=0;i<n;i++)
{
a[i]= random(41)-20; // генерируем массив случайных чисел
//в диапазоне [-20..20]
cout<<"a["<<i<<"]="<<a[i]<<"\n";
}
max=a[0];
for(int i=1;i<n;i++)
if (a[i]>max) {max=a[i]; imax=i;}
cout<< "\nmax = a["<<imax<<"]= "<<max;
}
-
В целочисленном массиве X(N), сгенерированном случайным образом, нечетные элементы увеличить в два раза, а у элементов с четными номерами заменить знаки на противоположные.
-
В целочисленном массиве, сгенерированном случайным образом, определить количество перемен знака.
-
В целочисленном массиве, сгенерированном случайным образом, найти наименьший из положительных элементов.
-
Дан вещественный массив X(N). Найти элемент массива, значение которого наиболее близко к какому-нибудь целому числу.
-
Для целочисленного массива, сгенерированного случайным образом, определить, образуют ли его элементы неубывающую последовательность.
-
Проведено измерение роста 70 студентов. Данные записаны в массиве ROST. Разместить в массиве NR номера тех студентов, чей рост меньше 180 см и подсчитать число таких студентов.
-
Результаты сдачи экзамена группой из N студентов находятся в массиве REZ. Подсчитать количество студентов, сдавших экзамен на «хорошо» и «отлично».
-
Из целочисленного массива X(N), сгенерированного случайным образом, переписать в массив Y элементы массива X c нечетными номерами, а в массив Z – элементы массива X, значения которых кратны 5.
-
Сформировать случайным образом массив X(N), элементами которого могут быть только 0 и 1. Проверить, существует ли строгое чередование 0 и 1.
-
Сформировать целочисленный массив X (N), элементами которого являются случайные числа из диапазона [-3..3]. Определить, сколько раз в нем встретилось два подряд идущих нулевых элемента.
-
Сформировать целочисленный массив X(N), элементами которого являются случайные числа из диапазона [-20..10]. Найти величину наибольшего среди отрицательных чисел этого массива.
-
Сформировать вещественный массив X1(N), элементами которого являются случайные числа из диапазона [0..50]. Переслать из него в массив X2 все элементы, значения которых больше 24 и меньше 34.
-
Сформировать целочисленный массив X(N), элементами которого являются случайные числа из диапазона [-40..40]. Подсчитать сумму элементов этого массива, значения которых кратны 8.