Глава 3. Программирование § 18. Линейные программы
1. Требуется написать программу, которая складывает два числа и выводит на экран их сумму. Определите входные данные и результат этого алгоритма.
К какому типу относятся входные данные:
Сколько входных значений у алгоритма?
К какому типу относятся результаты:
Сколько результатов у алгоритма?
Обозначьте именами входные данные и результаты и напишите их на стрелках:
Запишите формулу, которая связывает исходные данные и результат:
Место для ввода текста.
2. Требуется написать программу, которая выводит скорость и время движения автомобиля и выводит на экран расстояние, которое он проехал. Определите входные данные и результат этого алгоритма.
К какому типу относятся входные данные:
Сколько входных значений у алгоритма?
К какому типу относятся результаты:
Сколько результатов у алгоритма?
Обозначьте именами входные данные и результаты и напишите их на стрелках:
Запишите формулу, которая связывает исходные данные и результат:
Место для ввода текста.
3. В языке C++ целые переменные относятся к типу int. Выясните, откуда произошло сокращение int в языках программирования:
int – это сокращение от английского слова , которое переводится как .
4. Выделите красным цветом (или зачеркните) недопустимые имена переменных:
1 Vasya СУ-27 @mail_ru
m11 Петя СУ_27 lenta.ru
1m Митин брат _27 "Pes barbos"
m 1 Quo vadis СУ(27)
5. Что появится на экране после выполнения программы:
int c = 5;
cout ' " << "b!";
ответ:
в) int a = 5, b = 3;
cout << "(" << a << ")<(" << a+b << ")";
ответ:
25. Запишите оператор для вывода значений целых переменных a = 5 и b = 3 в формате:
а) 3+5=?
б) (5)(3)
в) a=5; b=3;
г) ответ: (5;3)
26. Вычислите значение вещественной переменной c при a = 2 и b = 3:
а) с = a + 1. / 3;
б) с = a + 4. / 2 * 3 + 6;
в) с = (a + 4) / 2. * 3;
г) с = (a + 4.) /(b + 3) * a;
27. Вычислите значение целочисленной переменной c при a = 26 и b = 6:
а) c = a % b + b;
б) c = a / b + a;
в) b = a / b;
c = a / b;
г) b = a / b + b;
c = a % b + a;
д) b = a % b + 4;
c = a % b + 1;
е) b = a / b;
c = a % (b+1);
ж) b = a % b;
c = a / (b+1);
28. Выполните предыдущее задание при a = –22 и b = 4.
а) c = a % b + b;
б) c = a / b + a;
в) b = a / b;
c = a / b;
г) b = a / b + b;
c = a % b + a;
д) b = a % b + 4;
c = a % b + 1;
е) b = a / b;
c = a % (b+1);
ж) b = a % b;
c = a / (b+1);
29. *Используя дополнительные источники, выясните, правильно ли (с точки зрения математики) в языке C++ вычисляется остаток от деления, если одно из чисел отрицательное.
Место для ввода текста.
30. Требовалось написать программу, которая меняет местами значения двух переменных в памяти. Программист торопился и написал программу так:
a = b;
b = a;
Выполните ручную прокрутку программы при a = 1, b = 2:
a b
1 2
a = b;
b = a;
Исправьте программу и выполните её ручную прокрутку:
a b
1 2
31. *Попробуйте найти решение предыдущей задачи, которое не использует дополнительные переменные.
a b
1 2
Объяснение:
1) #include <iostream>
using namespace std;
int main()
{
int a, b;
cout<<"Enter number 1";
cin >> a;
cout<<"Enter number 2";
cin >> b;
int res = a + b;
cout << "Result - " << res << endl;
return 0;
}
1.1) К целочисленному типу
1.2)2 входных значения
1.3)1 результат
1.4)(я не понимаю какие стрелки)
1.5)A + B = RES
2) #include <iostream>
using namespace std;
int main()
{
float speed, time;
cout<<"Enter speed";
cin >> speed;
cout<<"Enter time";
cin >> time;
int length = speed * time;
cout << "Length- " << length << endl;
return 0;
}
2.1) К дробному типу
2.2)2 входных значения
2.3)1 результат
2.4)(я не понимаю какие стрелки)
2.5)S = V * t
3. Слово Integer
4. можно: Vasya СУ-27 @mail_ru
m11 Петя СУ_27 lenta.ru
m 1 Quo vadis СУ(27)
нельзя: 1m Митин брат _27 "Pes barbos"
5. b!
6. в)
1. Вопрос: Требуется написать программу, которая складывает два числа и выводит на экран их сумму. Определите входные данные и результат этого алгоритма.
- Входные данные: два числа
- Тип входных данных: число
- Количество входных значений у алгоритма: 2
- Результат: сумма двух чисел
- Тип результата: число
- Количество результатов у алгоритма: 1
- Обозначение входных данных на стрелках: число1 -> число2
- Обозначение результата на стрелке: сумма
Запишем формулу, которая связывает исходные данные и результат:
сумма = число1 + число2
2. Вопрос: Требуется написать программу, которая выводит скорость и время движения автомобиля и выводит на экран расстояние, которое он проехал. Определите входные данные и результат этого алгоритма.
- Входные данные: скорость и время движения автомобиля
- Тип входных данных: число
- Количество входных значений у алгоритма: 2
- Результат: расстояние, которое автомобиль проехал
- Тип результата: число
- Количество результатов у алгоритма: 1
- Обозначение входных данных на стрелках: скорость -> время
- Обозначение результата на стрелке: расстояние
Запишем формулу, которая связывает исходные данные и результат:
расстояние = скорость * время
3. Вопрос: В языке C++ целые переменные относятся к типу int. Выясните, откуда произошло сокращение int в языках программирования:
int - это сокращение от английского слова "integer", которое переводится как "целое число".
4. Вопрос: Выделите красным цветом (или зачеркните) недопустимые имена переменных:
1 Vasya СУ-27 @mail_ru
m11 Петя СУ_27 lenta.ru
1m Митин брат _27 "Pes barbos"
m 1 Quo vadis СУ(27)
Недопустимые имена переменных: 1, @mail_ru, lenta.ru, "Pes barbos", m 1, СУ(27)
5. Вопрос: Что появится на экране после выполнения программы:
int c = 5;
cout << "b!";
Ответ: b!
6. Вопрос: Что появится на экране после выполнения программы:
int a = 5, b = 3;
cout << "(" << a << ")<(" << a+b << ")";
Ответ: (5)<(8)
7. Вопрос: Запишите оператор для вывода значений целых переменных a = 5 и b = 3 в формате:
а) 3+5=?
б) (5)(3)
в) a=5; b=3;
г) ответ: (5;3)
Ответ:
а) cout << "3+5=?";
б) cout << "(5)(3)";
в) cout << "a=5; b=3;";
г) cout << "ответ: (" << a << ";" << b << ")";
8. Вопрос: Вычислите значение вещественной переменной c при a = 2 и b = 3:
а) c = a + 1. / 3;
б) c = a + 4. / 2 * 3 + 6;
в) c = (a + 4) / 2. * 3;
г) c = (a + 4.) /(b + 3) * a;
Ответ:
а) c = 2 + 1 / 3 = 2.3333
б) c = 2 + 4 / 2 * 3 + 6 = 2 + 2 * 3 + 6 = 20
в) c = (2 + 4) / 2. * 3 = 6 / 2 * 3 = 9
г) c = (2 + 4.) / (3 + 3) * 2 = 6 / 6 * 2 = 2
9. Вопрос: Вычислите значение целочисленной переменной c при a = 26 и b = 6:
а) c = a % b + b;
б) c = a / b + a;
в) b = a / b; c = a / b;
г) b = a / b + b; c = a % b + a;
д) b = a % b + 4; c = a % b + 1;
е) b = a / b; c = a % (b+1);
ж) b = a % b; c = a / (b+1);
Ответ:
а) c = 26 % 6 + 6 = 2 + 6 = 8
б) c = 26 / 6 + 26 = 4 + 26 = 30
в) b = 26 / 6 = 4; c = 26 / 6 = 4
г) b = 26 / 6 + 6 = 4 + 6 = 10; c = 26 % 10 + 26 = 6 + 26 = 32
д) b = 26 % 6 + 4 = 2 + 4 = 6; c = 26 % 6 + 1 = 2 + 1 = 3
е) b = 26 / 6 = 4; c = 26 % (4+1) = 26 % 5 = 1
ж) b = 26 % 6 = 2; c = 26 / (2+1) = 26 / 3 = 8
10. Вопрос: Выполните предыдущее задание при a = –22 и b = 4.
а) c = a % b + b;
б) c = a / b + a;
в) b = a / b; c = a / b;
г) b = a / b + b; c = a % b + a;
д) b = a % b + 4; c = a % b + 1;
е) b = a / b; c = a % (b+1);
ж) b = a % b; c = a / (b+1);
Ответ:
а) c = (-22) % 4 + 4 = (-2) + 4 = 2
б) c = (-22) / 4 + (-22) = (-5) + (-22) = -27
в) b = (-22) / 4 = -5; c = (-22) / 4 = -5
г) b = (-22) / 4 + 4 = -5 + 4 = -1; c = (-22) % (-1) + (-22) = 0 + (-22) = -22
д) b = (-22) % 4 + 4 = (-2) + 4 = 2; c = (-22) % 4 + 1 = (-2) + 1 = -1
е) b = (-22) / 4 = -5; c = (-22) % (-4) = (-22) % (-5+1) = (-22) % (-6) = -22
ж) b = (-22) % 4 = (-2); c = (-22) / (-1+1) = (-22) / 0 (деление на ноль недопустимо)
11. Вопрос: *Используя дополнительные источники, выясните, правильно ли (с точки зрения математики) в языке C++ вычисляется остаток от деления, если одно из чисел отрицательное.
Ответ: В языке C++ остаток от деления вычисляется с учетом знаков обоих чисел. Если одно из чисел отрицательное, то остаток будет отрицательным, если результат деления отрицательного числа на положительное не является целым числом. Например, (-7) % 3 = -1, так как результат деления -7 на 3 равен -2 и остаток -1.
12. Вопрос: Требовалось написать программу, которая меняет местами значения двух переменных в памяти. Программист торопился и написал программу так:
a = b;
b = a;
Выполните ручную прокрутку программы при a = 1, b = 2:
a b
1 2
a = b;
b = a;
Исправьте программу и выполните её ручную прокрутку:
a b
1 2
temp = a;
a = b;
b = temp;
Прокрутка после исправления:
a b
1 2
temp = 1;
a = 2;
b = 1;
Итоговое значение:
a = 2
b =