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

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

ЗАДАНИЕ 2. Напишите процедуру заполнения массива А размером n х m следующим образом (по “змейке”)





Напишите процедуру заполнения массива А размером n х m следующим образом (по “змейке”).

Например, при n=6 и m=8

               
               
               
.. .. .. .. .. .. .. ..
               

Решение:

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

В данном случае:

· Если ряд нечетный (то есть когда, номер строки i нечетное число):

А[i, j] = (i-1)*m+j;

· Если ряд четный: A[i, j] = i*m – j+1.

Тогда искомая процедура имеет вид:

Procedure fill (var x: dm);

Var

i, j: integer;

begin

for i: =1 to n do

for j: =1 to m do

if i mod 2=1

then x[i, j]: =(i-1)*m+j

else x[i, j]: =i*m-j+1

end;

 

ЗАДАНИЕ 3

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

Решение:

Разобьем предложение на отдельные слова и каждое будем хранить как элемент массива строк.

Program slova;

const

n=30;

Type

mstr=array[1.. n] of string;

var

a: mstr;

str: string [255];

k: byte;

Procedure Init (var b: mstr);

Var

i: integer;

begin

k: =1;

{пока не встретится пробел, формируем очередное слово k, прибавляя по одной букве}

for i: =1 to lengch (str) –1 do

if str[i] < > ’ ‘

then b[k]: =b[k]+str[i]

else

{если это не последний символ, то увеличиваем счетчик слов и начинаем формировать очередное слово}

if i < > Lengch (str)-1

then

begin

inc (k);

b[k]: =’ ‘

end

end;

begin

writeln (‘Введите предложение’, k);

readln (str);

Init (A);

writeln (‘Всего слов’, k-1);

{Просматриваем все слова, если первый символ очередного слова равен букве ‘a’, то выводим его}

for i: =1 to k do

if a[i][1]=’a’

then write (A[i], ‘ ‘);

readln

end.

ЗАДАНИЕ 4

(задачи повышенной сложности)

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

 

Решение:

Procedure frame (l: integer; t: integer; w: integer; h: integer);

{l, t – координаты верхнего левого угла, w – ширина рамки, h – высота рамки}

var

x, y: integer; {координаты выводимого символа}

i: integer;

c1, c2, c3, c4, c5, c6: char; {символы, из которых рисуется рамка}

begin

c1: =chr (218); {символ верхнего левого угла}

c2: =chr (196); {символ горизонтальной линейки}

c3: =chr (191); {символ правого верхнего угла}

c4: =chr (179); {символ вертикальной линейки}

c5: =chr (192); {символ левого нижнего угла}

c6: =chr (217); {символ правого нижнего угла}

GoToXY (l, t);

write (c1);

for i: =1 to w-2 do {символы верхней границы рамки}

write (c2);

write (c3);

y: =t+1;

x: =l+w-1;

for i: =1 to h-2 do {символы левой и правой границ}

begin

GoToXY (l, y);

write (c4);

GoToXY (x, y);

write (c4);

y: =y+1;

end;

GoToXY (l, y);

write (c5);

for i: =1 to w-2 do {символы нижней границы}

write (c2);

write (c6);

end.

Задания для самостоятельного решения.







Дата добавления: 2014-11-10; просмотров: 895. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


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


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


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

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

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

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

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

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

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