Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Порядок выполнения лабораторной работы




1 Создайте с помощью Total Commander посредством нажатия клавиши F7на диске z:\ папку, предназначенную для хранения файлов программ. В имени папки (не более 8 символов) используйте латинские буквы и цифры, но не пробелы и точки. Данную папку принято называть личной.

2 Загрузите интегрированную среду (IDE) Free Pascal, PascalABC или Turbo Pascal. Для этого выполните:

для Free PascalStart / All Programs / Free Pascal(Пуск / Все программы / Free Pascal);

для PascalABC Start / All Programs / PascalABC / PascalABC(Пуск / Все программы / PascalABC / PascalABC).

Можно также дважды щелкнуть на соответствующем ярлыке, который находится на рабочем столе Windows.

3 Создайте новый файл, выполнив команду File / New (Файл / Новый). Откроется окно нового документа. При этом файлу назначается автоматически имя noname01.pas (Program1.pas), отображаемое в верхней части окна документа как показано на рисунках 5 и 6.

Рисунок 5 – Окно нового документа в среде Free Pascal

Рисунок 6 – Окно нового документа в PascalABC

4 Измените имя файла и одновременно сохраните новый файл в личной папке на диске z:\. Для этого выполните команду File / Save as (Файл / Сохранить как) и в появившемся окне наберите имя диска, вложенные каталоги, имя файла, например, при работе в Free Pascal путь к файлу вводится в поле Name так, как показано на рисунке 7.

Рисунок 7 – Диалоговое окно Save File asв Free Pascal

После этого щелкните на кнопке . Периодически сохраняйте файл в процессе работы (клавиша F2).

5 Наберите текст линейной программы, вычисляющей расстояние между двумя точками (x1; y1) и (x2; y2) по формуле

                                         .                                    (8)

Programprim_1; {имя программы}

Varx1, x2, y1, y2, d: real;

{описание переменных вещественного типа}

begin{начало раздела операторов}

write('Введите координаты первой точки x1 и y1');

readln(x1, y1); {ввод значений переменных x1, y1

            через нажатие клавиши Enter}

write('Введите координаты второй точки x2 и y2');

readln(x2, y2); {ввод значений переменных x2, y2

             через нажатие клавиши Enter}

d:=sqrt(sqr(x1-x2)+sqr(y1-y2)); {расчет расстояния}

writeln('Расстояние между точками равно ',d:5:2);

  {вывод значения расстояния}

End.

6 Произведите компиляцию программы, нажимая клавишу F9.

7 Если появляется сообщение об ошибках, исправьте их и запустите программу на выполнение посредством нажатия комбинации клавиш Ctrl F9.

8 Чтобы посмотреть результат, нажмите комбинацию клавиш Alt F5.

Выполните задание 1.

Задание 1. Составьте линейную программу, реализующую решение задачи (таблица 15). Сохраните файл в своей папке под именемtask21.pas. Откомпилируйте программу. При наличии ошибок исправьте их, запустите программу на выполнение и просмотрите результаты. Листинг программы скопируйте в окно документа текстового процессора Word или WordPad и распечатайте.

Таблица 15 − Варианты задания 1

Вариант Задача
1 Определить координаты середины отрезка AB по формулам , , где значения координат точек A(x1; y1) и B(x2; y2) вводятся с клавиатуры
2 Рассчитать площадь треугольника по формуле Герона , где длины трех сторон a, b, c вводятся с клавиатуры, а p – полупериметр
3 Рассчитать площадь треугольника  по стороне a и проведенной к ней высоте ha, значения которых вводятся с клавиатуры
4 Найти биссектрису , проведенную к стороне а треугольника, по трем сторонам a, b, c, длины которых вводятся с клавиатуры, и полупериметру p
5 Найти биссектрису , проведенную к стороне b треугольника, по трем сторонам a, b, c, длины которых вводятся с клавиатуры, и полупериметру p

Окончание таблицы 15

Вариант Задача
6 Найти биссектрису , проведенную к стороне c треугольника, по трем сторонам a, b, c, длины которых вводятся с клавиатуры, и полупериметру p
7 Найти радиус  описанной около треугольника окружности, где длины сторон a, b и c вводятся с клавиатуры, а площадь S вычисляется по формуле Герона (см. вариант 2)
8 Найти радиус  окружности, вписанной в треугольник со сторонами a, b, c, длины которых вводятся с клавиатуры, площадь S вычисляется по формуле Герона (см. вариант 2), а p − полупериметр
9 Найти высоту , опущенную на сторону a треугольника со сторонами a, b, c, длины которых вводятся с клавиатуры, а площадь S вычисляется по формуле Герона (см. вариант 2)
10 Найти высоту , опущенную на сторону b треугольника со сторонами a, b, c, длины которых вводятся с клавиатуры, а площадь S вычисляется по формуле Герона (см. вариант 2)
11 Найти высоту , опущенную на сторону c треугольника со сторонами a, b, c, длины которых вводятся с клавиатуры, площадь S вычисляется по формуле Герона (см. вариант 2)
12 Вычислить площадь  равнобокой трапеции с основаниями a и b, длины которых вводятся с клавиатуры, острым углом  и высотой
   

9 Создайте новый файл: File / New (Файл / Новый). Сохраните его в личной папке на диске z:\ под именем fio22.pas. Рекомендуется периодически сохранять файл в процессе работы посредством нажатия клавиши F2.

10 Наберите текст программы для вычисления значений составной функции

                                                                                  (9)

Programprim_2; {имя программы}

Var{раздел описания переменных}

x : real; {описание переменной-аргумента}

f : real; {описание вычисляемой переменной, т. е. функции}

Begin{раздел операторов}

write('Введите значение x');

{вывод вспомогательной фразы}

read(x); {ввод значения переменной x}

if(x>=-1) and (x<=3) {условие}

thenf:=sqr(x)*x-sin(x) {если условие истинно}

else{если условие ложно}

begin

ifcos(x)>0 {расчет кубического корня из косинуса x}

thenf:=exp(1/3*ln(cos(x)))

else

    begin

     ifcos(x)<0

     thenf:=-exp(1/3*ln(abs(cos(x))))

     elsef:=0;

    end;

end;

writeln('x=',x:5:2,' f=',f:6:3) {вывод результатов}

End.

11 Произведите компиляцию программы (клавиша F9). При наличии ошибок исправьте их. Запустите программу на выполнение (Ctrl F9) и просмотрите результаты (Alt F5).

12 Выполните задание 2.

Задание 2. Составьте программу, вычисляющую значение функции в зависимости от значения вводимой с клавиатуры переменной (таблица 16). Откомпилируйте программу. При наличии ошибок исправьте их, запустите программу на выполнение и просмотрите результаты. Листинг программы скопируйте в окно документа текстового процессора Word и распечатайте или запишите в отчет о выполнении лабораторной работы.

13 Создайте новый файл: File / New (Файл / Создать). Сохраните его в личной папке на диске z:\ под именемfio23.pas. Периодически сохраняйте файл в процессе работы (клавиша F2).

Таблица 16 − Варианты задания 2

Вариант Функция Вариант Функция
1 7
2 8
3 9
4 10  
5 11
6 12
       

14 Наберите в окне редактора fio23.pas текст программы табулирования функции, т. е. вычисления значения функции

                                                                                           (10)

при изменении аргумента vr в диапазоне от –1 до 4 с шагом 0,4, где с = 12. Используйте для реализации повторений вычисления функции цикл while..do с предусловием.

Programprim_3;

Vara, b, c : integer; {описание целых переменных}

vr, hvr, fn1, fn: real; {описание вещественных переменных}

Begin

a:=-1; b:=4; {границы диапазона изменения переменной}

hvr:=0.4; {шаг изменения переменной vr}

c:=12; {значение константы c}

vr:=a; {переменной vr присваивается начальное значение}

whilevr<=bdo{условием выхода из цикла требуется достижение

           переменной vr правой границы диапазона}

begin{составной оператор}

fn1:=sin(vr)/cos(vr); {расчет тангенса vr}

fn:=(sqr(fn1)*fn1+c)/sqrt(sqr(vr)+sqr(c));

{расчет значения функции fn}

writeln('vr=',vr:5:2,' fn=',fn:7:3);

  {вывод текущего значения переменной vr и функции fn}

vr:=vr+hvr {увеличение значения переменной vr на величину шага}

end;

End.

15 Произведите компиляцию программы (клавиша F9). При наличии ошибок исправьте их. Запустите программу на выполнение (Ctrl F9) и просмотрите результаты (Alt F5).

16 Создайте новый файл: File / New (Файл / Создать). Сохраните его в личной папке на диске z:\ под именемfio24.pas. Периодически сохраняйте файл в процессе работы, нажимая клавишу F2.

17 Наберите в окне редактора fio24.pas текст программы табулирования функции, заданной формулой (10) , при изменении аргумента vr в диапазоне от –1 до 4 с шагом 0,4, где с = 12. Используйте для организации повторений при вычислении функции циклrepeat..until с постусловием.

Programprim_4;

Var a, b, c : integer; {описание целых переменных}

vr, hvr, fn1, fn: real; {описание вещественных переменных}

Begin

a:=-1; b:=4; {границы диапазона изменения переменной}

hvr:=0.4; {шаг изменения переменной vr}

c:=12; {значение переменной c}

vr:=a; {переменной vr присваивается начальное значение}

repeat{начало цикла с постусловием}

fn1:=sin(vr)/cos(vr); {расчет тангенса vr}

fn:=(sqr(fn1)*fn1+c)/sqrt(sqr(vr)+sqr(c));

{расчет значения функции fn}

writeln('vr=',vr:5:2,' fn=',fn:7:3);

  {вывод текущего значения переменной vr и функции fn}

vr:=vr+hvr {увеличение значения переменной vr на величину шага}

until vr>b {условием выхода из цикла является превышение

       переменной vr значения правой границы диапазона}

End.

18 Откомпилируйте программу (клавиша F9). При наличии ошибок исправьте их. Запустите программу на выполнение (Ctrl F9) и просмотрите результаты (Alt F5).

19 Создайте новый файл: File / New (Файл / Создайте). Сохраните его в личной папке на диске z:\ под именемfio25.pas.

20 Наберите в окне редактора fio25.pas текст программы табулирования функции, заданной формулой (10), при изменении аргумента vr в диапазоне от –1 до 4 с шагом 0,4 (с = 12). Используйте для организации повторений при вычислении функции цикл for..to..do с известным числом повторений.

Programprim_5;

Var a, b, c : integer; {описание целых переменных}

vr, hvr, fn1, fn: real; {описание вещественных переменных}

Begin

a:=-1; b:=4; {границы диапазона изменения переменной}

hvr:=0.4; {шаг изменения переменной vr}

c:=12; {значение переменной c}

vr:=a; {переменной vr присваивается начальное значение}

n:=round((b-a))/hvr)+1; {количество повторений}

fori:=1ton do

Begin

fn1:=sin(vr)/cos(vr); {расчет тангенса vr}

fn:=(sqr(fn1)*fn1+c)/sqrt(sqr(vr)+sqr(c));

{расчет значения функции fn}

writeln('vr=',vr:5:2,' fn=',fn:7:3);

  {вывод текущего значения переменной vr и функции fn}

vr:=vr+hvr {увеличение значения переменной vr на величину шага}

End

End.

21 Откомпилируйте программу (клавиша F9). При наличии ошибок исправьте их. Запустите программу на выполнение (Ctrl F9) и просмотрите результаты (Alt F5).

22 Выполните задание 3.

Задание 3. Составить три варианта программы табулирования функции − вычисления значений функции при изменении аргумента в заданном диапазоне с постоянным шагом (таблица 17) − с использованием каждого из трех операторов цикла. Произвести компиляцию, получить и просмотреть результаты. Текст каждой из программ скопировать в Word и распечатать или записать в отчет о выполнении работы.

Таблица 17 − Варианты задания 3

Вариант Диапазон, шаг Значение параметра Функция
1
2
3
4
5
6
7
8
9
10
11
12

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

1 Назначение языка программирования Pascal.

2 Состав среды программирования.

3 Алфавит языка программирования Pascal.

4 Зарезервированные слова, стандартные идентификаторы и идентификаторы пользователя. Правила создания имен и ограничения.

5 Структура простейшей программы. Из каких разделов состоит программа на языке Pascal? Какие из разделов необязательны? Для чего служит раздел описания переменных, раздел операторов?

6 Переменные и константы в языке Pascal. Имя и значение переменной. Данные в программах. Типы данных. Наиболее часто используемые типы данных.

7 Порядковые типы данных: целые, символьный, логический.

8 Вещественные типы данных.

9 Операции, процедуры и функции, применимые к порядковым типам данных.

10 Стандартные процедуры и функции языка Pascal. Основные математические функции.

11 Как записать математические функции, которым нет соответствия на Pascal?

12 Операции языка Pascal. Приоритет операций.

13 Правила записи арифметических выражений.

14 Операторы языка Pascal. Оператор присваивания. Формат и принцип действия. Согласование типов. Составной операторы.

15 Процедуры ввода-вывода. Формат и принцип действия. Форматирование результатов.

16 Логические выражения. Логические операции. Приоритет логических операций.

17 Оператор условного перехода. Полная и краткая формы. Использование составного оператора. Оператор выбора. Тип ключа выбора.

18 Основные циклические конструкции. Формат и принцип действия оператора с предусловием while..do. Особенности применения.

19 Формат и принцип действия оператора с постусловиемrepeat..until. Особенности применения.

20 Формат и принцип действия оператора for..to..do. Особенности применения.


САМОСТОЯТЕЛЬНАЯ РАБОТА 2

Обработка массивов на языке Pascal.
Процедуры и функции пользователя

Цель работы: углубить знания о возможностях интегрированной среды программирования Free Pascal, PascalABC или Turbo Pascal, развить навыки отладки программы и анализа результатов ее работы, научиться программировать задачи с использованием одномерных массивов.



Сведения из теории










Последнее изменение этой страницы: 2018-05-10; просмотров: 257.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...