Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Оператор выбора



Case выражение of

Список значений 1: оператор 1;

Список значений 2: оператор 2;

Список значений n: оператор n;

else оператор;

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(‘Четвёртый этаж’);

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(‘Первый подъезд. Четвёртый этаж’);

17, 18, 19, 20: writeln(‘Первый подъезд. Пятый этаж’);

21, 22, 23, 24: writeln(‘Второй подъезд. Первый этаж’);

25, 26, 27, 28: writeln(‘Второй подъезд. Второй этаж’);

29, 30, 31, 32: writeln(‘Второй подъезд. Третий этаж’);

33, 34, 35, 36: writeln(‘Второй подъезд. Четвёртый этаж’);

37, 38, 39, 40: 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 г. — Год Крысы — начало очередного цикла.

Program Goroskop;

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;   repeat оператор 1; оператор 2; … оператор n; untilусловие;   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;

Uses Crt;

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;

Uses Crt;

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;

Uses Crt;

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;

Uses Crt;

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 включительно).

Program dectoroman;

Uses Crt;

const rom: array[1..13]of string[2] = ('I’, ‘IV’, ‘V’, ‘IX’, 'X', 'XL', 'L', 'XC', 'С', 'CD', 'D', 'CM', 'M');

dec: array[1..13]of word = (1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000);

var n:word;

s:string;

i: byte;

Begin

Clrscr;

write('Введите число в десятичной системе счисления: ');

readin(n);

s:= ‘ ‘;

i:= 13;

while n <> 0 do

begin

while n >= dec[i]do

begin

n: = n - dec[ i ];

s:= s + rom[i];

end;

i:= i – 1;

end;

writeln('Число в римской системе счисления:', s);

readln;

End.

Кодировка: Пример простой кодировки (сдвиг по ключу)

-----------------------------------------------------------------------------------------------------

Алгоритм: каждый код символа увеличивается на некоторое число - "ключ"

-----------------------------------------------------------------------------------------------------

Program kod;

Uses Crt;

var s: string;

i, key: integer;

Вegin

CIrScr;

writeln('Введите текст');

readln(s);

writeln('Введите ключ (число от 1 до 255)');

readln(key);

for i:=1 to length(s) do s[i]:=char(ord(s[i]) + key);

writeln('Зашифрованный текст: ',s);

readln;

Еnd.

Обработка текста: Разрешение ввода только цифр

----------------------------------------------------------------------------------

На входе - текст с цифрами (но будут вводиться только цифры)

----------------------------------------------------------------------------------

Program number;

Uses Crt;

const ENTER #13;

var c:char;

Вegin

CIrScr;

writeln('Вводите буквы и цифры');

c:=readkey;

while (c<>ENTER) do

begin

if c in ['0'..'9'] then write(c);

c:=readkey;

end;

writeln;

readln;

Еnd.





Дата публикования: 2015-01-04; Прочитано: 312 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.031 с)...