- •Ознакомьтесь со структурой среды Turbo Pascal 7.0. Запишите основные команды работы в среде.
- •В следующем пк представлены операции, допустимые при работе с целыми данными.
- •Протестируйте пк на следующей серии данных:
- •Для введенного трехзначного числа получить число, образованное путем перестановки цифр сотен и единиц.
- •Идет k-я секунда суток. Определить, сколько целых часов (h) и целых минут (m) прошло с начала суток.
- •Самостоятельная работа:
Дано двузначное целое число. Определить: сумму и произведение цифр числа; число, образованное перестановкой цифр исходного числа.
Математическая запись
a - введенное двузначное число
k1= Ост(а /10) {последняя цифра числа}
k2= а/10 {первая цифра числа }
s= k1+k2 {сумма цифр числа}
p= k1*k2 {произведение цифр числа}
b= k1*10+k2 {перестановка местами цифр числа}
Программный код
Program z;
Var a,b,k1,k2,s,p:integer;
Begin
Reanln(a);
k1:=a mod 10;
k2:=a div 10;
s:= k1+k2;
p:=k1*k2;
b:=k1*10+k2;
Writeln('Cymma 's, ' Proizvedenie ', p, 'Perestanovka ', b);
End.
Тестирование
1) a= 10; s=1; p=0; b=1; 2) a=15; s=6; p=5; b=51;
Легенда
Имя
Тип
Класс
Описание
a
целое
входное
число
b
целое
выходное
число
k1
целое
рабочее
число
k2
целое
рабочее
число
s
целое
выходное
число
p
целое
выходное
число
Блок-схема
Для введенного трехзначного числа получить число, образованное путем перестановки цифр сотен и единиц.
-
Математическая запись
а – введенное трехзначное число
k – полученное перестановкой цифр сотен и единиц
b= а/100 {первая цифра числа А}
a= Ост(а /100) {уменьш. число на разряд сотен}
c= Ост(а /10) {последняя цифра числа А}
a= а/10 {средняя цифра числа}
k=c*100+a*10+b {соединение цифр в число}
Программный код
Program Action;
Var а,b,c,k: Integer;
Begin
Readln(a);
b:=a div 100;
a:= a mod 100;
c:= a mod 10;
a:= a div 10;
k:= c*100+a*10+b;
Writeln(k);
End.
Тестирование
1) a= 153;
k=351;
2) a=805;
k=508;
Блок-схема
Легенда
Имя
Тип
Класс
Описание
a
целое
входное
число
b
целое
рабочее
число
с
целое
рабочее
число
k
целое
выходное
число
Идет k-я секунда суток. Определить, сколько целых часов (h) и целых минут (m) прошло с начала суток.
Например: Если k=13257=3*3600+40*60+57, то h=3, m=40.
Вывести на экран фразу: «It is … hours…minutes». Вместо многоточия вывести значения соответствующих переменных.
-
Математическая запись
s – введенное число
h – кол-во часов
m – кол-во минут
Если s>=60 Тогда m= s \60; s= Ост.(s / 60)
{Если секунд больше 60, тогда находи кол-во минут и секунд}
Если m >=60 Тогда h= m \60; m= Ост.(m / 60); {Если минут больше 60, тогда находи кол-во часов и минут}
Программный код
Program Action;
Uses crt;
Var s,h,m: Integer;
Begin
Readln(s);
If s>=60 Then begin m:= s div 60; s:= s mod 60; end;
If m>=60 Then begin h:=m div 60; m:=m mod 60; end;
Writeln('It is ', h, ' hours ', m, 'minutes');
End.
Тестирование
1) s= 13257; h=3, m=40
Легенда
Имя
Тип
Класс
Описание
s
целое
входное
число
h
целое
выходное
число
m
целое
выходное
число
Блок-схема
Самостоятельная работа:
1. Минутная стрелка повернулась с начала суток на F градусов (0<= F<360). Определить, сколько сейчас целых минут и целых секунд.
-
Математическая запись
g – введенное кол-во градусов
m– кол-во минут
s – кол-во секунд
Если f>=6 Тогда
m= f \ 6;
s= Ост.(f / 6)
{Если кол-во градусов больше 6, то находим кол-во минут и секунд}
Программный код
Program Action;
Uses crt;
Var f,s,m: Integer;
Begin
Readln(f);
If f>=6 Then begin
m:= f div 6;
s:= f mod 6;
end;
Writeln(m, ' min ', s, ' sek');
End.
Тестирование
f= 300;
m = 50; s=0;
Блок-схема
Легенда
Имя
Тип
Класс
Описание
f
целое
входное
число
s
целое
выходное
число
m
целое
выходное
число
Пусть в школе проходит ежедневно пять уроков шесть дней в неделю. Тогда в неделе всего 30 уроков. По введенному номеру дня d (от 1 до 6) и номеру урока l (от 1 до 5) вывести порядковый номер этого урока в недели. И наоборот, по введенному номеру урока в недели (от 1 до 30) вывести номер дня и номер урока в дне.
-
Математическая запись
d – введенный номер дня
l – введенный номер урока
n – выведенный номер урока в неделе
n=d*5+l
n – введенный номер урока в неделе
d – выведенный номер дня
l – выведенный номер урока
d= n \ 5 +1
l=n – (n \ 5)*5
Программный код
Program Action;
Uses crt;
Var d,l,n: Integer;
Begin
Write('номер дня ');
readln(d);
Write('номер урока ');
readln(l);
n:=(d-1)*5+l;
Writeln('порядковый номер этого урока в неделе ',n);
Write(‘Введите номер урока в неделе’); Readln(n);
d= n div 5 +1;
l:=n – (n div 5)*5;
Writeln('номер дня ', d);
Writeln('номер урока ', l);
End.
Тестирование
d=5; l=3; n=23 2) n=14 d=3; l=4;
Блок-схема
SHAPE \* MERGEFORMAT
Легенда
Имя
Тип
Класс
Описание
d
целое
входное/ выходное
номер дня
l
целое
входное/ выходное
номер урока
n
целое
входное/ выходное
номер урока в неделе