|
Пример фрагмента программы ввода массива ПаскаляVar A: array [1..10] of integer; i: integer; Begin For i:=1 to 10 do Readln (a[i]);
Рассмотрим теперь случай, когда массив Паскаля заполняется автоматически случайными числами, для этого будем использовать функцию random (N). Пример фрагмента программы заполнения массива Паскаля случайными числами. Var A: array [1..10] of integer; i: integer; Begin For i:=1 to 10 do A[i]:= random (10);
Вывод массива Паскаля Вывод массива в Паскале осуществляется также поэлементно, в цикле, где параметром выступает индекс массива, принимая последовательно все значения от первого до последнего. Пример фрагмента программы вывода массива Паскаля в строку Var A: array [1..10] of integer; i: integer; Begin For i:=1 to 10 do Write (a [i],); Вывод можно осуществить и в столбик. Пример программы вывода массива Паскаля в столбик Var A: array [1..10] of integer; i: integer; For i:=1 to 10 do begin Writeln (‘a[‘, i,’]=’, a[i]);
ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧИ С ИСПОЛЬЗОВАНИЕМ МАССИВОВ ПАСКАЛЯ Нахождение суммы и произведения элементов массива Задачи данного типа являются достаточно простыми и сводятся к поэлементному перебору массива и выполнению соответствующих алгебраических операций. Алгоритм решения задачи: Перед этим вводятся "пустые" переменные, значения которых в цикле for перезаписываются. Сумма элементов массива находится путем прибавления элемента к прежнему значению переменной. Произведение – умножением прежнего значения переменной на очередной элемент. Первым значением переменной для суммы должен быть ноль, для произведения – единица. Переменные s и p хранят соответственно значения суммы и произведения элементов массива. В соответствующих циклах их значения постепенно увеличиваются. Программа на языке Паскаль: Program pr;var a: array [1..10] of real; s, p: real; i: integer; begin for i:= 1 to 10 do read(a[i]); s:= 0; for i:= 1 to 10 do s:= s + a[i]; p:= 1; for i:= 1 to 10 do p:= p * a[i]; writeln('Сумма элементов: ', s:10:2); writeln('Произведение элементов: ', p:20:2); end.Нахождение среднеарифметического элементов массива.
Решение задачи сводится к нахождению суммы элементов массива и деление суммы на количество элементов массива. Программа на языке Паскаль: Program pr;var a: array [1..10] of real; s, sa: real; i: integer; begin for i:= 1 to 10 do read(a[i]); s:= 0; for i:= 1 to 10 do s:= s + a[i]; sa:=s/10; writeln(‘Среднее арифметическое: ', sa:10:2); end.
Подсчет элементов массива удовлетворяющим некоторым условиям Подсчет количества элементов массива, удовлетворяющих заданному условию, производится по алгоритмам, аналогичным вычислению суммы. Отличие заключается в том, что вместо добавления элемента массива к сумме, переменная – счетчик (k) увеличивается на единицу (k=k+1). Таким образом, если вместо s=0 и s=s+ai записать k=0 и k=k+1, то получим алгоритмы подсчета количества элементов массива. Пример В одномерном массиве a размерностью n, вычислить количество элементов равных заданному числу B и стоящих на четных местах. Решение Program pr;var a: array [1..10] of real; k: real; i: integer; begin for i:= 1 to 10 do read(a[i]); k:= 0; for i:= 1 to 10 do if a[i]=b then k:= k + 1 writeln(‘Количество элементов равное В:= ', k); end.
СТРОКОВЫЙ ТИП ДАННЫХ. ПРОЦЕДУРЫ ОБРАБОТКИ СТРОКИ СИМВОЛОВ: DELETE, INSERT С помощью процедур Insert и Delete Вы можете: вставить фрагмент из одной строки в другую, удалить фрагмент из строки. Процедура Insert вставляет в исходную строку, начиная с указанной позиции, какую-либо другую строку. Оператор Insert(Word1,Words,4); указывает ТП, что необходимо в строку Words, начиная с 4-ой позиции (перед 4-ой позицией), ВСТАВИТЬ строку Word1. Процедура Delete удаляет в исходной строке фрагмент определенной длины, начинающийся с указанной позиции. Так, оператор Delete(Words,2,3); удаляет из строки Words фрагмент, состоящий из трех символов и начинающийся со второй позиции. Проиллюстрируем возможности этих двух процедур на хорошо знакомом нам слове "компьютеризация". Program Demo_function_insert_and_delete;
Var Words: STRING[79]; Word1: STRING[20]; Begin WriteLn; Words:= 'компьютеризация'; WriteLn(Words); Delete(Words,1,7); WriteLn(Words); Delete(Words,3,2); WriteLn(Words); Word1:= 'Г'; Insert(Word1,Words,1); WriteLn(Words); Word1:= 'не'; Insert(Word1,Words,3); WriteLn(Words); End. В результате работы данной программы на экран будут выведены следующие строки: компьютеризация еризация ерация Герация Генерация
ОПЕРАЦИИ НАД СИМВОЛЬНЫМИ ДАННЫМИ Строка (string) - это последовательность литер. Тип данных (string) определяет строки с максимальной длиной 255 символов. Переменная этого типа может принимать значения переменной длины. Например, MaxLine: string; City: string[30] Строковая переменная может иметь атрибут длины, определяющий ее максимальную длину. Текущая длина строковой переменной может быть определена с помощью встроенной функции Length. для заданного значения типа string эта функция возвращает целое значение, показывающее количество литер в строке. Выражения, в которых операндами служат строки, называются строковыми выражениями. Над строками определены две операции: 1. Операция сцепления (+) применяется для сцепления нескольких строк в одну. Например, SumStr:= 'Турбо'+'Паскаль'+'7.0' 2. Операции отношения (=, <>, >, <, >=, <=) проводят сравнение двух строк слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в стандартной таблице обмена информацией. Результат выполнения операций отношения над строками всегда имеет булевой тип. Например, выражение 'MS-DOS'<'MS-Dos' имеет значение True Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная. Строки считаются равными, если они совпадают по длине и содержат одни и те же символы на соответствующих местах в строке.
СТРОКОВЫЙ ТИП ДАННЫХ. СТАНДАРТНЫЕ ФУНКЦИИ ДЛЯ ОБРАБОТКИ СТРОКИ СИМВОЛОВ: LENGTH, POS, CONCAT, COPY Функция Length (длина) позволяет определить фактическую длину текстовой строки, хранящейся в указанной переменной (а не величину предельного размера строки, установленную при декларации): Program Demo_Length; Var Word: string; Begin write ('Введите слово:'); readln(Word); writeln('Это слово состоит из ',Length (Word),' букв'); End. Функция Pos C помощью функции Pos Вы можете осуществить поиск некоторого фрагмента в строке. Если заданный фрагмент в строке присутствует, то функция возвращает номер позиции, с которой он начинается. Если фрагмент не найден, то функция возвращает нуль. POS(X,A) находит в строке A подстроку X (позицию вхождения). Результат выполнения функции - целое число. Функция Concat Функция Concat (Str1,Str2,...,StrN) выполняет конкатенацию (или сцепление) строк Str1,Str2,...,StrN в том порядке, в каком они указаны в списке параметров. Сумма символов всех сцепленных строк не должна превышать 255. Program Demo_Concat; Функция Copy Функция Copy позволяет копировать фрагмент некоторой строки из одной переменной в другую. Вызывая эту функцию нужно указать следующие параметры: COPY(A,K,L) имя строки, из которой должен извлекаться копируемый фрагмент, позицию в строке, начиная с которой будет копироваться фрагмент, число копируемых символов. Program DemoFunctionCopy;
Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем... Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право... ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|