- •Н. А. Аленский основы программирования
- •§ 1. Структура простой программы. Ввод, вывод
- •1.1. Пример первой программы
- •1.2. Директива препроцессора #include
- •1.3. Структура программы
- •1.4. Комментарии
- •1.5. Ключевые слова и идентификаторы
- •1.6. Простой ввод, вывод
- •§ 2. Оператор if
- •2.1. Полная форма
- •2.2. Сокращённая форма
- •2.3. Особенности оператора
- •Задачи и упражнения
- •§ 3. Выражения
- •3.1. Константы
- •Непосредственно записать в выражении;
- •3.2. Операции и их приоритет
- •3.3. Операции отношения и логические операции
- •3.4. Особенности операции присваивания
- •3.5. Тернарная операция (?)
- •Задачи и упражнения
- •§ 4. Оператор выбора switch
- •Задачи и упражнения
- •§ 5. Операторы цикла
- •5.1. Оператор while c предусловием
- •Правила использования и особенности оператора while
- •5.2. Оператор цикла do … while c постусловием
- •5.3. Оператор for
- •5.4. Операторы continue и break
- •Задачи и упражнения
- •§ 6. Введение в одномерные массивы
- •6.1. Что такое массив. Объявление одномерного массива
- •6.2. Способы определения массивов
- •6.3. Вывод одномерного массива. Функции printf и сprintf
- •6.4. Некоторые типы простых задач при работе с массивами
- •Задачи и упражнения
- •§ 1. Функции без результатов. Передача параметров по значению
- •1.1. Примеры. Правила оформления и вызова функций
- •Void line2(int Len, y, char ch) // ошибка,
- •1.2. Формальные и фактические параметры
- •1.3. Передача параметров по значению
- •§ 2. Функции типа void с несколькими результатами
- •2.1. Пример
- •2.2. Что такое ссылочный тип
- •2.3. Возврат значений из функции с помощью ссылочного типа
- •Задачи и упражнения
- •§ 3. Функции с одним результатом. Оператор return
- •Задачи и упражнения
- •§ 4. Одномерные массивы в функциях. Сортировка массива
- •Задачи и упражнения.
- •§ 5. Область действия имён. Локальные и глобальные имена
- •§ 6. Дополнительные возможности функций
- •Встраиваемые функции (inlineфункции)
- •6.2. Параметры по умолчанию
- •6.3. Перегрузка функций
- •§ 1. Примеры
- •§ 2. Класс. Поля и методы класса
- •§ 3. Создание объектов. Конструктор
- •Задачи и упражнения.
- •Глава 4 простые типы данных § 1. Целый тип
- •1.1. Битовые операции
- •1.2. Использование битовых операций
- •1.3. Упаковка и распаковка информации
- •Задачи и упражнения.
- •§ 2. Логический тип
- •§ 3. Символьный тип
- •Глава 5 матрицы (двухмерные массивы) § 1. Объявление, способы определения
- •§ 2. Вывод матриц
- •§ 3. Типы алгоритмов на обработку матриц
- •3.1. Построчная обработка
- •3.2. Обработка матрицы по столбцам
- •3.3. Обработка всей матрицы
- •3.4. Обработка части матрицы
- •3.5. Преобразование матрицы
- •Упражнения.
- •3.6. Построение матриц
- •§ 4. Передача матрицы в качестве параметра функции
- •Задачи и упражнения.
- •Б. Обработка матрицы по столбцам.
- •Даны две матрицы a и b одинаковой размерности. Построить матрицу с, каждый элемент которой определяется по правилу:
- •Список рекомендуемой литературы
- •Сборники задач по программированию
- •Оглавление
- •Задачи и упражнения …….……………………………………...12
- •3.1. Константы ………………………………………………...…14
Задачи и упражнения
-
Ввести число. Вывести 0 или 1 в зависимости от того, положительное число или неположительное. Выполнить это двумя способами:
#include <iostream.h>
#include <conio.h>
int main()
{ float x; int result;
cout<<"The number "; cin>>x;
cout<<"The first variant " ; cout<<(x>0)<<endl;
cout<<"The second variant " ; if (x>0) result=1;
else result=0;
cout<<result<<endl;
getch(); return 0;
}
2. Найти наибольшее из трех введенных чисел:
main()
{ int x, y, z, res1, res2, res3;
cout<<"The first number "; cin>>x;
cout<<"The second number "; cin>>y;
cout<<"The third number "; cin>>z;
cout<<"Max of numbers ("<<x<<" , "<<y<<" , "<<z<<" ) ";
// Полная форма оператора if:
if (x>y) res1=x;
else res1=y;
if (z>res1) res1=z; cout<<”\nVariant 1 “<<res1<<endl;
// Сокращённая форма оператора if:
res2= x; if (y > res2) res2= y;
if (z > res2) res2= z; cout<<" Variant 2 "<< res2;
// Тернарная операция (см. 3.5):
res3=x>y?x:y; res3=z>res3?z:res3;
cout<<" Variant 3 "<<res3;
getch(); return 0; }
3. Дано x. Вычислить y = x*x, если x > 0, иначе, y = 100.
a) if (x>0) y=x*x; else y=100; cout<<"y= "<<y;
б) y = x>0?x*x:100; cout<<"y= "<<y;
в) cout<<"y= "<<(x>0?x*x:100);
4. Даны х, y. Вывести “+++” или “– – –” в зависимости от того, x>y или нет.
а) if (x>y) cout<<”+++”; else cout<<“– – –”;
б) x>y? cout<<" +++ " : cout<<“– – –”;
-
Ввести три числа x, y, z. Вычислить:
а) r = max(min(x, y), z); б) r = max(x, 0) + min(y, z);
в) r = min(x, y, 0) + max(y, z);
г) произведение двух наименьших из трех чисел.
-
Расположите четыре числа a, b, c, d в порядке возрастания их значений.
-
Даны длины трех отрезков A, B, C. Определить возможность построения треугольника и его вид (разносторонний, равнобедренный, равносторонний).
-
Ввести коэффициенты квадратного уравнения A, B и C. Вывести A*x^2+B*x+C=0. При этом если A=1, выводить только x^2, если A=-1, выводить –x^2, если A=0, первый одночлен не выводить. Аналогично для B. Не выводится также нулевое значение С.
-
Найти действительные корни квадратного уравнения, если заданы его коэффициенты. Предусмотреть следующие варианты: два различных корня; один корень; нет действительных корней.
-
Ввести часы, минуты и секунды. Определить корректность момента времени.
-
Ввести два числа: номер месяца и день. Выполнить проверку корректности этой даты. Например, 3 и 31 определяют дату, а 4 и 31, 20 и 5 — нет. Вывести слово “да” или “нет”.
-
Вычислить значение функции в соответствии с заданным графиком для произвольного одного фиксированного значения аргумента.
-
Вычислить значение функции