Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Составление линейных программ




Практическая работа

Цель работы:   Научиться работать в среде программирования Турбо Паскаль, составлять арифметические выражения и использовать операторы ввода и вывода.

Простейшая программа на языке Паскаль имеет следующую структуру:

PROGRAMИмя программы; USES Список используемых библиотек (модулей); VAR Определение переменных программы;   BEGIN Основной блок программы END.

С помощью директивы USES подключаются библиотечные модули из стандартного набора Турбо Паскаль. USES используется в программе только один раз. Список библиотек дается через запятую:

USES CRT, DOS, Graph;

{подключены три библиотеки с соответствующими именами}

Если библиотеки не используются, то эта директива не используется.

Блок VAR содержит список переменных программы и их типов. Этих блоков может быть несколько, но переменные в них не должны повторятся. Базовыми типами данных в Паскале являются следующие:

1. INTEGER – целые числа.

2. REAL – вещественные числа (числа с дробной частью).

3. CHAR – символьный тип.

4. BOOLEAN – логический тип (данные этого типа могут принимать только одно из двух значений: TRUE – истина или FALSE – ложь).

Например:

VAR K,I,J: INTEGER; A,B: REAL;

Основной блок программы всегда начинается словом BEGIN, а заканчивается END и на конце «точка». После «точки» компилятор уже ничего не принимает.

Компилятор Турбо Паскаля накладывает некоторые ограничения на текст программы. Так, длина строки не может превысить 126 символов. В конце каждой строки в основном блоке программы и в процедурах и функциях должны стоять «;».

Ни одна программа не обходится без инструкций присваивания. В результате выполнения этой инструкции переменная получает некоторое значение. Этот оператор в общем виде выглядит как

Переменная:= Значение;

Составной символ «:=» читается как «становится равным». В операции присваивания слева всегда стоит имя переменной, а справа – то, что представляет ее значение (значение как таковое или выражение). После присваивания переменная слева получает новое значение.

Например:

a:=2.4;

d:=b*b-4*a*c;

 

Для присваиваемых выражений однозначно определяются правила вычислений: действия выполняются слева на право с соблюдением следующего старшинства (в порядке убывания):

1. Действия в скобках;

2. Математические функции;

3. NOT;

4. *, /, DIV, MOD, AND;

5. +, -, OR;

6. =, <>, <, >, <=, >=, IN.

Паскаль имеет следующие стандартные математические функции.

ABS(X)
PI p
SIN(X)
COS(X)
ARCTAN(X)
SQRT(X)
SQR(X)
POWER(X,5) х5
EXP(X)
LN(X)
TRUNC(X) Целая часть значения Х
FRAC(X) Дробная часть значения Х
INT(X) Целая часть значения Х
ROUND(X) Округление Х до целого
RANDOM Случайное число от 0 до 1
RANDOM(X) Случайное число от 0 до Х
ODD(X) Возвращает TRUE, если Х – нечетное число.
A DIV B Целая часть от деления А на В (например: 5 div 3 будет 1)
A MOD B Остаток от деления А на В (например: 5 mod 3 будет 2)

С помощью этих математических функций и основных операций составляются арифметические выражения, при этом очень важно в выражении расставить правильно скобки, учитывая приоритеты выполняемых операций. Например:

Выражение

на языке Паскаль будет выглядеть как

abs(ln(x))-sqr(x-2)+(exp(x+3)-3*x)/(1+cos(sqrt(x)))

Или выражение

будет выглядеть следующим образом:

(sqrt(exp(x)-1)-sqr(x)*(1+sin(pi*x))/(x*arctan(x/sqrt(1+sqr(x))))

Если в программе какие-либо данные задаются в момент работы программы (например, коэффициенты квадратного уравнения или другие нужные переменные), то в программе необходимо использовать операторы ввода.

1. READLN (Переменная1,Переменная2, …, ПеременнаяN);

Переменная1, Переменная2, …, ПеременнаяN – имена переменных, которые вводятся.

После выполнения этого оператора, курсор переходит на новую строку.

2. READ (Переменная1,Переменная2, …, ПеременнаяN);

После выполнения этого оператора, курсор остается на этой же строке.

Если вводятся несколько переменных, то переменные можно разделять пробелом или ENTER. В конце ввода необходимо нажимать ENTER.

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

READLN a,b,c;

требует ввода значения трех переменных (значения можно разделять пробелами или нажатием клавиши ENTER).

Для вывода информации на экран используются следующие операторы:

1. WRITELN( Список выводимых переменных и сообщения );

После выполнения этого оператора, курсор переходит на новую строку. Выводимые выражения отделяются друг от друга запятыми.

Если выводится набор символов, то он заключается в апострофы:

WRITELN (‘P=’,P);

После работы этого операторы мы увидим на экране

Р=значение переменной Р.

2. WRITE (Список выводимых переменных и сообщения);

После выполнения этого оператора, курсор остается на этой же строке.

Если необходимо вывести значение переменной, объявленной типом REAL, то программист имеет возможность задать число позиций для выводимой величины и число позиций, отводимых под дробную часть.

WRITELN (‘P=’,P:10:2);

Здесь под Р отводится 10 позиций, а из них 2 – под дробную часть. Т.е., если Р=13.852, то Р распределиться по этим позициям следующим образом

              .    

При этом вначале будут пять пробелов. И на экране при выводе мы увидим следующее:

Р= 13.85

Если выводится величина, объявленная типом INTEGER, то можно задать только общее число позиций (т.е. используется только одно число).

Пример:

Написать программу вычисления пути, пройденного телом. Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление пути.

Введите начальную скорость (м/с) – > 3

Введите время (с) – > 5

Введите ускорение (м/с2) - > 1

 

Тело прошло путь 27.50 м

 

 


Блок-схема этой задачи:

 

       
 
 
   

 

 


Программа выглядит следующим образом:

program prac3;

uses crt; {Модуль crt необходим для работы с экраном

например, для очистки экрана от предыдущих

результатов работы программ}

 

var a,t,v0,S:real; {а – ускорение, t – время, v0 – начальная скорость,

S – путь}

 

begin

clrscr; {Оператор очистки экрана}

writeln('Вычисление пути.');

write('Введите начальную скорость (м/с) -> ');

readln(v0); {Ввод начальной скорости}

write('Введите время (с) -> ');

readln(t); {Ввод времени}

write('Введите ускорение (м/с2) -> ');

readln(a); {Ввод ускорения}

S:=v0*t+a*sqr(t)/2; {Расчет пути}

writeln; {Вывод пустой строки}

writeln('Тело прошло путь ',S:6:2,' м'); {Вывод нужных данных}

readln;

end.


Пример:

Написать программу для расчета значения

, где и

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

 

Блок-схема этой задачи:

 

   
 
 
 

 

 


Программа выглядит следующим образом:

{ Вычисление значения z}

 

program prac3;

uses crt; {Модуль crt необходим для работы с экраном

например, для очистки экрана от предыдущих

результатов работы программ}

 

var x,y,z,t:real;

 

begin

clrscr; {Оператор очистки экрана}

write('Введите значение t -> ');

readln(t);

x:=pi*ln(t);

y:=sqrt(t*(2+sin(t)));

z:=sqr((x+y)/(2*x))-sqrt(x)/(x+3*y);

writeln('Значение функции z=',z:9:6); {Вывод нужных данных}

readln;

end.

Задание (инструкция 3)

№1

1. Написать программу вычисления площади прямоугольника. Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

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

Введите исходные данные:

Длина (см) – > 9

Ширина (см) – > 7.5

 

Площадь прямоугольника: 67.50 кв.см.

 

2. Составить программу и вычислить значение функции

, где

 

Ответ.

Введите а 2

Введите b 1

№2

1. Написать программу вычисления объема параллелепипеда (V=a*b*c). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисления объема параллелепипеда

Введите исходные данные:

Длина (см) – > 9

Ширина (см) – > 7.5

Высота (см) – > 5

 

Объем: 337.50 куб.см.

2. Составить программу и вычислить значение функции

, где

 

Ответ.

Введите a 2

Введите b 4

54.38

 

№3

1. Написать программу вычисления площади поверхности параллелепипеда S=2*(a*b+b*c+a*c). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление площади поверхности параллелепипеда.

Введите исходные данные:

Длина (см) – > 9

Ширина (см) – > 7.5

Высота (см) – > 5

 

Площадь поверхности: 300.00 кв.см.

2. Составить программу и вычислить значение функции

, где

 

Ответ.

Введите a 2

Введите b 4

Введите c 5

3.80

№4

1. Написать программу вычисления объема куба (V=a3). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление объема куба.

Введите длину ребра (см) – > 9.5

 

Объем куба: 857.38 куб.см.

2. Составить программу и вычислить значение функции

, где

Ответ.

Введите a 3

Введите n 4

Введите d 2

 

№5

1. Написать программу вычисления объема цилиндра (V=Pi*R2*H). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление объема цилиндра.

Введите исходные данные:

Радиус основания (см) – > 5

Высота цилиндра (см) – > 10

 

Объема цилиндра 785.0 см.куб.

 

2. Составить программу и вычислить значение функции

Ответ.

Введите a 2

Введите n 4

13.35

№6

1. Написать программу вычисления стоимости покупки, состоящей из нескольких тетрадей и карандашей. Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление стоимости покупки.

Введите исходные данные:

Цена тетради (руб) – > 2.75

Количество тетрадей – > 5

Цена карандаша (руб) – > 0.85

Количество карандашей – > 2

 

Стоимость покупки: 15.45 руб.

 

2. Составить программу и вычислить значение функции

Ответ.

Введите a 4

Введите b 6

Введите c 7

3.507

№7

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

Вычисление стоимости покупки.

Введите исходные данные:

Цена тетради (руб) – > 2.75

Цена обложки (руб) – > 0.5

Количество комплектов (шт) – > 7

 

Стоимость покупки: 22.75 руб

 

2. Составить программу и вычислить значение функции

Ответ.

Введите a 3

Введите b 7

Введите h 5

520.981

№8

1. Написать программу вычисления стоимости некоторого количества (по весу) яблок. Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление стоимости покупки.

Введите исходные данные:

Цена одного килограмма яблок (руб) – > 8.5

Вес яблок (кг) – > 2.3

Стоимость покупки: 19.55 руб.

Ответ.

Цена одного кг яблок (руб) 8.5

Вес яблок (кг) 2.3

Стоимость покупки: 19.55 руб.

2. Составить программу и вычислить значение функции

Ответ.

Введите a 2

Введите r 3

65.973

 

№9

1. Написать программу вычисления площади треугольника, если известна длина основания и высоты (S=1/2*a*h). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

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

Введите исходные данные:

Основание (см) – > 8.5

Высота (см) – > 10

 

Площадь поверхности: 42.50 кв.см.





Поделиться с друзьями:


Дата добавления: 2016-12-18; Мы поможем в написании ваших работ!; просмотров: 2275 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студент всегда отчаянный романтик! Хоть может сдать на двойку романтизм. © Эдуард А. Асадов
==> читать все изречения...

2395 - | 2153 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.