Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практические работы для ИС-271.doc
Скачиваний:
0
Добавлен:
31.01.2020
Размер:
3.07 Mб
Скачать

Лабораторная работа № 5. Разработка программы для решения текстовой задачи в среде Turbo Pascal 7.0.

Цель работы:

  • закрепить практические умения осуществлять постановку задачи по ее текстовому описанию

  • научиться составлять программы, реализующих простые линейные алгоритмы

  • закрепить практические навыки по организации отладки программы и контрольного просчета

Оборудование:

  • программная часть – интегрированная среда Turbo Pascal 7.0

  • аппаратная часть - ПЭВМ IBM PC/XT

  • задание на выполнение работы в электронном варианте

Теоретическая часть

Если приглядеться к любой задаче, то увидим, что она представляет собой требование или вопрос, на который надо найти ответ, опираясь и учитывая те условия, которые указаны в задаче. Поэтому, приступая к решению какой-либо задачи, надо ее внимательно изучить, установить, в чем состоят ее требования (вопросы), каковы условия, исходя из которых, надо решать задачу. Все это называется анализом задачи.

Получив задачу, надо сначала внимательно ее прочитать. Первое, что можно заметить при чтении любой задачи, это то, что в ней есть определенные утверждения и требования. Часто требование формулируется в виде вопроса. Но всякий вопрос предполагает требование найти ответ на этот вопрос, а поэтому всякий вопрос можно заменить требованием. Как мы знаем из любой задачи, что формулировка состоит из нескольких утверждений и требований. Утверждения задачи называются условиями задачи.

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

Иными словами, анализ задачи всегда направлен на требования задачи. Анализируя условия задачи, можно заметить, что каждое из них состоит из одного или нескольких объектов и некоторой их характеристики. Если в условии один объект, то указывается его характеристика в виде некоторого свойства этого объекта; если же объектов два, то характеристикой служит некоторое отношение этих объектов. После того, как задача проанализирована, ее условие надо как-то записать. Но записывать ее словесно, описательно малоудобно, так как это займет много места и времени. Поэтому надо найти более удобную, более компактную и в то же время достаточно наглядную форму записи результатов анализа задач. Такой формой является схематическая запись задачи.

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

Итак, прочитав условие задачи следует осуществить математизацию предложенного текста, т.е. составить математическую модель, которая может представлять собой уравнение, неравенство или их систему, диаграмму, график, таблицу, функцию и т.д.

Для того, чтобы перевести содержание задачи на математический язык, необходимо тщательно изучить и правильно истолковать его, формализовать вопрос задачи, выразив искомые величины через известные величины и введенные переменные.

Практическая часть

Пример:

1.Составить программу для вычисления площади курга и длины окружности при известном радиусе.

program p1;

var

pi,r,s,l:real;

begin

pi:= 3,14;

writeln ('Vvedite radius');

read (r);

s:=pi*sqr(r);

l:=2*r*pi;

writeln ('Ploshad' kruga ravna ',s);

writeln ('Dlina okruzhnosti ravna',l);

readln;

end.

2. Составить программу для вычисления площади трапеции при известных основаниях и высоте.

program p2;

var

a,b,h,s:real;

begin

writeln ('Vvedite osnovanie);

read (a);

writeln ('Vvedite drugoe osnovanie);

read (b);

writeln ('Vvedite visotu);

read (h);

s:=(a+b)*h/2

writeln ('Ploshad' trapecii ravna ',s);

readln;

end.

3. Пусть заданы координаты трех вершин треугольника А(1;1), В(2;2) и С(-1;2) Вычислить медиану mb и радиус описанной окружности.

Program tran;

Uses crt;

Var

x1,y1, x2,y2, x3,y3,a.b,c,mb,r,x,y,p,s:real;

Begin

Clrsсr;

Writeln (‘Введите координаты’);

Readln(x1,y1, x2,y2, x3,y3);

a:=sqrt(sqr(x3-x2)-sqr(y3-y2)); {Вычисляем длины сторон}

b:=sqrt(sqr(x1-x3)-sqr(y1-y3));

c:=sqrt(sqr(x1-x2)-sqr(y1-y2));

x:=(x1+x3)/2;

{Вычисляем координаты середины стороны b}

y:=(y1+y3)/2

{Вычисляем медиану mb}

mb:=sqrt(sqr(x-x2)-sqr(y-y2));

p:=(a+b+c)/2;

{Вычисляем полупериметр и площадь}

s:=sqrt(p*(p-a)*(p-b)*(p-c));

{Вычисляем радиус и выводим медиану и радиус}

r:=a*b*c/(4*s);

writeln(‘mb=’,mb:5:2);

writeln(‘r=’,r:5:2);

readln;

end.

4. Ввести с клавиатуры скорость и время путника. Напечатать расстояние.

Program Rasst; {комментарии записывают в фигурных скобках}

var

v, t: integer; {объявляем 2 переменные - целые числа}

begin {тело программы записываем с отступом вправо}

Write ('введи v и t '); {печатается приглашение для ввода числа}

Readln (v, t); {запрашиваются с клавиатуры значения для v и t}

Writeln ('S=',v*t); {печатается текст "S=" и результат v*t}

Readln {задержка в "черном" экране, выход - Enter}

end.

Задания для самостоятельного выполнения

  1. Повторить теоретические сведения по теме «Разработка программ линейных алгоритмов в среде Turbo Pascal 7.0.».

  2. Осуществить постановку задачи: определить аргументы и результаты и их взаимосвязь.

  3. Составить блок-схему решения задачи по своему варианту.

  4. Разработать программу в среде Turbo Pascal 7.0.

  5. Подготовить тестовые задания и произвести отладку программы.

  6. Ответить на контрольные вопросы.

  7. Результаты выполнения практической работы оформить в виде отчета.

Индивидуальные задания:

Вариант 1.

Заданы координаты трех вершин треугольника (x1,y1), (x2,y2), (x3,y3). Найти его периметр и площадь.

Вариант 2

Дана сторона равностороннего треугольника. Найти площадь этого треугольника, его высоты, радиусы вписанной и описанной окружностей.

Вариант 3

Найти сумму членов арифметической прогрессии, если известны ее первый член, знаменатель и число членов прогрессии.

Вариант 4

Вычислить высоты треугольника со сторонами a, b, c.

Вариант 5

Даны два числа. Найти среднее арифметическое кубов этих чисел и среднее геометрическое модулей этих чисел.

Вариант 6

Известна длина окружности. Найти площадь круга, ограниченного этой окружностью.

Вариант 7

Составить программу перевода радианной меры угла в градусы, минуты и секунды.

Вариант 8

Н айти площадь равнобедренной трапеции с основаниями a и b и углом при большем основании a.

Вариант 9

Дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба.

Вариант 10

Три сопротивления соединены параллельно. Найдите сопротивление соединения.

Вариант 11

Н айти площадь треугольника, две стороны которого равны a и b, а угол между этими сторонами равен

Вариант 12

Дано a. Не используя никаких функций и никаких операций, кроме умножения, получить a8 за три операции и a10 за четыре операции.

Вариант 13

Вычислить расстояние между двумя точками с данными координатами x1, y1 и x2, y2.

Вариант 14

Вычислить периметр и площадь прямоугольного треугольника по данным длинам двух катетов а и в.

Вариант 15

Треугольник задан величинами углов и радиусом описанной окружности. Найти стороны треугольника.

Вариант 16

Найти площадь кольца, внутренний радиус которого равен r, а внешний - заданному числу R (R>r).

Вариант 17

Дано x. Получить значения -2x+3x2-4x3 и 1+2x+3x2+4x3. Позаботиться об экономии операций.

Вариант 18

Полторы кошки за полтора часа съедают полторы мышки. Сколько мышек съедят X кошек за Y часов.

Вариант 19

Написать программу, которая выводит на экран первые четыре степени числа

Вариант 20

Вычислить длину окружности и площадь круга одного и того же заданного радиуса R.

Вариант 21

Составить программу вычисления объема цилиндра и конуса, которые имеют одинаковую высоту H и одинаковый радиус основания R.

Вариант 22

Даны два действительных числа x и y. Вычислить их сумму, разность, произведение и частное.

Вариант 23

Вычислить корни квадратного уравнения ax2+bx+c=0, заданного коэффициентами a,b и c (предполагается, что a не равно нулю и что дискриминант уравнения неотрицателен).

Вариант 24

Дано действительное число x. Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислить за минимальное число операций 2x4-3x3+4x2-5x+6.

Вариант 25

Найти (в градусах) все углы треугольника со сторонами a, b, c.

Вариант 26

Составить программу для вычисления пути, пройденного лодкой, если ее скорость в стоячей воде v км/ч, скорость течения реки v1 км/ч, время движения по озеру t1 ч, а против течения реки - t2 ч.

Вариант 27

Даны два числа. Найдите среднее арифметическое кубов этих чисел и среднее геометрическое модулей этих чисел.

Вариант 28

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

Вариант 29

Дано a. Не используя никаких функций и никаких операций, кроме умножения, получить a15 за пять операций и a10 за четыре операции.

Вариант 30

Ввести любой символ и определить его порядковый номер, а также указать предыдущий и последующий символы.

Контрольные вопросы

  1. Каким словом обозначается целый тип данных при объявлении переменных? Какие операции применимы для переменых целого типа?

  2. Каким словом обозначается действительный тип данных при объявлении переменных? Какие операции применимы для переменых дестыительного типа?

  3. Каким словом обозначается логический тип данных при объявлении переменных? Какие операции применимы для переменых логического типа?

  4. Каким словом обозначается символьный тип данных при объявлении переменных? Какие операции применимы для переменых символьного типа?

  5. Составьте фрагмент программы, позволяющий объявить переменные a,b,c целого типа, d,e - действительного типа, f,g - логического типа, h,i - символьного типа.

  6. Запишите число 5*10-4 так, чтобы эту запись воспринимал язык Pascal.

  7. Из каких этапов состоит процесс решения текстовой задачи?

  8. Что понимают под матемизацией задачи?