
- •Содержание
- •Раздел 2.Программирование на процедурном языке turbo pascal 3
- •Раздел 2.Программирование на процедурном языке turbo pascal Лабораторная работа №1. Знакомство с интегрированной средой Turbo Pascal 7.0. Разработка первой программы.
- •Лабораторная работа № 2. Разработка программ, реализующих линейный процесс в среде Turbo Pascal 7.0.
- •Лабораторная работа № 3. Разработка программы, включающей различные форматы ввода/вывода данных средствами языка Pascal.
- •Лабораторная работа № 4. Вычисление алгебраических выражений с использованием стандартных процедур и функций языка Pascal.
- •Лабораторная работа № 5. Разработка программы для решения текстовой задачи в среде Turbo Pascal 7.0.
- •Лабораторная работа № 6. Вычисление заданного выражения при произвольных значениях переменных с использованием нескольких окон на одном экране. Работа с цветом в текстовом режиме.
- •Лабораторная работа № 7. Использование языка программирования для разработки программ вычисления математических выражений с использованием оператора if.
- •If выражение then оператор1
- •Лабораторная работа № 8. Разработка программы для решения текстовых задач, содержащих ветвление
- •Лабораторная работа № 9. Использование языка программирования для реализации разветвляющихся алгоритмов с использованием выражения – селектора в среде Turbo Pascal 7.0.
- •Лабораторная работа № 10. Разработка программ для реализации простых циклических алгоритмов средствами языка Pascal.
- •Лабораторная работа № 11. Разработка программ, включающих алгоритмы работы с числом
- •Лабораторная работа № 12. Реализация задачи табулирования функции на заданном отрезке в среде Turbo Pascal.
- •Лабораторная работа № 13. Вычисление суммы бесконечного ряда с заданной степенью точности в среде Turbo Pascal.
- •Лабораторная работа № 14. Разработка программ, включающих циклический процесс средствами языка Turbo Pascal.
- •Лабораторная работа № 15. Разработка программы реализации текстовой задачи, содержащей условия и циклы.
- •Лабораторная работа № 16. Разработка программы реализации задачи, содержащей одномерный массив данных.
- •Лабораторная работа № 17. Разработка программы реализации задачи, содержащей двумерный массив данных.
- •Лабораторная работа № 18. Методы сортировки массива в среде Turbo Pascal
- •Лабораторная работа № 19. Разработка программы работы со строками в среде Turbo Pascal
Лабораторная работа № 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.
Задания для самостоятельного выполнения
Повторить теоретические сведения по теме «Разработка программ линейных алгоритмов в среде Turbo Pascal 7.0.».
Осуществить постановку задачи: определить аргументы и результаты и их взаимосвязь.
Составить блок-схему решения задачи по своему варианту.
Разработать программу в среде Turbo Pascal 7.0.
Подготовить тестовые задания и произвести отладку программы.
Ответить на контрольные вопросы.
Результаты выполнения практической работы оформить в виде отчета.
Индивидуальные задания:
Вариант 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
Ввести любой символ и определить его порядковый номер, а также указать предыдущий и последующий символы.
Контрольные вопросы
Каким словом обозначается целый тип данных при объявлении переменных? Какие операции применимы для переменых целого типа?
Каким словом обозначается действительный тип данных при объявлении переменных? Какие операции применимы для переменых дестыительного типа?
Каким словом обозначается логический тип данных при объявлении переменных? Какие операции применимы для переменых логического типа?
Каким словом обозначается символьный тип данных при объявлении переменных? Какие операции применимы для переменых символьного типа?
Составьте фрагмент программы, позволяющий объявить переменные a,b,c целого типа, d,e - действительного типа, f,g - логического типа, h,i - символьного типа.
Запишите число 5*10-4 так, чтобы эту запись воспринимал язык Pascal.
Из каких этапов состоит процесс решения текстовой задачи?
Что понимают под матемизацией задачи?