рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Основные действия с двумерными массивами Паскаля

Основные действия с двумерными массивами Паскаля - раздел Информатика, Разделы программы на языке Pascal, их обозначение Все, Что Было Сказано Об Основных Действиях С Одномерными Массивами, Справедл...

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

type
matrix= array [1..5, 1..10] of integer;
var
a , b : matrix ;

то в ходе выполнения программы можно присвоить матрице a значение матрицы b ( a := b ). Все остальные действия выполняются поэлементно, при этом над элементами можно выполнять все допустимые операции, которые определены для типа данных элементов массива. Это означает, что если массив состоит из целых чисел, то над его элементами можно выполнять операции, определенные для целых чисел, если же массив состоит из символов, то к ним применимы операции, определенные для работы с символами.

 

 

Вопрос36.

Фрагменты вычисления характеристик строк и столбцов двумерного массива.

Для обращения к элементу двухмерного массива необходимо указать имя массива и в квадратных скобках через запятую – значения двух индексов (первый указывает номер строки, а второй – номер столбца), на пересечение которых стоит элемент (например, a[i,2]:=6). В языке программирования Pascal допустимо разделение индексов с помощью квадратных скобок (например, a[i][5]:= 7).

 

Вопрос37.

Фрагменты-операции с двумерными массивами.

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

Если телом цикла является циклическая структура, то такие циклы называют вложенными. Цикл, содержащий в себе другой цикл, называют внешним, а цикл, содержащийся в теле другого цикла, называют внутренним. Внешний и внутренний циклы могут быть трех видов: циклами с предусловием while, циклами с постусловием repeat или циклами с параметром for.
Правила организации внешнего и внутреннего циклов такие же, как и для простого цикла каждого из видов. Но при программировании вложенных циклов необходимо соблюдать следующее дополнительное условие: все операторы внутреннего цикла должны полностью располагаться в теле внешнего цикла.
Рассмотрим пример простой задачи, решение которой предполагает использование вложенных циклов, — задачи вывода на экран таблицы умножения. С использованием цикла for вариант решения данной задачи может быть следующим:

program Tab__Umn1;
var
I,J : byte;
begin
for I:=1 to 10 do {Внешний цикл}
for J:=1 to 10 do {Внутренний цикл}
Writeln (I, ' * ', J, ' = ', I*J); {Тело внутреннего цикла}
end.

 

Вопрос38.

Особенности элементов одномерных массивов и квадратных матриц.

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

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

 

 
 

 


В одномерном массиве для указания местоположения элемента достаточно одного индекса,

Размерность массива определяется количеством индексов.

Размермассива – диапазон изменения индексов массива.

Размер одномерного массива – количество элементов, которое содержит массив.

Следует помнить, что значением переменной a является весь массив!

Элемент массива обозначается указанием имени массива, за которым в квадратных скобках следует индекс массива. Например, a[1] – первый элемент одномерного массива; с[5] – пятый элемент одномерного массива; a[i] – i-тый элемент одномерного массива.

 

Вопрос39.

Подпрограммы, их виды и состав. Виды параметров и переменных в подпрограммах.

Подпрограмма самостоятельный фрагмент программы, реализующий определенный алгоритм и допускающий многократное обращение к нему из различных частей программы. В языке Турбо-Паскаль существует большой набор стандартных (библиотечных) процедур и функций. Процедуры и функции содержатся в стандартных модулях и подключаются к любой программе либо с помощью предложения Uses (например: CRT, GRAPH и др.) либо автоматически (например, System). Принципы хорошего стиля программирования требуют широкое использование собственных подпрограмм, которые составляются и используются также как и библиотечные. Применение подпрограмм позволяет использовать современные технологии конструирования программ: структурное, модульное, объектное. А также использовать современные методы проектирования т.н. нисходящее проектирование. При этом сложная задача разбивается на ряд подзадач, для каждой из которых составляется набор подпрограмм, из которых компонуется общая программа. Язык Турбо-Паскаль содержит два типа подпрограмм: Процедуры. Функции. Процедуры в Паскале Структура процедуры аналогична структуре программы и состоит из заголовка и блока (тела процедуры). PROCEDURE <имя>(<сп. форм. пар.>); <блок> где PROCEDURE – зарезервированное слово процедура; <имя> - имя процедуры, является уникальным, выбирается по общим пра- вилам, желательно чтобы оно отражало смысл процедуры; <сп. форм. пар.> - список формальных параметров т.е. список имен обозначаю- щих исходные данные и результат работы процедуры с указани- ем их типов; <блок> - тело процедуры представляющее разделы описаний и раздел операторов, представляющий составной оператор (совокупность операторов, заключенных в операторные скобки BEGIN END). Разделы описаний процедуры содержат те же разделы что и основная программа, в том числе описания подпрограмм низшего уровня (вложенных). Глобальные объекты – это объекты, описанные в разделах описаний основной программе. Областью их действия является программа и все, содержащиеся в ней подпрограммы. Локальные объекты – это объекты, описанные в разделах описаний подпрограммы. Областью их действия является подпрограмма и все содержащиеся в ней подпрограммы низшего уровня. Локальные описания отменяют глобальные. Оператор вызова процедуры активизирует процедуру. Он имеет вид: <имя>(<сп. факт. пар.>); где: <имя> - имя процедуры; <сп. факт. пар.> - список фактических параметров. Это список конкретных значений, имен и выражений подставляемых вместо формальных параметров и передаваемых в подпрограмму, а так же возвращаемые результаты обработки. Список фактических параметров может отсутствовать. Между формальными и фактическими параметрами существует взаимно - однозначное соответствие по количеству, порядку следования и типу. Виды параметров в Паскале Различают четыре вида параметров: - параметры- значения; - параметры- переменные; - параметры- процедуры; - параметры- функции. Параметры- значения – используются для передачи исходных данных в подпрограмму. Формальные параметры при этом записываются через запятую с указанием их типов. Они получают значения фактических параметров, но не могут передавать свои значения фактическим параметрам. Параметры- переменные – играют роль как входных, так и выходных (возвращаемых) параметров процедуры. В списке формальных параметров они перечисляются после слова Var с указанием их типов. Параметры- процедуры – указываются после слова Procedure. Параметры- функции - . указываются после слова Function.

 

Вопрос40.

Описание и вызов подпрограммы-функции. Пример программы.

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

FUNCTION <имя>(<сп. форм. пар.>):<тип>;

<блок>;

где: FUNCTION – зарезервированное слово функция; <имя> - имя функции, является уникальным, выбирается по общим правилам, желательно чтобы оно отражало смысл функции; <сп. форм. пар.> - список формальных параметров т.е. список имен обозначающих исходные данные функции с указанием их типов; <тип> - тип результата возвращаемого функцией и присваиваемого имени функции; <блок> - тело процедуры представляющее разделы описаний и раздел операторов, представляющий составной оператор (совокупность операторов, заключенных в операторные скобки BEGIN END). Разделы описаний функции содержат те же разделы что и основная программа, в том числе описания подпрограмм низшего уровня (вложенных). В содержательной части функции ее имени должен быть присвоен результат работы функции. Вызов функции представляет собой операнд (указатель функции) в отличии от процедуры обращение к которой представляет оператор. Он имеет вид: <имя>(<сп. факт. пар.>); где: <имя> - имя функции (указатель); <сп. факт. пар.> - список фактических параметров. Это список конкретных значений, имен и выражений подставляемых вместо формальных параметров и передаваемых в функцию. Отличие процедуры от функции Функция в отличие от процедуры возвращает единственное скалярное значение Результат вычисления функции присваивается имени, а процедуре входит в список параметров. Имя функции имеет тип. Обращение к функции представляет операнд, а процедуры оператор.

 

Вопрос41.

Описание и вызов подпрограммы-процедуры. Пример программы.

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

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

Формат описания процедуры имеет вид:

procedure имя процедуры (формальные параметры); раздел описаний процедурыbegin исполняемая часть процедуры end;

Формат описания функции:

function имя функции (формальные параметры):тип результата; раздел описаний функцииbegin исполняемая часть функции end;

Формальные параметры в заголовке процедур и функций записываются в виде:

var имя праметра: имя типа

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

Вызов процедуры производится оператором, имеющим следующий формат:

имя процедуры(список фактических параметров);

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

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

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

имя функции := результат;

При вызове процедур и функций необходимо соблюдать следущие правила:

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

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

Рассмотрим использование процедуры на примере программы поиска максимума из двух целых чисел.

var x,y,m,n: integer; procedure MaxNumber(a,b: integer; var max: integer);begin if a>b then max:=a else max:=b;end; begin write('Введите x,y '); readln(x,y); MaxNumber(x,y,m); MaxNumber(2,x+y,n); writeln('m=',m,'n=',n);end.

Аналогичную задачу, но уже с использованием функций, можно решить так:

var x,y,m,n: integer; function MaxNumber(a,b: integer): integer; var max: integer;begin if a>b then max:=a else max:=b; MaxNumber := max;end; begin write('Введите x,y '); readln(x,y); m := MaxNumber(x,y); n := MaxNumber(2,x+y); writeln('m=',m,'n=',n);end.

 

 

Вопрос42.

Файлы и их виды в языке Pascal. Стандартные процедуры для работы с файлами. Пример программы.

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

Имена дисковых файлов. Имя содержит от 1 до 8 разрешенных символов, т.е. букв, цифр и специальных символов:_ - $ # & @ ! % ’ ^ ( ) { } . Имя начинается с любого символа. За именем может следовать расширение, которое содержит от 1 до 3 символов, и отделяется от имени точкой. Расширение, как правило, характеризует разновидность файла.

Задание Создать файл, внести в него последовательность строчных и прописных букв. Прочитывая их с этого файла символы в одиночку заменять все строчные символы на прописные. Выбор алгоритма решения задачи В данной задаче необходимо создать файл, внести у него русский текст, закрыть его (при этом все, что у него записывается сохраняется). После этого необходимо открыть его, считать все буквы и заменить символы на прописные. Результат вывести на консоль. Описание решения задачи Данную задачу можно развязать следующим способом: объявим файл типа char ff=file of char. Соединяем его с физическим диском assign(f, 'c:lab7.txt'), создаем и открываем его Rewrite(f). После этого вносим в него необходимую информацию. Закрываем его close(f). После этого открываем его для считывания. Делаем цикл пока нет конца файла и в этом цикле изменяем все буквы на прописные (upcase(text2[i]);). Схема алгоритма решения задачи Текст программы PROGRAM lab;

Type ff=file of char;

VAR i,max:byte;

f:ff;

text:string;

text2:array[1..255] of char;

begin assign(f, 'c:lab7.txt'); {присвоение файлу a.txt логическое имя f }

Rewrite(f); {открытие файла для записи}

reset(f);

write('vvedite RUSKIY TEXT: ');

readln(text);

for i:=1 to length(text) do {запись в файл}

write(f,text[i]);

close(f); {закрытие файла}

reset(f); {открытие файла}

i := 0;

while (Eof(f)=false) do begin {цикл считывания с файла}

i:=i+1;

read(f,text2[i]);

text2[i] := upcase(text2[i]); {замена на прописные буквы}

end;

close(f); {закрытие файла}

reset(f); {открытие файла}

writeln('Text v file: ');

max := i;

for i:=1 to max do begin {цикл записи в файл}

write(text2[i]); {вывод в консоль}

write(f,text2[i]);

end;

close(f); {закрытие файла}

readln;

end.

 

 

Вопрос43.

Строки и символы, их описание и доступ. Операции, функции и процедуры для работы со строками. Пример программы.

– Конец работы –

Эта тема принадлежит разделу:

Разделы программы на языке Pascal, их обозначение

Разделы программы на языке Pascal их обозначение... Программа на языке Pascal может включать Заголовок программы Program... Вопрос...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Основные действия с двумерными массивами Паскаля

Что будем делать с полученным материалом:

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

Все темы данного раздела:

Программа
Напишем программу вычисления a = c+b. Программа начинается с заголовка Program – имя программы; затем идут разделы описаний (до 5) и раздел операторов, который нач

END. {конец программы}.
  Вопрос18. Операции языка Pascal, их обозначение и особенности. В языке Pascal в основном используются следующие операции:

Program z2; Var a,b,c,R,V,F:real; Begin read(b,c,R); a:=sqrt(sqr(c)-sqr(b)); V:=4/3*pi*R*R*R; F:=(exp(0.2*ln(V))+c)/a; writeln(F); End.
  Вопрос23. Операторы вывода, их вид и назначение. Форматы вывода. Пример программы. Операторы вывода имеют вид : write (V1

Program z2; Var a,b,c,R,V,F:real; Begin read(b,c,R); a:=sqrt(sqr(c)-sqr(b)); V:=4/3*pi*R*R*R; F:=(exp(0.2*ln(V))+c)/a; writeln(F); End.
  Вопрос25. Оператор безусловного перехода, его вид и назначение. Пример программы. Для реализации алгоритма разветвляющейся структуры в языке Pa

Фрагменты операций с одномерными массивами
1. Ввод элементов массива writeln('Введи массив A'); for i:=1 to n do read(A[i]); 2. Вывод элементов массива writeln('Массив A')

Строковый тип данных
  Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов. Количество симв

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

Построение множества
Чтобы во множестве появились элементы, необходимо выполнить оператор присваивания, в левой части которого стоит имя переменной-множества, а в правой — конструктор множества или некоторое выражение

Объединение, пересечение и разность множеств
Над множествами выполнимы объединение (+), пересечение (*) и разность (-). Объединение двух множеств A и B (A + B) – это новое множество, состоящее из элементов, принадлежащих мно

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги