Главная » Все файлы » Просмотр файлов из архивов » Документы » Организация данных в ЭВМ и основы программирования

Организация данных в ЭВМ и основы программирования, страница 6

2017-07-08СтудИзба

Описание файла

Документ из архива "Организация данных в ЭВМ и основы программирования", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "информатика" в общих файлах.

Онлайн просмотр документа "Организация данных в ЭВМ и основы программирования"

Текст 6 страницы из документа "Организация данных в ЭВМ и основы программирования"

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

Общий вид описания ограниченного типа:

Type имя типа = константа 1 .. константа N;

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

Var имя переменной: имя типа;

Пример.

Type T = 1... 100;

Var A, B: T;

Переменные А и В могут принимать любые значения из диапазона 1..100.

При использовании ограниченного типа должно выполняться следующее

Правила:

1) обе граничные константы должны быть одинакового типа;

2) начальное значение не должно быть больше конечного;

3) тип констант может быть любой простой, кроме действительного (целый, символьный, логический, перечислимый).

Пример. К= 15 ... 70; - целый

Lit = ‘A’ ... ‘ z’ ; - символьный

Summer = Jun ... Aug ; - переменный

Если константы имеют стандартный типа можно делать непосредственно в разделе переменных.

Пример. Var S1, S2: 1..100;

Sim : ‘A’..’R’;

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

Пример. Если переменная К принимает только целые значения 4,5,6,7,8,9, то лучше дать описание: Var K: 4..9; чем Var K: Integer; И вот почему. В случае выхода ‘K’ за диапазон 4..9 в первом варианте (ограниченный тип) будет выдано диагностическое сообщение об ошибке. Во втором варианте (целый тип) может быть выдан неверный результат.

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

Пример. Вычислить W = A ln |x| при |x| <1

W = при |x| >=1

Program usl;

Var A,X,W : Real;

Label : Error;

Begin

Writeln (‘ввести данные’);

Write (‘A=’);

Readln (A);

Write (‘X=’);

Readln (X);

If Abs (X) <1 Then Writeln (‘W=’, A*ln (Abs(X)))

Else If Sqr (X) >A Then begin Writeln (‘ошибка’);

goto Error

End.

Else Writeln (‘W=’, Sqrt (A-Sqrt(X)));

Error: End.

Пример. Составить программу для вывода возможных значений координат X и Y в зависимости от № квадранта.

Program Kvadrant;

Var Number : Integer;

Begin

Writeln (‘N=’);

Readln (Number);

Case Number of

1: Writeln (‘X и Y >0/’)

2: Writeln (‘X < 0/ , Y > 0/’);

3: Writeln (‘X и Y <0/’);

4: Writeln (‘X >0/ , Y <0/’);

End;

End.

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

Program Num 10;

Const KN = 10;

Var N:Integer;

Begin

For N:=1 To KN Do

Write (N:6);

Writeln;

End.

Program Num 10;

Const KN = 10;

Var N:Integer;

Begin

N:=0;

Rеpeat

N:=N+1;

Write (N);

Until N>=KN;

End.

Пример. Определить к, при котором функция становится меньше или равна а.

Program Inter;

Var X,A,P:Real;

K: Integer;

Begin

Writeln (‘ввести X,A’);

Read (X,A);

K:=1;

P:=X;

Write P/K >A Do

Begin

K: = K+1;

P: = P*X;

End;

Writeln (‘K = ‘, K);

End.

Program Inter;

Var X,A,P : Real;

K: Integer;

Begin

Writeln (‘Ввести X,A’);

Readln (X,A);

K: = 0;

P: = 1;

Repeat

K : = K+1;

P : = P*X;

Until P/K <=A;

Write(‘K = ‘,K);

End.

Пример. Вычислить сумму бесконечного ряда с точностью до члена ряда, меньшего Е: Z = 1+

Рекуррентная формула Yn = Y n-1 * X / n

Program Ryad;

Var X, Eps,Y,Z:Real;

N:Integer;

Begin

Writeln (‘Ввести X, Eps’);

Readln (‘X, Eps’);

N: = 0’

Y: = 1;

Z: = 1;

While Y > = Eps Do Begin

N: = N+1;

Y: = Y*X/N;

Z: = Z+Y;

End;

Write (‘Z = ‘Z);

End.

4. ПРОЦЕДУРЫ И ФУНКЦИИ

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

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

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

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

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

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

Procedure – процедура и

Function - функция.

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

4.1. Описание процедур

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

Procedure имя (список формальных параметров);

Раздел описаний

Begin

Раздел операторов

End;

Раздел описаний процедуры подобен разделу описаний программы и состоит из разделов меток, констант, типов, переменных, процедур и функций. Он может отсутствовать вообще. Раздел операторов заключён в операторные скобки Begin End;

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

параметры – значений

параметры - переменных (перед ними должно стоять слово var),

параметры – процедуры (перед ними должно стоять служебное слово Procedure),

параметры – функции (перед ними должно стоять служебное слово Function)

Выполнение процедуры происходит при её вызове по имени:

Имя (фактические параметры).

Между формальными и фактическими параметрами должно быть полное соответствие:

- количество формальных и фактических параметров должно быть одинаково,

- порядок следования формалтных и фактических параметров должен быть один и тот же,

- тип каждого фактического параметра жлдэен совпадать с типом соответствующего ему формального параметра.

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

Хотя параметры процедуры делятся на отдельные виды, но в простых программах чаще всего используются параметры-значения и параметры-переменные. Данные этих параметров передаются в обоих направлениях, из программы в процедуру и наоборот.

Параметры–значения (перед ними не стоит слово var) можно передавать только в одном направлении: из программы в процедуру. То есть, параметры-значения могут быть только входным для процедуры, а параметры-переменные как входными, так и выходными.

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

Пример: Пусть в программе необходимо многократно вычислять площадь квадрата sк=а^2 и площадь прямоугольника sp=a*b при различных значениях сторон а и b.

Procedure Place (x, y: real);

Begin

Sk:=x*x

Sp:=x*y

End;

Вызвать эту процедуру можно, используя фактические переменные:

Place (A, B); где значения параметра А и В передаются в процедуру параметром X, Y.

Другой вариант:

Procedure Place (x, y: real; Var Sk, Sp: real);

Тогда обращение к ней: Place (A, B, S1, S2);

При вызове процедуры вместо переменных А, В можно указать конкретные значения: Place (2.5, 4, S1, S2).

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

Пример: В 1-ой вводимой с терминала строке подсчитать количество точек, а во 2-ой – количество букв ‘A’. Подсчёт символов реализовать в процедуре Podshet.

Program Pod;

Const Tochka =’.’;

Var S:Integer;

Procedure Podchet (Sim: Char; Var Kol:Integer);

Var C:char;

Begin kol:=0;

Writeln (‘Введите строку’);

Repeat read (c);

If c=sim then kol:=kol+1;

Until EOLN

End;

Begin Readln;

Podchet (Tochka,S);

Writeln (‘Кол-во точек=’,S:3);

Podchet (Tochka’A’,S);

Writeln (‘Кол-во букв А’,S:3);

End.

Здесь процедура Podschet имеет два формальных пар-ра:

Sim - входной параметр (параметр значения), определяет символ, который подсчитывается в строке;

Kol - выходной параметр, через который передаётся количество подсчитанных символов.

Для того, чтобы результаты работы процедуры Podschet был доступен в программе, он передается по ссылке.

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

Процедуры возвращают результат в основную программу не только при помощи параметров – переменных, но непосредственно изменяя глобальные переменные. Переменные, описанные в основной программе, являются глобальными по отношению к внутренним процедурам и функциям. Переменные, описанные внутри процедур и функций, являются локальными. Локальные переменные существуют только при выполнении процедуры и недоступны в основной программе. Переменная с символьного типа, описанная в процедуре Podschet, является локальной, а переменная s целого типа, описанная в основной программе, является глобальной.

Изменим процедуру Podschet, чтобы она передавала результат своей работы через глобальную переменную.

Program Pod1;

Const Tochka=’.’;

Var s:integer;

Procedure Podshet (Sin:Char);

Var c:char;

Begin s:=0

Writeln (‘Введите строку’);

Repeat Read (c);

If c=sim then S:=s+1;

Until EOLN

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5183
Авторов
на СтудИзбе
435
Средний доход
с одного платного файла
Обучение Подробнее