Вопросы и задания
Целочисленным переменным i, j, k нужно присвоить соответственно значения 10, 20 и 30. Запишите оператор ввода, соответствующий входному потоку:
а) 20 10 30
б) 30 20 10
в) 10,30,20
READ ( j, i , k ) ;
READ ( i , k, j ) ;
READ ( k , j, i ) ;
Что является результатом выполнения оператора?
а) write (a)
б) write ('a')
в) write ('a=', a)
Вопросы и задания
Дан фрагмент программы:
a:=10;
b:=a+1 ;
a:=b–a;
write (a, b) ;
Какие числа будут выведены на экран компьютера?
Какой тип имеет переменная f , если после выполнения оператора write (f) на экран было выведено следующее число?
а) 125
b ) 0. 125Е+2
c) 12 . 5Е - 2
write (f : 4: 2 ) – форматный вывод
Операции над целыми числами в языке Паскаль:
Операция
Обозначение
Сложение
Тип результата
+
Вычитание
-
i nteger
Умножение
Получение целого частного
*
i nteger
div
i nteger
Получение целого остатка деления
i nteger
mod
Деление
/
i nteger
r eal
A:=46
X:= A mod 5
Y:= A div 5
X = 1
Y = 9
Признак делимости числа A на B
( А кратно В):
A mod B = 0
Стандартные функции языка Паскаль:
Функция
Назначение
abs ( x )
Тип аргумента
Модуль x
sqr ( x )
sqrt ( x )
Тип результата
i nteger, real
Квадрат x
Квадратный корень из x
round ( x )
i nteger, real
Такой же, как у аргумента
Такой же, как у аргумента
i nteger, real
Округление х до ближайшего целого
int ( x )
real
real
Целая часть x
frac ( x )
real
Дробная часть x
random
real
Случайное число
от 0 до 1
random ( x )
-
Случайное число
от 0 до x
real
i nteger
i nteger
Функция random
randomize ; используется для генерации различных случайных чисел при каждом запуске программы
С:=random; случайное число в диапазоне от 0 до 1
С:=random(x); случайное число в диапазоне от 0 до Х-1
В := random( B-A )+ А; случайное число в диапазоне ( А , B)
Например: В - случайное число в диапазоне (50; 70)
В := random (20)+ 5 0 ;
С - случайное число в диапазоне (-50; 70)
В := random (120) - 50 ;
К - случайное число в диапазоне (20; 21)
В := random +20;
Исследование функций round , int и frac
program n_3;
var x: real;
begin
write (' Введите x:');
readln (x);
writeln ( 'Округление - ', round(x));
writeln ( 'Целая часть - ', int(x));
writeln ( 'Дробная часть - ', frac(x))
end.
Выполните программу несколько раз для
x {10,2; 10,8; –10,2; –10,8}.
Какой будет тип результата каждой из этих функций?
?
Операции div и mod
Трёхзначное число можно представить в виде следующей суммы: x = a ·100 + b ·10 + c , где а, b, с - цифры числа.
Программа нахождения суммы цифр вводимого с клавиатуры целого трёхзначного числа.
program n_4;
var x, a, b, c, s: integer;
begin
write ( 'Введите исходное число : ');
readln (x);
a:=x div 100;
b:= x mod 100 div 10;
c:=x mod 10;
s:=a+b+c ;
writeln ('s= ', s) ;
end.
375
375 : 100 = 3 (oc.75)
375 : 100 = 3 (oc. 75 ) 75 : 10 = 7 (oc. 5)
375 : 10 = 37 (oc. 5 )
Запишите на языке Паскаль программу, реализующую алгоритм работы кассира, выдающего покупателю сдачу ( s ) наименьшим количеством банкнот по 500 ( k 500), 100 ( k 100), 50 ( k 50) и 10( k 10) рублей.
Пример входных данных
Пример выходных данных
845
Следует сдать:
банкнот по 500 руб. – 1 шт.
банкнот по 100 руб. – 3 шт.
банкнот по 50 руб. – 0 шт.
банкнот по 10 руб. – 4 шт.
Запишите на языке Паскаль программу, которая для произвольного двузначного числа определяет:
а) сумму и произведение его цифр;
б) число, образованное перестановкой цифр исходного числа.
Идёт k -я секунда суток. Разработайте программу, которая по введённой k -й секунде суток определяет, сколько целых часов h и целых минут m прошло с начала суток.
Например, если k =13257=3 х 3600 + 40 х 60 + 57,
то h =3 и m = 40.
Выведите на экран фразу : It is … hours … minutes .
Вместо многоточий программа должна выводить значения h и m , отделяя их от слов ровно одним пробелом.
Пример входных данных
13 257
Пример выходных данных
It is 3 hours 40 minutes.
Задача: Вычисление длины окружности и площади круга по её радиусу
program n_1;
const pi=3.14;
var r, c, s: real ;
begin
r:=5.4;
c :=2*pi*r;
s:=pi*r*r;
writeln ('c =', c :6:4);
writeln ('s=', s:6:4)
end.
Улучшенная программа
program n_1;
const pi=3.14;
var r, c, s: real;
begin
writeln( 'Вычисление длины окружности и площади круга ');
write(' Введите r');
readln(r);
c:=2*pi*r;
s:=pi*r*r;
writeln ('c =', с:6:4);
writeln ('s=', s:6:4)
end .
Дано четырехзначное число. Составьте программу для нахождения:
- Суммы крайних цифр
- Произведение средних цифр
- Вывода данного числа в обратном порядке
- Перестановки местами крайних цифр
- Перестановки местами цифр стоящих в середине
- Двухзначного числа, состоящего из цифры сотен и цифры единиц исходного.
- Среднего арифметического всех его цифр
- Двухзначного числа, состоящего из цифры тысяч и цифры десятков исходного.