Студопедия Главная Случайная страница Обратная связь

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

Вывод значений переменных






Министерство образования и науки Республики Казахстан

 

Павлодарский государственный университет им. С. Торайгырова

 

Кафедра информатики и информационных систем

 

 

МЕТОДИЧЕСкИЕ рекомендации

И УКАЗАНИЯ

к лабораторным работам студентов

по дисциплине «Алгоритмизация и языки программирования»

для специальности 5В070300 «Информационные системы»

 

 

Павлодар

Лист утверждения методических рекомендаций и указаний; методических рекомендаций; методических указаний         Форма Ф СО ПГУ 7.18.3/41
УТВЕРЖДАЮ

Проректор по УР

_________ Пфейфер Н.Э.

««__» _______2009 г.

 

Составители: доцент Даутова А.З., ст.преподаватель С. Бельгибаева

 

Кафедра информатики и информационных систем

Методические указания

 

к лабораторным работам по дисциплине Алгоритмизация и языки программирования для студентов специальности 5В070300 Информационные системы

 

Рекомендовано на заседании кафедры

Г. Протокол №_________

Заведующий кафедрой_________________ А.Ж.Асаинова

Одобрено УМС факультета физики, математики и информационных технологий “____” ___________20__г. Протокол №_____

Председатель МС _______________Ж.Г. Муканова “___” _____________20__г.

 

 

ОДОБРЕНО:

Начальник ОПиМОУП ____________ А.А. Варакута “___” _____________20__г.

 

 

Одобрено учебно-методическим советом университета

Г. Протокол №_________

 

 

 


Лабораторная работа №1

 

Тема: Программирование линейных структур алгоритма.

 

Цель работы: Ознакомиться с алфавитом языка Паскаль, операторами присваивания и ввода-вывода.

Теоретическое положение

1.1.Общие сведения

Язык программирования Паскаль, названный в честь французского ученого Блеза Паскаля, разработан профессором Института информатики Швейцарской высшей политехнической школы Никлаусом Виртом в 1970 году. Язык Паскаль получил наибольшее распространение в микроЭВМ. Обладая сравнительной простотой, он представляет пользователю большие возможности для программирования широкого круга задач.

1.2. Алфавит языка Паскаль

Алфавит языка Паскаль составляют следующие символы:

1. буквы латинского алфавита A, B, C… ;

2. буквы русского алфавита А, Б, В,…Я (кроме Ъ);

3. цифры 1,2,3,4,5,6,7,8,9;

4. знаки арифметических операций:

+ - сложение;

- - вычитание;

*- умножение;

/ - деление;

5. специальные символы:

. – точка;

, − запятая;

; − точка с запятой;

: − двоеточие;

’ – апостроф;

( ) – круглые скобки;

[ ] – квадратные скобки;

−пробел;

{ } – фигурные скобки;

6. знаки операций:

> - больше;

< - меньше;

>= - больше или равно;

<= - меньше или равно;

= - равно;

<> - не равно;

:= - присвоить.

Из символов алфавита строят более сложные конструкции – слова, словосочетания, предложения. В языке Паскаль под словом понимают число, строку, имя. Минимальная конструкция языка, представляющая собой законченную мысль, есть предложение. Предложение либо задает полное описание некоторого действия, которое необходимо выполнить, и называется оператором, либо описывает структуру и организацию данных – объектов языка, над которыми эти действия производятся, и называется описанием. Совокупность описаний и операторов образует программу. Для того, чтобы научиться писать программы, необходимо изучить синтаксис языка (правила записи его конструкций) и его семантику (смысл и правила использования этих конструкций).

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

1.3.Константы

Постоянные величины, значения которых не меняются в процессе выполнения программы, называются константами. Язык Паскаль работает с константами двух типов: числовыми и символьными. Константы в программе могут быть представлены непосредственно числом, либо именем.

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

Примеры записи чисел :

Целые Действительные

+4 2.65

1987 -11.862

-100 0.5

37 -4.0

Действительные числа могут быть записаны в показательной форме, где десятичный порядок числа записывается буквой E. Так, например, одно и то же число – 0,000025 или −0,25∙10-4 на языке Паскаль записывается как –0.25Е-4 или –2.5Е-5.

Диапазон изменения целых чисел в Паскале ±32767, а вещественных ±1035. Если константа представлена в программе именем, то она должна быть описана в разделе описания констант, который начинается со служебного слова CONST.

Например:

CONST N

PI=3.1415926;

1.3.2.Символьные константы

Константы символьного типа записываются литерами, заключенными в апострофы (одиночные кавычки).

Например:

‘404’; ‘ХУС’; ‘Таблица значений’; ‘I Мая 2000г.’

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

Например:

‘Контрольная работа по курсу ‘Вычислительная техника’’.

Длина символьной константы может достигать 255 символов.

1.4.Переменные

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

Имена (идентификаторы) отличаются от служебных слов тем, что выбираются самим программистом. Имя переменной должно состоять из букв или из букв и цифр, но первым символом должна быть буква. Длина имени не должна превышать 63-х символов.

Например: X, Y22M, Gamma, ALFA, R15, PTF3, IndMax.

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

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

Раздел описания переменных в программе начинается со служебного слова VAR (Variable – переменная).

Задание типа переменных осуществляется с помощью операторов описания типов переменных REAL (вещественный), INTEGER (целый), CHAR (символьный).

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

VAR V1, V2, V3, . . . Vn : T;

где V1, V2, V3, . . . Vn – имена переменных, T– тип.

Например:

VAR N, K : INTEGER;

PI, MAX : REAL;

SA, SB : CHAR;

В данном примере переменные N и K объявляются целыми, PI и MAX – вещественными, а SA и SB – символьными.

Необходимо помнить, что описание всех переменных программы обязательно!

1.5.Перечисляемые типы данных

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

Например:

TYPE COLOUR=(RED, YELLOW, GREEN, BLUE);

DAY=(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);

Скалярный тип COLOUR (цвет) включает в себя значение RED (красный), YELLOW (желтый), GREEN (зеленый), BLUE (голубой), а скалярный тип DAY (день) включает в себя значение дней недели (Monday, Tuesday, . . . Sunday).

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

Например: VAR PAYDAY, DAYOFF : DAY;

Переменные PAYDAY, DAYOFF объявлены как переменные типа DAY.

1.6. Оператор присваивания

Оператор присваивания служит для вычисления значений выражения и присваивания его переменной, расположенной слева от символа :=. Оператор имеет вид: A:=B, где A- имя переменной, B- выражение.

Примеры: X:=0.25, - переменной X присваивается значение 0.25;

A:=T, - переменная A получает значение T;

K:=K+0.3, - вычисляется новое значение K, изменяя предыдущее на величину 0.3.

1.7.Выражения

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

Обычная запись Запись на языке Паскаль

Z:=A/B*C

A:=2*(SIN(4*X)+X)/(3*X)

Знак умножения ставится обязательно, иначе при записи 3х в виде 3Х, ЭВМ выдаст сообщение об ошибке.

Порядок выполнения операций в арифметическом выражении определяется их приоритетом:

1) вычисление функций;

2) умножение и деление;

3) сложение и вычитание.

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

Таблица №1

Стандартные арифметические функции языка Паскаль

Запись на языке Паскаль Выполняемые функции
ABS(X) | X |
SQR(X) X2
SIN(X) SIN X
COS(X) COS X
EXP(X) ex
LN(X) Ln x
LOG(X) Lg x
SQRT(X) Квадрат числа
ARCTAN(X) Arctg x
TRUNC(X) Выделение целой части числа
ROUND(X) Округление числа
ODD(X) Определение нечетности числа
PRED(X) Нахождение предыдущего элемента
SUCC(X) Нахождение последующего элемента
ORD(X) Определение порядкового номера символа Х в наборе символов
CHR(X) Определение символа из набора символов по порядковому номеру
Для возведения переменной x в некоторую степень a, т.е. нахождения xa, используется равенство: xa=ea·ln x.

Тогда выражение xa на языке Паскаль имеет вид EXP(A*LN(X)). Например, выражение будет записано следующим образом: EXP(1/3*LN(X+A)).Арифметические выражения будут давать целый результат, если все входящие в него операнды (константы, переменные, функции) относятся к целому типу и к ним применены следующие операции: +, -, *, а также DIV – деление нацело (с усечением), т.е. нахождения целой части числа, получаемого от деления двух целых операндов; MOD – выделение остатка от деления двух целых операндов. Операции DIV и MOD имеют тот же приоритет, что и операции /, *. Приведем примеры выполнения этих операций:

17 DIV 2=8

17 MOD 2=1

3 DIV 5=0

3 MOD 5=3

1.8.Организация программы

Программа на языке Паскаль состоит из заголовка, блока и заканчивается точкой. Блок в свою очередь содержит раздел описаний и раздел операторов. Раздел операторов представляет собой так называемый составной оператор, включающий в себя последовательность исполняемых операторов, разделенных точкой с запятой ; и ограниченных операторами-скобками – служебными словами BEGIN (начало) и END (конец). Перед END точка с запятой не ставится.

В заголовке программы после служебного слова PROGRAM указывается имя программы, обозначающее всю программу в целом. После имени программы в круглых скобках следует список имени стандартного входного (INPUT) и выходного (OUTPUT) файлов. Например:

PROGRAM SUMMA (INPUT, OUTPUT);

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

Структура программы имеет следующий вид:

PROGRAM имя;

Раздел описания констант;

Раздел описания переменных;

BEGIN

Последовательность операторов; Раздел

Вывод результата операторов

END.

Программу следует располагать структурировано:

1) конструкция языка (описания, операторы, блоки) более глубоких уровней вложенности сдвигать от начала строки вправо;

2) конструкции языка одинаковых уровней располагать друг под друго

3) каждое описание и каждый оператор писать с новой строки;

4) продолжения описаний и операторов на новые строки сдвигать вправо;

5) избегать длинных строк.

Под уровнем вложенности понимается следующее. Если некоторая конструкция языка вложена в другую (расположена внутри нее), то ее уровень на единицу больше уровня внешней конструкции. Например, уровень оператора PROGRAM равен 0, описания CONST, VAR и составляет оператор BEGIN-END имеет уровень1, все операторы составного оператора имеют уровень 2.

1.9.Комментарии

В состав программы могут быть включены комментарии – тексты, поясняющие программу, но не влияющие на ход ее выполнения. Комментарии заключаются в фигурные скобки.

{комментарии}

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

Например: {ввод исходных данных};

1.10.Операторы ввода-вывода

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

1.10.1.Операторы ввода

Для ввода данных используются следующие операторы:

READ(b1, b2,…bn); READLN(b1, b2,…bn)

READLN;

где b1, b2, …bn – имена переменных.

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

AI=4,3 M=0,38*104.

K=5

Оператор ввода будет иметь вид: READ(AI, K, M);

Исходные данные (файлы INPUT):

4.3 5 0.38E4

Исходные данные необходимо набрать с клавиатуры, разделяя их значения пробелом.

В результате выполнения оператора READ переменная A1 получит значение 4.3, а переменные K и M соответственно 5 и 0.38 *104.

Оператор READLN(b1,b2..bn); выполняется также как и оператор READ, за исключением того, что по окончании чтения значения для последней переменной списка ввода осуществляется переход к началу новой строки.

Например, во фрагменте ввода READ(A1,K);

READLN(M);

числовые значения переменных A1, K, M располагаются на одной строке

4.3 5 0.38E4.

Во фрагменте ввода READLN(A1,K);

READ(M);

числовые значения переменных A1 и K располагаются на одной строке, а числовое значение переменной M на другой

4.3 5

0.38E4.

Оператор READLN без списка ввода обеспечивает пропуск одной строки и переход к началу новой строки.

 

1.10.2. Операторы вывода

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

WRITE(b1,b2..bn);

WRITELN(b1,b2..bn);

WRITELN;

где b1,b2..bn – имена переменных, подлежащих выводу. Оператор WRITE(b1,b2..bn); выполняет вывод значений, соответствующих именам переменных в списке вывода. Выводимые значения размещаются в одной строке.

Оператор WRITELN(b1,b2..bn); выполняет вывод значений, соответствующих именам переменных в списке вывода. Выводимые значения размещаются в одной строке, затем происходит переход к новой строке.

Например, во фрагменте вывода WRITE(A,H);

WRITELN(V,R);

числовые значения переменных A, H, V, R располагаются на одной строке.

Например, во фрагменте вывода WRITELN(A,H);

WRITE(V,R);

числовые значения переменных A и H располагаются на одной строке, а числовые значения переменных V, R – с первой позиции следующей строки.

Оператор WRITELN без списка ввода обеспечивает пропуск одной строки и переход к началу новой строки.

 

1.10.3. Стандартная форма вывода данных

Форма представления выводимых переменных определяется их типом. Значения переменных целого типа выводятся в форме целого числа, под которое отводится 13 позиций. Значение переменных вещественного типа выводятся в форме нормализованного числа действительного типа с порядком и заменяют в строке вывода 13 позиций. Если значение переменной занимает позиции меньше, чем предусмотрено для данных этого типа, то при выводе перед значением располагаются пробелы, число которых равно числу лишних позиций.

Для вывода данных символьного типа отводится число позиций, равное числу символов, составляющих значение данного. Например, оператор WRITE(8+6, SIN(3.141), ‘SONATA’ ); выведет следующие значения

_ _ _ _ _ _ _ _ _ _ _ 14_ 5.926573E-04


 

13 позиций 13 пози

1.10.4. Управление формой вывода данных

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

Общий вид записи операторов при выводе значений целого типа имеет вид:

WRITE(b:m);

WRITELN(b:m);

где b - имя выводимой переменной, m- поле, отводимое под запись значения.

Например: Вывести переменные D=105 и I=2016.

По оператору вывода WRITE(D:4, I:6);

Значение переменной D будет размещаться в четырёх позициях, а переменной I- в шести.

_ 105 _ _ 2016

Каждое значение переменной занимает крайние правые позиции отведённого поля, а незаполненные позиции образуют пробелы. Если значение переменной не размещается в отведённом поле, то число позиций увеличивается автоматически.

При выводе значений действительного типа операторы вывода имеют вид:

WRITE(b:m:n);

WRITELN(b:m:n);

где b- имя выводимой переменной, m- поле, отводимое под запись значения, n- часть поля, отводимого под дробную часть числа.

Например: Вывести переменные C=20.385 и R=8.1415.

По операторам вывода WRITE(C:6:3);

WRITELN(R:8:4);

вывод значений переменных будет осуществлён в одной строке, где для переменной C будет отведено шесть позиций, включая число позиций под дробную часть, а переменной R будет отведено восемь позиций.

20.385_ _ 8.1415

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

Например: При значении C=125.64*10-5 и T=223.58 по оператору вывода WRITE(C:11, T:13);

вывод значений переменных будет осуществлён в следующем виде:

_1.2564E-03 _ _ _ 2.2358E+03

11 позиций 13 позиций

При выводе нескольких значений на одной строке для наглядности задаются необходимым количеством пробелов. Для этого записывают оператор вывода в виде WRITE( _:q);

где q- число пробелов.

Например: WRITE(A,’ ‘:4,B);

Между значениями A и B обеспечивается интервал в четыре пробела. Выводимые значения могут быть выведены с именами переменных, соответствующих этим значениям и снабжены заголовками.

Например: Вывести переменные A=1.22; B=-23.5; C=125; D=103044.

WRITELN;

WRITELN(‘Вывод значений переменных ’);

WRITE(‘A=’,A:4:2, ‘ ’:5);

WRITELN(‘B=’,B:5:1);

WRITE(‘C=’,C:3,’ ’:6,’D=’,D:6 );

WRITELN(‘ ’:3,’Конец вывода’);

Первый оператор вывода осуществляет подготовку для вывода с первой позиции новой строки информации, указанной во втором операторе вывода. Второй оператор вывода выводит на экран текст Вывод значений переменных и обеспечивает подготовку для вывода информации с первой позиции новой строки третьего оператора вывода. Третий оператор вывода выводит на экран текст A= и по формату 4:2 число 1.25, соответствующее переменной A, затем делает пять пробелов. Четвёртый оператор вывода выводит на экран в той же строке текст B= и по формату 5:1 число –23.5, после этого готовит вывод информации с новой строки для следующего оператора вывода. Пятый оператор вывода выводит на экран текст C= и по формату:3 число 125, соответствующее переменной C, затем делает шесть пробелов, выводит текст D= по формату:6. Шестой оператор делает три пробела и в той же строке выводит текст Конец вывода. На экране дисплея появится результат работы операторов вывода.

Вывод значений переменных

A=1.22 _ _ _ _ _ B=-23.5

C=125 _ _ _ _ _ _ 103044 _ _ _ Конец вывода

Пример: Составить программу вычисления общей поверхности и объёма круглого конуса, имеющего радиус основания 12,54 см и длину образующей 24,88 см. При вычислении используем равенства:

S=πR2+πRL; V=1/3πR2H,

где H-высота конуса, определяемая по формуле

Программа будет иметь вид:

{Вычисление объёма конуса}

PROGRAM CONUS;

CONST PI=3.1415926;

VAR R,L,H,S,V:REAL;

BEGIN

READ(L,R);

S:=PI*R*R+PI*R*L;

H:=SQRT(L*L-R*R);

V:=PI*R*R*H/3;

WRITELN(‘Параметры конуса’);

WRITELN(‘R=’,R,’L=’,L,’H=’,H);

WRITELN(‘Поверхность конуса’’);

WRITELN(‘S=’,S);

WRITELN(‘Объём конуса’’);

WRITELN(‘V=’,V);

END.

Программа начинается с комментария. В заголовке программы после служебного слова PROGRAM указывается имя программы CONUS. Далее идёт раздел определения констант, обозначаемый словом CONST . В этом разделе константа π =3.1415926 обозначается именем PI, которое отождествляется с указанным числовым значением. Раздел описания переменных начинается со служебного слова VAR, где переменные R, L, H, S, V описаны как вещественные. В операторной части программы (после BEGIN) первым оператором является оператор ввода исходных данных L и R. В результате его выполнения переменная получает значение 12,54, а L= 24,88. В первом операторе присваивания вычисляется значение переменной S, во втором- H и в третьем- V. Далее следуют операторы вывода на печать текстов, заключённых в апострофы, и значений переменных R, L, H-во втором операторе вывода, S-в четвёртом, V-в шестом. Вывод значений переменных будет осуществлён в стандартной форме. Конец программы обозначается словом END, после которого ставится точка.

2.Задание

2.1. Взять задание из таблицы №1 и написать программу для вычисления переменной R, используя для ввода данных, операторы READ и READLN. Вывести значения исходных данных, подобрав к ним форматы по операторам WRITE и WRITELN. Значение переменной R вывести в стандартной форме.

2.2. Взять задание из таблицы №2 и записать математическую запись арифметического выражения.

3.Содержание отчёта

Отчёт должен содержать:

1) задание к работе;

2) программу;

3) результаты расчётов.

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

1) Алфавит языка Pascal.

2) Какие типы величин используются в языке Pascal, как они записываются.







Дата добавления: 2015-09-15; просмотров: 960. Нарушение авторских прав; Мы поможем в написании вашей работы!



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Studopedia.info - Студопедия - 2014-2023 год . (0.004 сек.) русская версия | украинская версия