Изучение языка программирования
Турбо Паскаль (Turbo Pascal)

На этом сайте можно: скачать среду программирвания Турбо Паскаль, изучить язык программирования Турбо Паскаль, а так же скачать программы на языке Турбо Паскаль!
Решенные задачи на языке Паскаль



Условия задач взяты из книги - "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 - максимальное количество очков участника.