Введите с клавиатуры три числа a b c если a с

Обновлено: 04.05.2024

1. Алгоритмический язык Паскаль разработан _________________ .

2. Язык Паскаль в __________________ годах.

3. Язык получил свое название в честь ___________________, который прославился изобретением _______________________.

4. Паскаль – язык ___________________ уровня программирования.

4. Соотнесите названия разделов меню TurboPascal на английском и их эквивалентами на русском.

5. Подпишите основные разделы окна программы Turbo Pascal и основные пункты меню.

Урок 2. Структура программы.

Познакомиться со структурой программы;

Познакомиться с характеристиками разделов программы.

Охарактеризуйте следующие разделы программы

Раздел операторов ;

2. Напишите правило идентификатора

Идентификаторы - имена _________ и конструкций программы. Имя должно быть меньше ________ символов, но различимы только _____ символа.

Имя состоит из латинской _____, за которой могут следовать буквы, цифры или символ подчеркивания. Нельзя в качестве имен использовать _______________, и стандартные имена, которые служат для обозначения некоторых констант, типов, процедур, функций, файлов.

3. Какие идентификаторы не могут быть использованы в Pascal ?

4. Подпишите разделы программы.

5. Дополните определения.

Транслятор – программа-переводчик, которая преобразует программу, написанную на языке программирования в программу, записанную в машинном коде.

Компилятор – перевод исходной программы с языка _______ на язык ____________.

_____________ — истолкователь, переводит и выполняет программу строка за строкой.

Исправьте ошибки в программах.

Определите, что будет выведено в результате выполнения данной программы.

writeln (‘Машина отлично задачу решила.’);

Написать программу, выводящую на экран вашу фамилию, имя, отчество.

9.Написать программу, выводящую на экран следующий отрывок.

Чтоб ввести в компьютер новость
Я использовать готов:
Мышь, дискету, клавиатуру, джойстик,
Сканер, датчик, микрофон.

10. Написать программу, выводящую на экран следующий рисунок

Урок 3. Типы данных.

Цель работы:

познакомиться с разнообразием типов данных;

научиться объявлять переменные в разделе описания переменных.

Заполните следующую таблицу

2. К какому типу данных относятся следующие числа?

3.Какой тип данных нужно написать в программе, если известно, что:

var x,y: _________;

var a,b: _________;

var c, f: ________;

Урок 4. Оператор присваивания.

Познакомиться с оператором присваивания;

Узнать, как присваивать переменным значениям и научиться практически это выполнять.

1.Ответьте на следующие вопросы:

Как записывается оператор присваивания? - _____

Как выполняется оператор присваивания? - __________________________________________________________________________________________________________ .

Допустимо ли присваивание переменной вещественного типа значения выражения целого типа? - _________.

Допустимо ли присваивание переменной целого типа значения выражения вещественного типа? - ______.

2.Выполнить следующие действия:

Присвоить переменной z 10 - _______________

Присвоить переменной m сумму n и k - _________________

Присвоить переменной a разность b и c - __________________

Присвоить переменной f значение a 2 -_____________________

Присвоить переменной n разность квадратов a и b - _______________

Присвоить переменной p полусумму a и d - _____________.

3.Допишите программу нахождения суммы чисел a и b .

4. Исправьте ошибки в приведенном фрагменте программы нахождения полуразности чисел b и c .

5. Напишите программу нахождения частного чисел x и y . Известно, что х=10.2; y =2.

6. Дан фрагмент программы. Чему равны значения переменных r , a , d ?

Ответ : a= ____; r=_____; d=_____.

Можно ли выполнить оператор a:=d? ________

Урок 5. Операторы ввода. Операторы вывода.

познакомиться с синтаксисом операторов ввода и вывода;

узнать, чем отличается writeln ( x ) от write ( x );

узнать, чем отличается readln( x ) от read ( x );

научиться записывать фрагменты программ, выводящих информацию и вводящие данные с клавиатуры.

1. Запишите операторы ввода

Их отличие: ___________________________________.

2. Запишите операторы вывода

Их отличие: ____________________________________.

4. Найти сумму и произведение 3 введенных с клавиатуры целых чисел. Исправьте ошибки в данной программе .

var a,b,c,s,p integer;

write(введите 3 целых чисел);

writeln(сумма введенных чисел равна,s);

writeln( произведение введенных чисел равно,p);

5. Одна сторона прямоугольника на 5 см. длиннее другой, а сумма их длин равна 17 см. Найти стороны этого прямоугольника. Допишите недостающие строки программы.

Ширина прямоугольника - storona1, длина - storona2, разность сторон - raz, сумму длин сторон - summa.

writeln ('Введите сумму длин сторон прямоугольника');

writeln('Введите на сколько одна сторона больше другой');

st:= (summa - raz) / 2;

storona 2:= st + raz ;

6. Составьте программу, вычисляющую периметр P и площадь S прямоугольника, если известны две его стороны a , b . Вывод на экран оформить следующим образом:

введите две стороны прямоугольника в см:яяЕ

периметр прямоугольника равен 121.5 см

площадь прямоугольника равна 637.875 кв. см.

_______________________ ______

Урок 6. Линейные алгоритмы.

Цель работы:

Научиться составлять линейные алгоритмы;

Научиться писать текст программ для линейных алгоритмов

1. Дана сторона квадрата а. Найти его периметр P=4*a. Допишите строки программы

2.Найти периметр равностороннего треугольника. Написать текст программы.

3. Составьте блок-схему и программу, решающую следующую задачу.

Известна длина окружности L . Найти площадь круга S , ограниченного этой окружностью. Формулы для вычисления длины окружности и площади круга: L =2 πR , S = πR 2 (где π =3,14)

Программа

_________________________

_________________________

_________________________

_________________________

_________________________

_________________________

_________________________

_________________________

_________________________

4. Напишите программу и заполните таблицу значений для следующей задачи.

Вычислите среднее арифметическое чисел x , y , z .

5. Составить программу, решающую следующую задачу.

Найти сумму членов S арифметической прогрессии, если известны ее первый член a 1 , знаменатель d и число членов прогрессии n . Формулы:

Программа:

6. По блок-схеме напишите программу, решающую следующую задачу. Дано число а . Не пользуясь никакими другими операциями, кроме умножения, получить: а 4 и а 12 за 4 операции.

hello_html_m3e2da9d8.jpg

7. Составить программу, решающую следующую задачу. Дано число а . Не пользуясь никакими другими операциями, кроме умножения, получить: а 4 и а 20 за 5 операции.

8. Дана сторона квадрата а. Найти его площадь S = a 2 . Написать программу.

________________________

________________________

________________________

________________________

9. Дана длина ребра куба а. Найти объем куба V =a 3 и площадь его поверхносьти S =6 a 2 . Вставьте скриншот программы.

Урок 7. Функции в языке Pascal .

познакомиться с основными видами функций языка Pascal .

Заполните таблицу.

Функция в Pascal

2. Вычислить значение выражений.

3.Вычислить значение выражений.

4. Вычислить следующие выражения.

(489 div 10) mod 10=

Урок 8. Арифметические выражения в языке Pascal .

научиться преобразовывать математические выражения в выражения на языке Pascal ;

совершенствовать навыки и умения написания текста программ линейных алгоритмов.

1. Запишите следующие выражения на языке Pascal .

2. Составьте программу, вычисляющую площадь треугольника по формуле Герона.

a, b, c – стороны (исходные данные)

P – полупериметр (вспомогательная переменная)

S – площадь (результат)

3. Допишите строчки программы.

Составьте программу, вычисляющую расстояние между двумя точками с данными координатами.

x 1, y 1; x 2, y 2 – координаты точек (исходные данные)

d – расстояние (результат)

4.Исправьте ошибки в программе. Составьте блок-схему.

Составить программу, вычисляющую сумму цифр трехзначного числа n.

n – трехзначное число

a, b, c – цифры этого числа (вспомогательные переменные)

S – сумма цифр этого числа (результат)

Program chislo;

var n, a, b, c, s : ;

writeln (‘введите трехзначное число’);

b:=(n div 10) mod 10;

writeln (‘суммацифрчисларавна ’, s );

5. Дано два числа, найти остаток от деления первого на второе и вывести результат. Заполните таблицу значений.

6. Написать программу к задаче. Дано четырехзначное число n . Выписать число в обратном порядке.

n – четырехзначное число исходные данные;

a , b , c , d – цифры этого числа (вспомогательные переменные);

m – обратное число (результат).

var a,b,c,d: integer;

7. Дана длина ребра куба. Найти объем куба и площадь его боковой поверхности. Напишите текст программы.

8. Даны два неотрицательных числа a и b . Найти их среднее геометрическое, то есть квадратный корень из их произведения . Вставьте скриншот программы.

9.Дано двузначное число. Вывести сначала его левую цифру(десятки), затем правую(единицы). Для нахождения десятков использовать операцию деление нацело, для нахождения единиц использовать операцию взятия остатка от деления. Вставьте скриншот программы.

10. Дано двузначное число. Найти сумму и произведение его цифр. Вставьте скриншот программы.

11. Дано двузначное число. Вывести число, полученное при перестановке цифр исходного числа. Вставьте скриншот программы. Вставьте скриншот программы.

Урок 9. Условный оператор.

познакомиться с синтаксисом условного оператора;

сформировать навыки написания фрагментов программ для полного и неполного ветвления.

Запишите общий вид логического оператора для полного ветвления.

________________________________________-

________________________________________

Запишите общий вид логического оператора для неполного ветвления.

______________________________________________

______________________________________________

3. С помощью логического ветвления запишите следующие фразы:

Если а больше 0, то прибавьте к х 1, в противном случае, нужно вычесть из x 2;

Если сумма а и b положительная, то присвойте a значение b , в противном случае, присвойте а значение 0;

Если разность а и b меньше 0, то присвоить с значение а, в противном случае, умножьте а на 2;

Если а больше 0 или равно 0, то вывести фразу «а - положительное»;

Если а меньше 0, то вывести фразу «а - отрицательное».

4.Запишите логический оператор по фрагменту блок-схемы:

___________________________ ____________________________

___________________________ ____________________________

5. Определите новое значение переменной с.

if a>b then c:=a + b

6. Определите новое значение переменной c :

if (a<0) and (b>=a) then c:=3*c

при а= 5; b =7 Ответ: c=

при a= -5; b=7 Ответ: c=

Урок 10. Алгоритмы с ветвлением.

научиться составлять блок-схемы для алгоритмов с ветвлением;

научиться составлять программы для алгоритмов с ветвлением.

1. Дано целое число а. Проверить истинность высказывания: «Число а является положительным». Составить блок-схему для программы.

writeln(‘ Ввести a’);

if ( a >0) or ( a =0) then writeln (‘Число а является положительным’)

else writeln (‘Число а не является положительным’);

2. Дано целое число а. Проверить высказывание «Число является четным». Дописать фрагмент программы .

if ____________________ then writeln( __________________)

else writeln (______________);

3.Дано целое число а. Проверить высказывание «Число является нечетным». Дописать фрагмент программы .

if ____________________ then writeln( __________________)

else writeln (______________);

4. Даны два целых числа a и b . Проверить истинность высказывания «Справедливы неравенства a >2 и b ≤3». Написать программу.

5. Даны два целых числа a и b . Проверить истинность высказывания «Справедливы неравенства a ≥0 и b <-2». Написать программу.

6. Даны три целых числа a , b , c . Проверить истинность высказывания «Справедливо двойное неравенство a < b < c ». Вставить скриншот программы.

7. Даны три целых числа a , b , c . Проверить истинность высказывания «Число b находится между a и b ». Вставить скриншот программы.

8. Даны два целых числа a и b . Проверить истинность высказывания «Хотя бы одно из чисел a и b нечетное». Вставить скриншот программы.

9. Даны два целых числа a и b . Проверить истинность высказывания «Ровно одно из чисел a и b нечетное». Вставить скриншот программы.

10. Ввести число. Если оно четное, разделить его на 4, если нечетное - умножить на 5. Вставить скриншот программы.

Урок 11. Вложенное и последовательное ветвление.

познакомиться с вложенным ветвлением;

познакомиться с последовательным ветвлением;

выявить отличия между вложенным и последовательным ветвлением;

научиться составлять программы с вложенным и последовательным ветвлением.

1. Рассмотрите примеры вложенного и последовательного ветвления. В чем между ними разница?

2. Запишите программу по следующей блок-схеме.

3. Запишите программу по блок-схеме.

Дана блок-схема алгоритма решения следующей задачи: Даны два угла треугольника (в градусах). Определить, существует ли такой треугольник. Если да, то будет ли он прямоугольным.

hello_html_m45141a1f.jpg

4. Запишите 2 варианта программы:

а) с вложенным ветвлением;

б) с последовательным ветвлением.

5. Составьте программу для вычисления значений функции y в зависимости от заданного с клавиатуры значения аргумента x :

6. Составьте блок-схему и программу для вычисления значений функции y в зависимости от заданного с клавиатуры значения аргумента x :

7. Составьте программу для решения следующей задачи . Введите с клавиатуры три числа. Если все числа отрицательны и не равны между собой, то замените числа их квадратами и выведите результаты на экран. Если все числа равны нулю, то сделайте их соответственно равными 5, 20, 15 и выведите результаты. Иначе, найдите и выведите сумму этих чисел.

8. Составьте программу для решения следующей задачи . Введите с клавиатуры три числа: А, В, С. Если A = С, то все числа замените их квадратами и выведите результаты на экран. Если А > В > С, то каждое число замените наибольшим и выведите результаты. Иначе, А сделайте равным сумме В и С, С обнулите, В оставьте без измене ния и выведите результаты.

Урок 13. Оператор выбора.

познакомиться с оператором выбора;

выявить условия использования оператора выбора;

сформировать навыки написания программ с оператором выбора.

1. Запишите синтаксис оператора выбора case of .

2.Запишите оператор выбора для представленной блок-схемы.

hello_html_m7d290b99.jpg

3.Составьте блок-схему для следующего текста программы.

Определите, чем является символ, введенный с клавиатуры: цифрой, буквой русского алфавита или буквой английского алфавита. с h – символьная переменна, char – символьный тип данных.

'0'..'9': write (' Эточисло ');

'a'..'z','A'..'Z': write ('Это английская буква');

'а'..'я','А'..'Я': write ('Это русская буква')

4.Составьте блок-схему для следующей программы.

case of

5. Какое значение примет переменная a после выполнения оператора выбора:

6. Допишите программу.

Вводится оценка цифрами, необходимо напечатать соответствующую оценку словами.

writeln (' введите оценку числом ');

else writeln (‘оценка введена неправильно’);

7. Написать программу, которая по введенному номеру месяца, выдавала бы время года.

Список литературы

Паскаль для школьников. Ушаков Д.М., Юркова Т.А., 2-е изд. - СПб.: 2011. — 320с .

Практикум по Турбо Паскалю. И.А. Бабушкина, Н.А. Бушмелева, С.М. Окулов, С.Ю. Черных.

Электронные ресурсы

М. Э. Абрамян Programming Taskbook Электронный задачник по программированию Версия 4. 5 Ростов-на-Дону 2005. ;

Если они не равны, то замените все числа наибольшим из них и выведите результаты на экран.

Иначе, найдите и выведите суммы квадратов этих чисел.


Собственно в программе все должно быть понятно единственное это после переменных стоит ( : 2), это кол - во пробелов между ответами, его можно убарть тогда каждую переменную выражай через write(a) write(b) write(c).


Составьте программу для решения следующей задачи?

Составьте программу для решения следующей задачи.

Введите с клавиатуры два числа : А и В.

Если числа не равны, то замените каждое из них большим и выведите результаты на экран.

Если они равны, то найдите и выведите удвоенную сумму этих чисел.


Введите с клавиатуры два числа a и b ?

Введите с клавиатуры два числа a и b .

Если оба числа четные , то вычислите их сумки выведите результат на экран .

Если оба нечетные то найдите произведение этих чисел и выведите результат .

Иначе, увеличить все числа в пять раз и выведите результаты.

Решение, которое уже есть на сайте не писать.


Паскаль : с Для четырех произвольных чисел, введенных с клавиатуры, выведите на экран соответствующие результаты?

Паскаль : с Для четырех произвольных чисел, введенных с клавиатуры, выведите на экран соответствующие результаты.

Если произведение этих чисел положительно, то выведите утроенное значение каждого числа.

Если сумма первого и третьего чисел отрицательна, то выведите эти два числа и их сумму.

Если выполняются одновременно два перечисленных выше условия, то выведите четыре числа без изменения.

Иначе, выведите сумму этих четырех чисел, уменьшенную в два раза.

Составьте соответствующие отладочные примеры и проверьте работу каждой программы.


Semkadenisds 22 апр. 2020 г., 23:16:49 | 10 - 11 классы

Составьте программу для решения следующей задачи?

Составьте программу для решения следующей задачи.

Введите с клавиатуры два числа : N и M.

Если оба числа больше 100, то замените каждое из них меньшим и выведите результаты на экран.

Если первое число положительное, а второе отрицательное, то уменьшите их в два раза и выведите результаты.

Иначе, найдите и выведите среднее арифметическое этих чисел.


Для 4 произвольных чисел, введенные с клавиатуры, выведите на экран соответствующие результаты?

Для 4 произвольных чисел, введенные с клавиатуры, выведите на экран соответствующие результаты.

Если разностьпервых двух чисел превышает четвертое, то выведите все четыре числа без изменения.

Если сумма всех чисел не больше 80, то выведите только два первых числа.

Если выполняется одновременно два перечисленных выше условия, то выведите только два последних числа.

Иначе, выведите все четыре числа, увеличев их на 5.


Matematikblea 8 янв. 2020 г., 20:26:05 | 10 - 11 классы

Для четырех произвольных чисел, введенных с клавиатуры, выведите на экран соответствующие результаты?

Для четырех произвольных чисел, введенных с клавиатуры, выведите на экран соответствующие результаты.

Если произведение этих чисел положительно, то выведите утроенное значение каждого числа.

Если сумма первого и третьего чисел отрицательна, то выведите эти два числа и их сумму.

Если выполняются одновременно два перечисленных выше условия, то выведите четыре числа без изменения.

Иначе, выведите сумму этих четырех чисел, уменьшенную в два раза.

Составьте соответствующие отладочные примеры и проверьте работу каждой программы.


Нужно написать программу?

Нужно написать программу.

Введите с клавиатуры 2 числа а и в, если числа не равны, то замените каждое из них на 0 и выведите результатом на экран.

Если они равны, то найдите и выведите удвоенную сумму этих чисел.


Аська03082001 11 окт. 2020 г., 19:51:08 | 1 - 4 классы

Введите с клавиатуры три числа если А> ; В> ; С> ; 0, то замените все числа их квадратами и выведите результаты на экран ?

Введите с клавиатуры три числа если А> ; В> ; С> ; 0, то замените все числа их квадратами и выведите результаты на экран .


Составьте блок - схему и программу для решения следующей задачи?

Составьте блок - схему и программу для решения следующей задачи.

Введите с клавиатуры два числа : к и л.

Если они положительны, то замените каждое на квадрат их суммы и выведите результаты на экран.

Если все числа отрицательны, то каждое сделайте равным наименьшему и выведите результаты.

Иначе, К приравняйте к 10, а Л - к 15 и выведите результаты.


Egorka1337228 14 окт. 2020 г., 15:51:39 | 1 - 4 классы

Введите с клавиатуры три числа если А> ; В> ; С> ; 0, то замените все числа их квадратами и выведите результаты на экран ?

Введите с клавиатуры три числа если А> ; В> ; С> ; 0, то замените все числа их квадратами и выведите результаты на экран .

Вы открыли страницу вопроса Введите с клавиатуры три числа : A, B и С?. Он относится к категории Информатика. Уровень сложности вопроса – для учащихся 10 - 11 классов. Удобный и простой интерфейс сайта поможет найти максимально исчерпывающие ответы по интересующей теме. Чтобы получить наиболее развернутый ответ, можно просмотреть другие, похожие вопросы в категории Информатика, воспользовавшись поисковой системой, или ознакомиться с ответами других пользователей. Для расширения границ поиска создайте новый вопрос, используя ключевые слова. Введите его в строку, нажав кнопку вверху.



1001011_2 = 75_10 51_8 = 41_10 4A_16 = 74_10 51_8 - - > 4A_16 - - > 1001011_2.


Калькулятор для продажи.


Norton WinDoctor Norton Unerase Wizard Norton Rescue Disk Norton System Information NORTONUtilities Integrator в общем программы, а также встроенные в Windows "Программа проверки диска" "Программа очистки диск" "Ошибки файловой системы" "Программа де..


Uses GraphABC ; begin LockDrawing ; for var i : = 1 to 800 do begin Window. Clear ; Brush. Color : = clGray ; FillRectangle(i + 10, 90, i - 110, 430) ; Brush. Color : = clRed ; Ellipse(i, 100, i - 100, 200) ; Brush. Color : = clYellow ; Ellipse(i..


Музыкальные редакторы обучающие программы компьютерные игры программы статических расчетов сетевые программы.


Напишите в комментарии к этой записи консольные приложения для решения этих задач, указав код задачи.
Решены задачи: 1,3,4,10,15,21,27,28. Не решены: 2,5-9,11-14,16-20,22-26.

Задачи

I3.1. Проверить, принадлежит ли число, введенное с клавиатуры, интервалу (–5, 3).

I3.2. Даны три вещественных числа a, b, c. Проверить:
а) выполняется ли неравенство a < b < c;
б) выполняется ли неравенство b > a > c.

I3.4. Определить, верно ли, что при делении неотрицательного целого числа a на положительное число b получается остаток, равный одному из двух заданных чисел c или d.

I3.5. Даны три вещественных числа a, b, c. Определить, имеется ли среди них хотя бы одна пара равных между собой чисел.

I3.6. Определить, является ли треугольник со сторонами a, b, c равносторонним.

I3.7. Определить, является ли треугольник со сторонами a, b, c равнобедренным.

I3.8. Известен рост трех человек. Определить, одинаков ли их рост?

I3.9. Даны вещественные числа a, b, c (a не равно 0). Решить уравнение ax 2 + bx + c = 0 . В числе возможных вариантов учесть вариант равенства корней уравнения.

I3.10. Даны вещественные положительные числа a, b, c, d. Выяснить, можно ли прямоугольник со сторонами a, b уместить внутри прямоугольника со сторонами c, d так, чтобы каждая из сторон одного прямоугольника была параллельна или перпендикулярна каждой стороне второго прямоугольника.

I3.11. Определить, войдет ли в конверт с внутренними размерами a и b мм прямоугольная открытка размером с и d мм. Для размещения открытки в конверте необходим зазор в 1 мм с каждой стороны.

I3.12. Вася пытается высунуть голову в форточку размерами a и b см. Приняв условно, что его голова — круглая диаметром d см, определить, сможет ли Вася сделать это. Для прохождения головы в форточку необходим зазор в 1 см с каждой стороны.

I3.13. Даны вещественные положительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a, b, c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия.

I3.14. Пассажир должен был сдать в камеру хранения пустой чемодан в форме параллелепипеда размерами a1 , a2 и a3 см и коробку размерами b1 , b2 и b3 см. Оплачивать нужно каждый размещаемый предмет. Определить, сможет ли пассажир сэкономить на оплате, поместив коробку в чемодан так, что стороны чемодана и коробки будут параллельны либо перпендикулярны друг другу.

I3.15. Дано двузначное число. Определить:
а) входит ли в него цифра 3;
б) входит ли в него цифра а.

I3.16. Дано двузначное число. Определить:
а) входят ли в него цифры 4 или 7;
б) входят ли в него цифры 3, 6 или 9.

I3.17. Дано трехзначное число. Определить:
а) входит ли в него цифра 6;
б) входит ли в него цифра n.

I3.18. Дано трехзначное число. Определить:
а) входят ли в него цифры 4 или 7;
б) входят ли в него цифры 3, 6 или 9.

I3.19. Дано четырехзначное число. Определить:
а) входит ли в него цифра 4;
б) входит ли в него цифра b.

I3.20. Дано четырехзначное число. Определить:
а) входят ли в него цифры 2 или 7;
б) входят ли в него цифры 3, 6 или 9.

I3.22. Дано натуральное число n (n <= 9999). Выяснить, верно ли, что это число содержит ровно три одинаковые цифры с учетом четырех цифр, как, например, числа 3363, 4844, 0300 и т. п.

I3.23. Дано натуральное число n (n <= 9999). Выяснить, различны ли все четыре цифры этого числа (с учетом четырех цифр). Например, в числе 3678 все цифры различны, в числе 0023 — нет.

I3.24. Определить, является ли заданное шестизначное число счастливым. (Счастливым называют такое шестизначное число, что сумма его первых трех цифр равна сумме его последних трех цифр).

I3.25. Год является високосным, если его номер кратен 4, однако из кратных 100 високосными являются лишь кратные 400, например, 1700, 1800 и 1900 — не-
високосные года, 2000 — високосный. Дано натуральное число n. Определить, является ли високосным год с таким номером.

I3.26. Имеются стол прямоугольной формы с размерами a x b (a и b — целые числа, a > b) и кости домино с размерами c x d x e (c, d и e — целые числа, c > d > e). Найти вариант размещения на столе наибольшего количества костей. Все размещаемые кости должны лежать на одной и той же грани в один ярус без свешивания со стола. Все ребра костей домино должны быть параллельны или перпендикулярны каждой стороне стола.

I3.27. Дано целое число k (1 <= k <= 365). Определить, каким будет k-й день года: выходным (суббота и воскресенье) или рабочим, если 1 января — понедельник.

I3.28. Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям координат. Известны координаты левого нижнего угла каждого из них и длины их сторон. Один из прямоугольников назовем первым, другой — вторым.
а) Определить, принадлежат ли все точки первого прямоугольника второму.
б) Определить, принадлежат ли все точки одного из прямоугольников другому.
в) Определить, пересекаются ли эти прямоугольники.

На этом занятии мы научимся читать, писать и считать (в целых числах). Как первоклассники, только на компьютере, с помощью С++.

Домашнее задание:
Обязательное задание:
1) Выполнить все задания из турнира "02. Целые числа - 1" (Если есть не выполненные) (http://contester.petrocollege.ru:8888/ru/)
2) Выполнить все задания из турнира "03. Целые числа - 2"
3) Выполнить задания из турнира "04. Целые числа - 3"

1. Арифметические выражения

Сначала научимся считать. Мы уже знаем, что выводить строки можно с помощью команды cout. Точно так же можно выводить числа и результат вычисления выражений. Например, вот так выглядит программа, которая считает, чему равно (2 + 3) * 5:

Если запустить эту программу, то она выведет 25. Сначала посчитается результат вычисления арифметического выражения, а затем он будет выведен. Посмотрим, какие арифметические операции умеет выполнять C++:

У операций на C++ тот же приоритет, что и в обычной математике. Сначала выполняются унарные операции (увеличить на 1 и уменьшить на 1), потом бинарные умножение, деление и вычисление остатка, затем бинарные сложение и вычитание. Влиять на порядок операций можно с помощью скобок. Минус и плюс бывают бинарные (это число минус число или число плюс число) и унарные (это просто отрицательное или положительное число). Например, можно написать (−2 + 3) * 4 — это будет корректным выражением с результатом 4.

Гораздо интереснее операции деления и взятия остатка. С помощью операции деления можно узнать целую часть от деления одного числа на другое. Например, 7 / 3 будет равно 2. А с помощью операции взятия остатка от деления можно узнать остаток от деления первого числа на второе. 7 % 3 будет равен 1. Если число делится нацело, то остаток будет равен нулю, например, 8 % 4 даст 0.

Математикам стоит обратить внимание на то, что деление и подсчёт остатка для отрицательных чисел работает в C++ «неправильно». Если в C++ мы разделим отрицательное число на положительное, например, посчитаем результат операции −7 / 3, то получим −2. Фактически в C++ отрицательное число берётся по модулю, делится, а затем к результату приписывается минус.

В C++ операция взятия остатка от деления отрицательного числа на положительное, так же как и деление нацело, берёт делимое по модулю, затем происходит подсчёт остатка от деления, и к результату приписывается минус. Например, −10 % 3 будет равно −1.

При возведении в степень целых чисел (если значение степени не большое, например в квадрат или в куб) следует использовать умножение, например:
  • a 2 = a ∗ a
  • a 3 = a ∗ a ∗ a
  • ( a + b ) 4 = ( a + b ) ∗ ( a + b ) ∗ ( a + b ) ∗ ( a + b )

Программа, которая всегда считает результат вычисления одного и того же выражения, довольно скучная и бестолковая. Полезная программа должна оперировать с различными данными без внесения изменений в код.

Можно представить себе, что программа сидит в кабинете, в который входит конвейер с входными значениями (это поток cin), а выходит конвейер с выводом (это поток cout). В кабинете стоят коробки с хламом, оставшемся от предыдущих жильцов, но мы можем ими воспользоваться, чтобы хранить в этих коробках свои вещи. Переменная, по сути, и является такой коробкой. «Объявить переменную x» — это как взять какую-нибудь из коробочек и подписать её буквой x. «Присвоить значение переменной x» — это вытряхнуть содержимое из коробочки x и положить в неё новое значение.

Пока мы будем работать только с целочисленными переменными. Пусть мы хотим взять из горы неподписанных специальных коробочек для целых чисел две штуки и назвать их x и y. На языке C++ это будет записано как:

Слово int означает, что переменные будут целочисленные, затем перечисляются имена создаваемых переменных через запятую. В конце ставится точка с запятой.

Если мы хотим присвоить значение переменной, то слева следует написать имя присваиваемой переменной, затем знак равно, а справа — арифметическое выражение, в котором могут использоваться числа и другие переменные. Например:

В результате выполнения этих операций в переменной x окажется число 5, а в переменной y — число 20.

Переменные также можно считывать с клавиатуры. Для этого по аналогии с потоком вывода cout используется поток cin (console input). Этот как раз тот конвейер, по которому к нам приезжают числа. Как и в случае cout, вводимые значения разделяются стрелочками, только теперь они направлены вправо, так как мы забираем данные из потока cin.

Задача 1. Ввести одно число и вывести это число, увеличенное на 1.

Добавим строчки ввода и вывода данных. Данная программа при запуске откроет консоль и будет ожидать, пока пользователь не наберёт целое число. После нажатия клавиши Enter число будет размещено в переменной a. Далее оно увеличится на единицу и будет выведено обратно на консоль:

Обратите внимание, что при чтении из cin стрелочки направлены в противоположную по сравнению с cout сторону. Мы «забираем» данные из потока ввода cin и «кладём» в cout .

Задача 2. Ввести с клавиатуры два числа и вывести их сумму.

Рассмотрим теперь пример программы, которая считывает с клавиатуры два числа a и b и выводит на экран их сумму:

Данная программа при запуске откроет консоль и будет ожидать, пока пользователь не наберёт два целых числа, разделённых пробелом или переводом строки (нажатием Enter). После нажатия клавиши Enter первое число будет размещено в переменной a , а второе число - в переменной b . Далее будет выведена на консоль сумма этих двух чисел.

Обратите внимание, что если мы хотим считать несколько переменных, то при перечислении их следует разделять стрелочками. Строку

можно заменить строками

которые будут делать то же самое.

Задача 3. Ввести с клавиатуры три числа и вывести суммы первого и второго чисел, первого и третьего, второго и третьего, сумму всех трех чисел и их произведение.

Следующая программа запрашивает три целых числа a , b, c . Программа в первой строке выводит сумму a +b , во второй строке a +c , в третьей строке b +c , в четвёртой, через пробел сумму всех трёх переменных и их произведение:

В C++ на целые числа типа int отводится 4 байта (32 бита). А это значит, что различных целых чисел может быть только 2 32 . Числа могут принимать значения от −2 31 до 2 31 −1 (это примерно от минус двух миллиардов до двух миллиардов). Если в процессе вычислений произойдёт выход за эти пределы, то результат будет посчитан неверно. Использование принципиально больших чисел требует ухищрений, поэтому в наших задачах все числа и все правильные промежуточные вычисления не будут выходить за эти пределы.

3. Изощрённый вывод

В cout также можно класть несколько значений, причём числа и строки могут идти вперемешку. Рассмотрим это на примере.

Задача 4. Ввести два числа и вывести их сумму и разность в виде арифметических выражений.

Пусть нам нужно считать два числа и вывести их сумму и разность в виде арифметического выражения, каждое в отдельной строке. Решение этой задачи выглядит так:

Если ввести числа 1 и 2, то на экран будет выведено:

1 + 2 = 3 1 - 2 = -1

Все различные значения, которые мы хотим вывести с помощью cout, следует разделять стрелочками <<. На место переменных и арифметических выражений будет подставлено их значение, а всё, что выводится в кавычках, останется без изменения. Особого внимания заслуживает слово endl — так в C++ делается переход на новую строку.

Если вы выводите несколько чисел, то обязательно добавляйте между ними пробел, иначе они склеятся и ответ будет неправильным.

Задача 5. Предположим, пассажир самолёта перепутал дверь туалета с выходом и случайно вышел на высоте. Приземлился он через t секунд, и нужно определить, на какой высоте летел самолёт.

Эту задачу можно решать так, как обычно решаются задачи по физике. Ускорение свободного падения нам известно (поскольку наши числа целые, то мы возьмём его равным 10). Мы посчитаем скорость (v), на которой пассажир достиг земли, затем среднюю скорость (vm, это конечная скорость, поделенная на 2) и, зная среднюю скорость и время, легко рассчитаем расстояние.

В этом решении мы заводили переменные там, где они нам понадобились впервые, а также сразу клали в переменную заданное число при её создании.

Задача 6. Написать программу, которая запрашивает шестиразрядное число и выводит только его три старших разряда.

Рассмотрим упрощенный вариант задачи: Вводится двузначное число. Вывести его старший разряд. Например, вводим число 49. Тогда старший разряд - это 4. Как его определить? В двузначном числе старший разряд - это разряд десятков, и для того, чтобы его найти, достаточно разделить исходное число на 10 (с учетом, что у нас есть операция целочисленного деления /). 49 / 10 = 4, что и требовалось получить. Если вводится трехзначное число и нужно получить два старших разряда, то разделив его снова на 10, мы как раз и получим уже два разряда. Например, вводим 395, делим на 10: 395 / 10 = 39, получаем два старших разряда. В нашем задании вводится шестизначное число, требуется получить три старших разряда. Тогда по аналогии: 123456 / 1000 = 123 Задача 7. Д аны два числа a и b , причём b > 0 . Надо посчитать целую часть от деления a на b , округлённую вверх.

Рассмотрим, как решить совсем простую на первый взгляд задачу, которая превращается в достаточно сложную из-за того, что мы мало что умеем и знаем. Напомню, что при делении C++ округляет результат вниз, не так, как нам нужно.

Первая идея — разделить с округлением вниз и прибавить к результату единицу. Эта идея неправильная: она не работает, если одно число делится на другое нацело. Так 8 / 2 + 1 будет равно 5, хотя правильный ответ 4.

Следующая идея, правильная, — прибавить к числу что-нибудь и затем разделить его с округлением вниз. Осталось понять, что же нужно прибавлять к числу. Если число a делится на b нацело, то результат не должен изменяться, значит, нельзя прибавлять к числу a что-либо большее b − 1 (если прибавить больше, то результат деления получится уже больше правильного). Можно ли прибавить что-нибудь меньшее b − 1? Рассмотрим «худший» случай, когда остаток от деления a на b равен единице, например, a = 11, b = 5. Тогда мы сложим a и b − 1 (получим 15) и разделим на 5 — получится правильный ответ 3.

Наше решение будет работать и для отрицательных чисел за счёт особенностей деления на C++. Полный код решения выглядит так:

6. Как решать задачи в проверочной системе Contester

У каждой задачи в вашем домашнем задании в системе проверки Contester есть условие, формат входных и выходных данных и примеры. В условии содержится описание задачи, которую нужно решить. В формате входных данных сказано, какие числа вводятся и в каком порядке они даны, а также указаны ограничения на эти числа. Гарантируется, что чисел будет столько, сколько нужно, и они будут удовлетворять ограничениям. Вам нужно решить задачу только для указанных ограничений. Как программа будет работать для чисел, не удовлетворяющих ограничениям — абсолютно неважно, таких тестов не будет. В формате выходных данных указывается, что и в каком порядке программа должна выводить — ничего, кроме этого, в решении быть не должно.

Примеры к задаче нужны для лучшего понимания условия и первоначальной самопроверки. Естественно, программа должна работать не только на примерах, но и на любых других допустимых входных данных.

Если программа работает правильно, то она получит статус OK. Если программа получила другой статус — вам следует придумать тесты, удовлетворяющие ограничениям, и проверить работу своей программы. Обязательно найдётся ошибка. Наша тестирующая система работает правильно. Наши тесты правильные. Правильные ответы к нашим тестам правильные. Это точно. Мы проверяли много раз. И не только мы.

7. Правила оформления кода

Программы нужно писать красиво, иначе их будет неудобно читать. На реальной работе программы много раз читаются и переписываются другими людьми, поэтому соблюдать правила оформления кода очень важно. Если в общем, то главное правило — «делайте как в образце». Если конкретно:

1. После открывающейся фигурной скобки добавляется отступ в начале строки, на строке с закрывающейся фигурной скобкой отступ убирается.
2. Все бинарные операции (+,−, *, /, %, =, <<, >>) окружаются пробелами.
3. После унарного минуса пробел не ставится (−5 нужно писать слитно).
4. Перед знаками препинания (запятая и точка с запятой) пробел не ставится, после — ставится.
5. После открывающейся и перед закрывающейся круглой скобкой пробел не ставится.
6. Если в условии задачи сказано «на вход даются два числа A и B», то переменные, в которые считываются эти числа, должны называться так же, но маленькими буквами (a и b соответственно).

Ваши коллеги будут очень благодарны вам, если вы будете соблюдать правила оформления кода.

Читайте также: