begin1-10

Решение задач. День первый. Задачи Begin1-10.

Итак, с сегодняшнего дня мы начинаем вести новую рубрику: «Решение задач», в которой будем рассматривать задачи, взятые из сборника М.Э.Абрамяна «1000 ЗАДАЧ ПО ПРОГРАММИРОВАНИЮ».

Открыв задачник и прочитав аннотацию, Вы, скорее всего, озадачитесь тем, что данное пособие предназначено для  студентов механико-математического, физического и экономического факультетов, но смею Вас заверить, что это весьма универсальная книга, которая подходит как студентам, так и школьникам. Возможно, задачи из первых разделов книги покажутся Вам простыми — в этом случае используйте наш разбор только для проверки своих решений; но если же по каким-либо причинам решить задачи Вы не в состоянии, то тогда присоединяйтесь к нам.

Begin1. Дана сторона квадрата a. Найти его периметр P = 4·a.

Прежде всего напомню, что для ввода и вывода информации, в Паскале используют следующие операторы:

  • Read (Readln) — ввод значений с клавиатуры;
  • Write (Writeln) — вывод результата (и вообще чего-либо) на экран.
Блок-схема
Блок-схема

Таким образом, решение задачи становится очевидным.

Решение Показать

Begin2. Дана сторона квадрата a. Найти его площадь S = a2.
При решении данной задачи воспользуемся функцией sqr. Можно, конечно, вычислять квадрат, умножая число само на себя (S=a*a), но при вводе действительно больших чисел наша программа будет выполняться гораздо дольше, нежели при использовании sqr.

Блок-схема
Блок-схема
Решение Показать

Begin3°. Даны стороны прямоугольника a и b. Найти его площадь S = a·b и периметр P = 2·(a + b).

Да, задача по сути своей проста и подобна предыдущим, поэтому поскорее составим к ней решение и перейдем к следующей.

Блок-схема
Блок-схема
Решение Показать

Begin4. Дан диаметр окружности d. Найти ее длину L = π·d. В качестве значения π использовать 3.14.

У вас, наверняка, возникает вопрос π — это константа или переменая? Так как π не изменяется в течение программы, π — константа. Вообще в Паскале уже встроена такая константа, но ее значение:

Pi 3.14159265358979.

А так как в условии задачи указано, что в качестве значения π нужно использовать 3.14, то следует объявить π в разделе описания констант.

Блок-схема
Блок-схема
Решение Показать

Begin5. Дана длина ребра куба a. Найти объем куба V = a3 и площадь его поверхности S = 6·a2.

Для решения задачи используем функцию power(x,a) , где a — степень , x — число возводимое в степень (разумеется, использовать ее мы будем только для возведения числа в третью степень, квадрат числа по-прежнему находим с помощью sqr(x) ).

Блок-схема
Блок-схема
Решение Показать

Begin6.Даны длины ребер a, b, c прямоугольного параллелепипеда. Найти его объем V = a·b·c и площадь поверхности S = 2·(a·b + b·c + a·c).

Блок-схема
Блок-схема
Решение Показать

Begin7°. Найти длину окружности L и площадь круга S заданного радиуса R:
                  L = 2·π·R,   S = π·R2.
                  В качестве значения π использовать 3.14.

Блок-схема
Блок-схема
Решение Показать

Begin8. Даны два числа a и b. Найти их среднее арифметическое: (a + b)/2.

Блок-схема
Блок-схема
Решение Показать

Begin9. Даны два неотрицательных числа a и b. Найти их среднее геометрическое, то есть квадратный корень из их произведения: √(a*b).

Напомню, что для нахождения квадратного корня мы используем функцию sqrt.

Блок-схема
Блок-схема
Решение Показать

 

Begin10. Даны два ненулевых числа. Найти сумму, разность, произведение и частное их квадратов.

Блок-схема
Блок-схема
Решение Показать

 

Ну вот и все. Следующая публикация с решением задач выйдет в ближайшие дни.

Всем удачи и веселого Нового года:)

  • KVIN

    Хочу сказать большое спасибо автору. Но здесь есть ошибка. Тут написано правильно площадь его поверхности S = 6·a2. . А в коде s := sqr(a);. Нужно исправить на s:=6*sqr(a);

    • спасибо, что нашли ошибку. очень приятно иметь внимательных читателей.

  • Vlad Odinets

    Супер сайт. Объясняете понятнее чем в школе.

  • Falkot Emou

    Cпасибо , ясно доходчиво и понятно!

  • user

    Какая версия pascal используется в уроках? turbo pascal, object pascal или free pascal?

    • alen_marzz

      PascalABC.net
      Или просто Pascal ABC. Редко это существенно

  • Инна

    Прошу прощения. В пятом задании нужно найти площадь поверхности куба. В решении есть такая строка:
    writeln(‘Плошадь ребра куба — ‘, s);
    во-первых, не плоШадь, а плоЩадь, но это не существенно (и да, я придираюсь), во-вторых, площадь. ребра. куба. Ребро — отрезок. Уж лучше написать «Площадь поверхности куба».

    • alen_marzz

      Спасибо. Исправлено 🙂