Условия задач взяты из книги - "TURBO PASCAL ДЛЯ ШКОЛЬНИКОВ" издание третье дополненое, В.Б.Попов, страница 126.
№ 2. Даны круг и квадрат. Составьте программу, определяющую по введенным вами значениям длин стороны квадрата и радиуса круга, верно ли утверждение "Круг вписан в квадрат". (Используйте логическую величину RESULT, принимающую значение TRUE, если утверждение истинно, и значение FALSE, если утверждение ложно.)
VAR kv,kr:word; result:boolean; BEGIN write('Введите длину стороны квадрата:'); readln(kv); readln(kr); result:=kv>=kr; writeln('Утверждение "Круг вписан в квадрат" имеет значение: ', result); END.* переменная kv - длина стороны квадрата
* переменная kr - длина радиуса круга.
№ 4. Составьте программу вычисления суммы цифр введенного с клавиатуры трехзначного натурального числа. Например, для числа 128 сумма цифр 11, для числа 345 сумма цифр 12.
VAR n,n_1,n_2,n_3,o,summa:word; n_s:string; BEGIN write('Введите трехзначное число:'); readln(n); str(n,n_s); val(n_s[1],n_1,o); val(n_s[2],n_2,o); val(n_s[3],n_3,o); summa:=n_1+n_2+n_3; writeln('Сумма цифр равна ',summa); END.* переменные n_1, n_2, n_3 - первая, вторая и третья цифра введенного числа
* переменная o - содержит результат выполнения функции val (если o=0, то функция выполнена успешно)
* переменная n_s - это же введенное число только строкового типа.
№ 6. Напишите программу-модель анализа пожарного датчика в помещении, которая выводит сообщение "Пожароопасная ситуация", если температура (в нашей модели она будет вводиться с клавиатуры) в комнате превысила 60°C.
VAR t:integer; BEGIN write('Введите температуру: '); readln(t); if t>60 then writeln('Пожароопасная ситуация') else writeln('Температура не пожароопасная'); END.
№ 9. Составьте программу, проверяющую, верно ли утверждение, что введеное вами целое число является четным.
VAR n:integer; BEGIN write('Введите целое число: '); readln(n); if n mod 2=0 then writeln('Введеное число является четным!') else writeln('Введенное число является не четным!'); END.
№ 10. Составьте прграмму, проверяющую, верно ли утверждение, что введенное вами целое числоделится без остатка на 3.
VAR n:integer; BEGIN write('Введите целое число: '); readln(n); if n mod 3=0 then writeln('Введеное число делится на 3 без остатка!') else writeln('Введенное число делится на 3 с остатком!'); END.
№ 11. Напишите программу, которая анализирует человека по возрасту и относит к одной из четырех групп: дошкольник, ученик, работник, пенсионер. Возраст вводится с клавиатуры.
VAR vozrast:word; BEGIN write('Введите возраст человека: '); readln(wozrast); write('Этот человек относится к группе '); case wozrast of 0..6: writeln('дошкольник.'); 7..17: writeln('ученик.'); 18..49: writeln('работник.'); 50..99: writeln('пенсионер.'); end; END.
№ 13. Составьте программу, определяющую, лежит ли точка с указанными координатами X, Y на окружности радиуса R с центром в начале координат.
VAR x,y:integer; r:word; BEGIN write('Введите координату X: '); readln(x); write('Введите координату Y: '); readln(y); write('Введите длину радиуса R: '); readln(r); if (sqr(x)+sqr(y))=r then writeln('Точка лежит на окружности!') else writeln('Точка не лежит на окружности!'); END.
№ 14. Составьте программу, определяющую, пройдет ли график функции y=5x2-7x+2 через заданную точку с координатами (a,b).
VAR a,b:integer; BEGIN write('Введите координату a: '); readln(a); write('Введите координату b: '); readln(b); if (5*sqr(a)+7*sqr(a)+2)=b then writeln('График функции проходит через данную точку!') else writeln('График функции не проходит через данную точку!'); END.
№ 15. К финалу конкурса лучшего по профессии "Специалист электронного офиса" были допущены трое: Иванов, Петров, Сидоров. Соревнования проходили в три тура. Иванов в первом туре набрал m1 баллов, во втором - n1, в третьем - p1. Петров - соответственно m2, n2, p2. Сидоров - m3, n3, p3. Составьте программу, определяющую, сколько баллов набрал победитель.
VAR m1,m2,m3,n1,n2,n3,p1,p2,p3,summa1,summa2,summa3,max:word; BEGIN writeln('Введите количество очков Иванова: '); write('I тур - '), readln(m1); write('II тур - '), readln(n1); write('III тур - '), readln(p1); writeln('Введите количество очков Петрова: '); write('I тур - '), readln(m2); write('II тур - '), readln(n2); write('III тур - '), readln(p2); writeln('Введите количество очков Сидорова: '); write('I тур - '), readln(m3); write('II тур - '), readln(n3); write('III тур - '), readln(p3); summa1:=m1+n1+p1; summa2:=m2+n2+p2; summa3:=m3+n3+p3; max:=summa1; if max<summa2 then max:=summa2; if max<summa3 then max:=summa3; writeln('Победитель набрал - ',max,' очков!'); END.* переменные summa1, summa2, summa3 - общая сумма очков за три раунда каждого участника
* переменная max - максимальное количество очков участника.