Программа, определяющая этаж по введённому с клавиатуры номеру квартиры (в пятиэтажном доме один подъезд по четыре квартиры на каждом этаже).
Program dom;
Uses Crt;
var х : Integer;
Begin
Clrscr;
write('Введите номер квартиры: ');
readln(x);
Case x of
1, 2, 3, 4: writeln(‘Первый этаж’);
5, 6, 7, 8: writeln(‘Второй этаж’);
9, 10, 11, 12: writeln(‘Третий этаж’);
13, 14, 15, 16: writeln(‘Четвёртый этаж’);
17, 18, 19, 20: writeln(‘Пятый этаж’);
end;
else writeln(‘Квартиры с таким номером в доме нет’);
readln;
End.
Программа, определяющая номер подъезда и этаж по введённому с клавиатуры номеру квартиры (в пятиэтажном доме два подъезда по четыре квартиры на каждом этаже).
Program dom;
Uses Crt;
var х : Integer;
Begin
Clrscr;
write('Введите номер квартиры: ');
readln(x);
Case x of
1, 2, 3, 4: writeln(‘Первый подъезд. Первый этаж’);
5, 6, 7, 8: writeln(‘Первый подъезд. Второй этаж’);
9, 10, 11, 12: writeln(‘Первый подъезд. Третий этаж’);
13, 14, 15, 16: writeln(‘Первый подъезд. Четвёртый этаж’);
else writeln(‘Квартиры с таким номером в доме нет’);
end;
readln;
End.
Программа, определяющая по номеру месяца – время года.
Program year;
Uses Crt;
var х : Integer;
Begin
Clrscr;
write('Введите номер месяца: ');
readln(x);
Case x of
12, 1, 2: writeln(‘Зима’);
3, 4, 5: writeln(‘Весна’);
6, 7, 8: writeln(‘Лето’);
9, 10, 11: writeln(‘Осень’);
end;
readln;
End.
В старояпонском календаре был принят двенадцатилетний цикл. Годы "внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, петуха, собаки и свиньи. Написать программу, которая позволяет ввести номер года и печатает его название по старояпонскому календарю.
Справка: 1996 г. — Год Крысы — начало очередного цикла.
ProgramGoroskop;
Uses Crt;
var Year : integers;
Begin
Clrscr;
write('Введите год ');
readln(Year);
Case Year mod 12 of
0: writeln('Год Обезьяны');
1: writeln(' Год Петуха');
2: writeln(' Год Собаки');
3: writeln(' Год Свиньи');
4:
writeln(‘
Год Крысы');
5:
writeln(‘
Год Коровы');
6:
:
writeln(‘
Год Тигра');
7:
writeln(‘
Год Зайца');
8:
writeln(‘
Год Дракона');
9:
writeln(‘
Год Змеи');
10:
writeln(‘
Год Лошади');
11:
writeln(‘
Год Овцы');
end;
readln;
End.
Циклы
Цикл с предусловием:
Цикл с постусловием:
Цикл со счётчиком:
while условие do
begin
оператор 1;
оператор 2;
…
оператор n;
end;
for переменная:= начальное значение to конечное значение do
begin
оператор 1;
оператор 2;
…
оператор n;
end;
Программа, выводящая на экран сто символов (*).
Цикл с предусловием:
Цикл с постусловием:
Program Star;
Uses Crt;
var х : Integer;
Begin
Clrscr;
x:=1;
while x<100 do
begin
write(‘*’);
x:=x+1;
end;
readln;
End.
Program Star;
Uses Crt;
var х : Integer;
Begin
Clrscr;
x:=1;
repeat
write(‘*’);
x:=x+1;
untilx>=100;
readln;
End.
Цикл со счётчиком:
(1 способ)
(2 способ)
Program Star;
Uses Crt;
var х : Integer;
Begin
Clrscr;
for x:=1 to 100 do
begin
write(‘*’);
end;
readln;
End.
Program Star;
Uses Crt;
var х : Integer;
Begin
Clrscr;
for x:=100 downto 1 do
begin
write(‘*’);
end;
readln;
End.
Программа, вычисляющая факториал числа, введённого с клавиатуры.
Цикл с предусловием:
Цикл с постусловием:
Program Faktorial;
Uses Crt;
var i, х, s : Integer;
Begin
Clrscr;
write(‘Введите число’);
readln(x);
i:=1; s:=1;
while i<x do
begin
s:=s*i+s;
i:=i+1;
end;
writeln(‘Факториал числа’, x, ‘=’, s);
readln;
End.
Program Faktorial;
Uses Crt;
var i, х, s : Integer;
Begin
Clrscr;
write(‘Введите число’);
readln(x);
i:=1; s:=1;
repeat
s:=s*i+s;
i:=i+1;
untili>x;
writeln(‘Факториал числа’, x, ‘=’, s);
readln;
End.
Цикл со счётчиком:
Program Faktorial;
Uses Crt;
var i, х, s : Integer;
Begin
Clrscr;
write(‘Введите число’);
readln(x);
i:=1; s:=1;
for i=1 to x do s:=s*i+s;
writeln(‘Факториал числа’, x, ‘=’, s);
readln;
End.
Программа, вычисляющая сумму слагаемых .
Цикл с предусловием:
Цикл с постусловием:
Program summa;
Uses Crt;
var i, s : Integer;
Begin
Clrscr;
i:=1; s:=0;
while i<100 do
begin
s:=1/i+s;
i:=i+1;
end;
writeln(‘Сумма элементов равна’, s);
readln;
End.
Program summa;
Uses Crt;
var i, s : Integer;
Begin
Clrscr;
i:=1; s:=0;
repeat
s:=1/i+s;
i:=i+1;
untili>100;
writeln(‘Сумма элементов равна’, s);
readln;
End.
Цикл со счётчиком:
Program summa;
Uses Crt;
var i, х, s : Integer;
Begin
Clrscr;
i:=1; s:=0;
for i=1 to 100 do s:=1/i+s;
writeln(‘Сумма элементов равна’, s);
readln;
End.
Программа вывода таблицы соответствия между температурными шкалами Цельсия и Фаренгейта в интервале температур от 0ºС до 100ºС.
Цикл с предусловием:
Цикл с постусловием:
Рrogram Celsius to Fahrenheit;
Uses Crt;
var i, Celsius: Integer; Fahrenheit: real;
Вegin
Clrscr;
writeln("Таблица соответствия между температурными шкалами');
writeln('Цельсия и Фаренгейта');
writeln;
i:=0;
while i <= 20 do
begin
Celsius := 5 * i;
Fahrenheit := 32 + Celsius * 9 div 5;
write(‘ С =' , Celsius) ;
write(‘ F =', Fahrenheit);
writeln;
i:=i+1;
end;
readln;
End.
Рrogram Celsius to Fahrenheit;
Uses Crt;
var i, Celsius: Integer; Fahrenheit: real;
Вegin
Clrscr;
writeln("Таблица соответствия между температурными шкалами');
writeln('Цельсия и Фаренгейта');
writeln;
i:=0;
repeat
Celsius := 5 * i;
Fahrenheit := 32 + Celsius * 9 div 5;
write(‘ С =' , Celsius) ;
write(‘ F =', Fahrenheit);
writeln;
i:=i+1;
until i>20;
readln;
End.
Цикл со счётчиком:
Рrogram Celsius to Fahrenheit;
Uses Crt;
var i, Celsius: Integer; Fahrenheit: real;
Вegin
Clrscr;
writeln("Таблица соответствия между температурными шкалами');
writeln('Цельсия и Фаренгейта');
writeln;
for i := 0 to 20 do
begin
Celsius := 5 * i;
Fahrenheit := 32 + Celsius * 9 div 5;
write(‘ С =' , Celsius) ;
write(‘ F =', Fahrenheit);
writeln;
end;
readln;
End.
Программа, загадывающая число от 0 до 10. Если пользователь его угадывает, то программа поздравляет его, а если нет, то просит попытаться ещё раз, но убавляя количество призовых баллов.
Рrogram roulette;
Uses Crt;
var number, guess, bonus: byte;
Вegin
Clrscr;
bonus:=10;
Randomize;
number := Random(ll);
writeln('Задумано целое число от 0 до 10. Угадайте!');
writeln;
wr1teln('Введите целое число от 0 до 10');
readln(guess);
while guess<> number do
begin
Dec(bonus);
writeln('Bы не угадали.');
writeln;
if guess < number then writeln('Ваше число меньше задуманного')
else
writeln('Ваше число больше задуманного');
writeln('Попытайтесь еще раз!');
readln(guess);
end;
writeln('Поздравляю! Вы угадали и набрали ', bonus, ' очков');
readln;
Еnd.
Вычисление произведения пары неотрицательных вещественных чисел вводимых с клавиатуры и сумму всех чисел.
Program cycle;
Uses Crt;
var x, y, sum: real;
otv: char;
Begin
Clrscr;
sum:=0;
repeat
write('Введите числа x,y > 0 ');
readln(x,y);
writeln('Их произведение = ',x*y:8:3);
sum:=sum+x+y;
write('Завершить программу (Д/Н)? ');
readln(otv);
until (otv='Д') or (otv='д');
writeln('Общая сумма = ',sum:8:3);
readln;
End.
Программа, определяющая является ли число совершенным. Число является совершенным, если оно равно сумме всех своих делителей, включая единицу. (Например 6=1+2+3, 28=1+2+4+7+14).
Program sover;
Uses Crt;
var а, i, s : Integer;
Begin
Clrscr;
write('Введите целое число а:');
readln(a);
s := 0;
for i := 1 to a div 2 do
if a mod i = 0 then
begin
s : = s + i;
write('+', i);
end;
if s =a then writeln('Число ', a, 'совершенное')
else writeln('Число ', a, ' не совершенное');
readln;
End.
Программа печати всех делителей натурального числа A.
Program delit;
UsesCrt;
var a,n,c,d:word;
Вegin
CIrScr;
readln( a );
n:=1;
while ( n <= sqrt(a) ) do begin
c:=a mod n;
d:=a div n;
if c = 0 then begin
writeln( n );
if n <> d then writeln( d );
end;
inc( n );
end;
readln;
Еnd.
Программа печати всех совершенных чисел до 10000.
Program strong;
UsesCrt;
var n,i,j,s,lim,c,d : word;
Вegin
CIrScr;
for i:=1 to 1000 do
begin
s:=1; lim:=round(sqrt(i));
for j:=2 to lim do
begin
c:=i mod j;
d:=i div j;
if c = 0 then
begin
inc(s,j);
if (j<>d) then inc(s,d); {дважды не складывать корень числа}
end;
end;
if s=i then writeln(i);
end;
readln;
Еnd.
Программу вывода на экран всех простых чисел до 500.
Program prost;
UsesCrt;
const LIMIT = 500;
var i,j,lim : word;
Вegin
CIrScr;
writeln; {перевод строки, начинаем с новой строки}
for i:=1 to LIMIT do begin
j:=2; lim:=round(sqrt(i));
while (i mod j <> 0) and (j <= lim) do inc( j );
if (j > lim) then write( i,' ' );
end;
readln;
Еnd.
Подсчет суммы цифр числа.
Program summa;
UsesCrt;
var a,x: integer;
i,s: integer;
Вegin
CIrScr;
writeln('введите целое число');
readln( a ); x:=a;
s:=0;
while ( x<>0 ) do
begin
s := s + (x mod 10);
x := x div 10;
end;
writeln( 'Сумма цифр числа ',a,' = ', s );
readln;
Еnd.
Программа перевода чисел из десятичной системы счисления в римскую (от 1 до 3999 включительно).