Самарский техникум авиационного и промышленного машиностроения 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Самарский техникум авиационного и промышленного машиностроения



Самарский техникум авиационного и промышленного машиностроения

Им. Д.И. Козлова.

 

УТВЕРЖДАЮ

 

Зам. директора по УР

____________________Н.В. Кривчун

от «______»_______________201_г.

 

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

 по выполнению практических работ I часть. «Паскаль»

по дисциплине

«Основы алгоритмизации и программирования»

 

специальности

230103 «Автоматизированные системы обработки информации и управления»

 

студентов 3 курса дневного (заочного) отделения

 

 

РАССМОТРЕНО

 

СОСТАВИЛ

на заседании предметно-цикловой комиссии

 

Зуева А.А.

 

     

 

 

 

Протокол

 

     

 

 

 

 

от «

 

»

 

201_ года  

 

Председатель Дормидонтова В.А.

 

 

 

 

 

 

 

 

 

ОДОБРЕНО

 

 

 

 

 

Губарь А.С.

 

 

Методист  

 

 

 

                       

 

 

2012


Введение

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

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

 


Практическая работа № 1

Тема: Составление и описание алгоритмов.

Цель:

1. Усвоить понятия: алгоритм, свойства алгоритма, виды алгоритмов, способы представления алгоритмов.

2. Сформировать первичные навыки построения алгоритмов с использованием циклов и ветвления (условий).

3. Отработка навыков составления алгоритмов и представление их в виде блок-схем.

Оборудование: компьютеры IBM PC, инструкция.

Теоретические сведения.

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

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

 

Название символа Обозначение и пример заполнения Пояснение
Процесс, присваивание Вычислительное действие или последовательность действий (обрабатывает данные и размещает результаты в ячейки памяти с указанным именем)
Блок проверка условия Проверка условий
Блок цикла с параметром Начало цикла
Предопределенный процесс (блок обращения к подпрограмме) Вычисления по подпрограмме, стандартной подпрограмме
Ввод-вывод Ввод-вывод в общем виде
Пуск-остановка Начало, конец алгоритма, вход и выход в подпрограмму
Документ Вывод результатов на печать

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

Схема ветвления в общем случае отвечает условному оператору и состоит из условия Р и блоков S1 и S2. Если один из блоков отсутствует, то приходим к неполному условному оператору. Она обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах:

  • Если – то;
  • Если – то – иначе;
  • выбор;
  • выбор – иначе.

 

Базовая структура "цикл" обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Схема цикла состоит из логического элемента с проверкой усло­вия Р и блока S, называемого телом цикла. В простейшем случае S является последовательностью обычных арифметических операторов. В случае, изобра­женном на рис. а, блок S размещен после проверки условия Р (цикл с предусловием). Этот вариант базовой структуры называется цикл-ПОКА. Во втором случае схемы цикла (рис. б) блок S расположен до проверки условия Р (цикл с постусловием). Этой структуре отвечает вариант цикл-ДО.

 

 


Задание 1

1. Составить простые алгоритмы в двух видах (словесное описание и в виде блок-схемы):

а) Определить расстояние, пройденное человеком, если известно время, скорость движения, и движение было равномерным.

б) Вычислить значение: z = (5+a)/(7-y)

в) Создать алгоритм, в котором запрашивается имя и затем выводится на экран приветствие его обладателя.

2. Составить алгоритмы с использованием схемы ветвления в двух видах (словесное описание и в виде блок-схемы):

а) сказочного алгоритма: “Поехал Иван – Царевич на сером волке за Жар – Птицей. Ехал он, ехал, глядь – перед ним лежит огромный камень. На камне надпись: “Направо пойдешь – коня потеряешь, налево пойдешь – голову сложишь…”

б) определения наибольшего из двух заданных целых чисел А и В

в) Составить блок-схему и алгоритм, в котором значение переменной вычисляется по формуле:

y = a + b, если а – нечетное и y = a*b, если а – четное (условие четности числа: а mod 2 = 0).

3. Составить алгоритмы с использованием схем циклов в двух видах (словесное описание и в виде блок-схемы):

а) алгоритм написания М, Ш (использование цикла N раз).

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

в) Составить алгоритм, который выводит на экран сумму квадратов первых N натуральных чисел (от 1 до N) с использованием цикла с постусловием.

4. Результаты показать учителю.

Дополнительное задание.

(каждое задание дополнительно 2 балла)

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

 


  1. Дана блок-схема алгоритма

 

Определить результат выполнения алгоритма при определённых значениях исходных данных (исходные данные получить у учителя)

  1. Составить алгоритм нахождения наибольшего из трех заданных чисел А, В, и С.

3. Составить алгоритм (словесно и блок-схема) нахождения суммы 10 членов последовательности с общим членом ak=2 k+1.

Вопросы для защиты практической работы:

  1. Что такое алгоритм?
  2. Что такое исполнитель алгоритма?
  3. Чем характеризуется исполнитель алгоритма?
  4. Назовите способы представления алгоритмов.
  5. Перечислите свойства алгоритмов.
  6. Назовите основные понятия, использующиеся в алгоритмических языках
  7. Что такое линейный алгоритм и какой схемой он представляется?
  8. Что такое разветвляющий алгоритм и с помощью каких схем его можно представить?
  9. Назовите основные варианты структуры ветвления.
  10. Что такое циклический алгоритм?
  11. Какие виды циклических алгоритмов вы знаете?
  12. Какие команды служат для ввода-вывода данных?
  13. В чем заключается структурный подход к созданию алгоритмов?
  14. Что такое модуль алгоритма (программы)?

Практическая работа № 2

Begin

 <тело программы>;

End.

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

Оператор присваивания – это один из основных операторов языка Turbo Pascal. В левой части указывается имя переменной, правая часть – это выражение того же типа, что и переменная. Символы «:=» связывают левую и правую части оператора присваивания и означают «присвоить значение». Данные символы рассматриваются как один специальный символ и пишутся слитно.

Например: а := b + c;

 

Примеры решенийзадач

1. Составить программу «Приветствие».

Program Hello;

Begin

writeln (‘Здравствуй, компьютер!’);

write (‘Привет,’); writeln (‘студент.’)

End.

2. Найти сумму двух чисел

Program Summa; Var X,Y, Summa: Real; Begin Wirte(‘Введите числа X и Y’); Readln (X,Y); Summa:=X+Y; Writeln(‘Сумма чисел X и Y равна’, Summa) End.  {заголовок программы} {раздел объявления переменных} {тело программы} {вывод сообщения на экран} {чтение двух чисел} {определение суммы} {вывод результата}

Практическая работа № 3

Тип данных Integer

Действия с целыми числами

В типе данных Integer (целое) существует пять подтипов, различающихся:

– множеством значений;

– количеством занимаемой памяти;

Тип Название Диапазон значений Размер
Shortint Короткое целое -128,127 8 бит
Integer Целое - 32768, 32767 16 бит
Longint Длинное целое -2147483648, 2147483647 32 бита
Byte Байт 0, 255 8 бит
Word Слово 0, 65535 16 бит

Операции над целыми числами

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

Операция Div – выполняет целочисленное деление. Операция Mod находит остаток от целочисленного деления.

Тип данных Real

Примеры решений задач

1. Составить программу, вычисляющую значение переменной m при данных i, j, k: m = .

Program example_1;

Var i, j, k: Integer;

    m: Real;

Begin

 Write ('Введите значения для i, j и k =>:');

  Readln (i, j, k);

 m:=(i+j)/(k+1);

  Writeln ('Значение для m=',m);

End.


Задачи для самостоятельной работы

1. Дан радиус окружности, подсчитать длину окружности.

2. Дан радиус окружности, подсчитать площадь круга.

3. Дан прямоугольный треугольник с катетами a и b. Найти гипотенузу c.

4. Дан произвольный треугольник. Известны стороны a и b и угол между ними . Найти третью сторону c.

5. Дан произвольный треугольник со сторонами a, b и c. Найти площадь треугольника.

6. Вычислить объём шара радиуса R.

7. Найти среднее арифметическое и среднее геометрическое трёх заданных чисел.

8. Найти расстояние между двумя точками с данными координатами.

9. По ребру найти площадь грани, площадь боковой поверхности и объём куба.

10. Вычислить периметр и площадь правильного 10-угольника, вписанного в окружность заданного радиуса.

11. Для заданного целого числа а напечатать следующую таблицу:

а

а3 а6

а6 а3 а

12. Даны два действительных числа a и b. Получить их сумму, разность и произведение.

13. Дана длина ребра куба. Найти объём куба и площадь его боковой поверхности.

14. Даны два действительных положительных числа. Найти среднеарифметическое и среднегеометрическое этих чисел (или их модулей).

15. Даны катеты прямоугольного треугольника. Найти его гипотенузу и площадь.

16. Смешано V1 литров воды температуры t1 и V2 литров воды температуры t2. Найти объём и температуру образовавшейся смеси.

17. Определить периметр правильного n-угольника, описанного около окружности радиуса r.

18. Дана сторона равностороннего треугольника. Найти площадь этого треугольника.

19. Даны гипотенуза и катет прямоугольного треугольника. Найти катет и радиус вписанной окружности.

20. Найти сумму членов арифметической прогрессии по данным значениям: a, d, n.

21. Треугольник задан длинами сторон. Найти:

а) длины высот;

б) длины биссектрис;

в) длины медиан;

г) радиусы вписанной и описанной окружностей.

22. Вычислить расстояние между двумя точками с координатами x1,y1 и x2,y2.

23. Даны целые числа k, m, действительные числа x, y, z. При k<m2 или заменить модулем соответственно значения x, y или z, а два других уменьшить на 0.5.

24. Треугольник задан координатами своих вершин. Найти периметр и площадь треугольника.

25. Дано действительное число х. Получить целую часть х; затем число х, округлённое до ближайшего целого; затем число без дробных цифр.

26. Даны действительные числа x,y. Вычислить расстояние от точки плоскости с координатами (x,y) до границы квадрата с вершинами:

а) (-0.5,-0.5),(-0.5,0.5),(0.5,0.5),(0.5,-0.5);

б) (0,0),(0,1),(1,1),(1,0).

Имеется в виду минимум расстояний от данной точки до точек квадрата.

27. Даны целые (либо вещественные) числа x1, y1, x2, y2, x3, y3. Известно, что точки с вершинами (x1, y1), (x2, y2),(x3, y3) являются

тремя вершинами некоторого прямоугольника. Найти координаты четвёртой вершины.

Практическая работа № 4

Укороченная развилка

If < условие> then < оператор 1 >.

 

Оператор выбора CASE

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

Case S of

C1: <Оператор1>

С2: <Оператор2>

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

CN: <ОператорN>

Else <Оператор>

End;

S - выражение порядкового типа значение которого вычисляется;

C1, C2,…,CN – константы, с которыми сравнивается значение выражения S;

<Оператор1>, <Оператор2>, <Оператор N> - операторы, из которых выполняется тот, с константой которого совпадает значение выражения S. Ветвь оператора else является необязательной. Если она отсутствует и значение выражения S не совпадает ни с одной константой, весь оператор рассматривается как пустой.

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

Схематически такую конструкцию можно изобразить следующим образом:

 

 


Примеры решений задач

1. Даны действительные числа х и у. Получить max(x,y).

Program maximum;

Var

x,y:real;

Begin

 Write ('Введите х и у');

Readln (x,y);

If x>y then m:=x else m:=y;

Write (' Максимальное m=',m);

End.

 

2. Ввести число от 1 до 100, если введенное число попадет в диапазон [1..10] определить его четность.

  Program Chisla;

Var

I: integer;

Begin

Write ('Введите число');

Readln (i);

Case i of

   2, 4, 6, 8: Writeln (‘Четная цифра’)

   1, 3, 5, 7, 9: Writeln (‘Нечетная цифра’)

   10..100: Writeln (‘Число от 10 до 100’)

else

Writeln (‘Отрицательное число или больше 100’)

end;

End.                  


Список задач

1. Даны действительные числа x,y. Получить:

а) max(x,y),

б) min(x,y),

в) max(x,y),min(x,y).

2. Даны действительные числа x, y, z. Вычислить:

а) max(x + y + z, x · y · z),

б) min2 (x + y + z/2, x · y · z) + 1.

3. Даны действительные числа a, b, c. Проверить выполняется ли неравенство a < b < c.

4. Найти min значение из трёх величин, определяемых арифмети­ческими выражениями a = sin(x), b = cos(x), c = ln(x) при заданных значениях x.

5. Даны действительные числа a, b, c. Удвоить эти числа, если
a > b > c и заменить их абсолютными значениями, если это не так.

6. Даны два действительных числа. Заменить первое число нулём, если оно меньше или равно второму, и оставить числа без изменения иначе.

7. Даны действительные числа x,y. Меньшее из этих двух чисел заменить их полусуммой, а большее – их удвоенным произведением.

8. Даны действительные числа a, b, c, d. Если a < b < c < d, то каждое число заменить наибольшим из них; если a > b > c > d, то числа оставить без изменения; иначе все числа заменяются их квадратами.

9. Даны действительные числа a, b, c. Выяснить, имеет ли уравнение ax2+bx+c=0 действительные корни. Если действительные корни имеются, то найти их. В противном случае ответом должно служить сообщение, что действительных корней нет.

10. Даны действительные положительные числа a, b, c, x, y. Выяснить, прой­дёт ли кирпич с рёбрами a, b, c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из рёбер было параллельно или перпендикулярно каждой из сторон отверстия.

11. Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа если это не так.

12. Даны три действительных числа. Выбрать из них те, которые принадлежат интервалу (1,3).

13. Даны три действительных числа. Возвести в квадрат те из них, значения которых не отрицательны.

14. Если сумма трёх попарно различных действительных чисел x,y,z меньше единицы, то наименьшее из этих трёх чисел заменить полусуммой двух других; иначе заменить меньшее из x и y полусуммой двух оставшихся значений.

15. Даны два числа. Если первое число больше второго по абсолютной величине, то необходимо уменьшить первое в 5 раз, иначе оставить числа без изменения.

16. Даны действительные положительные числа x, y, z.

а) Выяснить, существует ли треугольник с длинами сторон x, y, z.

б) Если треугольник существует, то ответить - является ли он остро­уголь­ным, тупоугольным или прямоугольным.

17. Даны действительные числа x1,x2,x3,y1,y2,y3. Принадлежит ли начало координат треугольнику с вершинами (x1,y1), (x2,y2), (x3,y3)?

18. Составить программу определения большей площади из двух фигур круга или квадрата. Известно, что сторона квадрата равна а, радиус круга равен r. Вывести и напечатать значение площади большей фигуры.

19. Даны действительные, положительные числа a,b,c,d. Выяснить, можно ли построить четырёхугольник с такими длинами сторон.

20. Определить, является ли целое число чётным.

21. Определить, верно ли, что при делении неотрицательного целого числа а на положительное целое число b, получается остаток равный одному из двух заданных чисел r или s.

22. Вывести значение y(x) в зависимости от введенного значения аргумента:

а)     б)

в)     г)

д) , е)

 


Практическая работа № 5

Тема: «Операторы повтора»

 

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

Имеется два вида циклических алгоритмов: цикл с предусловием (цикл ПОКА) и цикл с постусловием (цикл ДО). Оператор цикла REPEAT организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы один раз. Выход из цикла осуществляется при истинности некоторого логического выражения. Структура оператора:

repeat <тело цикла> until <условие>;

Оператор цикла WHILE организует выполнение одного оператора неизвестное заранее число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется в начале каждого повтора, тело цикла может не выполняться ни разу. Структура оператора цикла имеет вид:

while <условие> do <тело цикла>;

Блок-схемы циклических конструкций могут быть изображены следующим образом:

 

     
 

 


Оператор цикла FOR организует выполнение одного оператора заранее известное число раз. Существует два варианта оператора. 

for <переменная>:=<нач. значение> to <кон. значение> do <оператор>;

for <переменная>:=<нач. значение> downto <кон. значение>
                                                                  do <оператор>;

 

 

 


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

Примеры решений задач.

1. Вычислить N! (факториал).

Program Fak to rial;

Var n, i, f: integer;

Begin

f:=1;

Write ('Введите n=');

Readln (n);

For i:=2 to n do

    f:=f*i;

Writeln (n,'!=',f);

End.

 

2. Найти сумму цифр в записи данного натурального числа;

  Program SUM;

Var a,b,s,k:Integer;

Begin

Readln (a);

s:=0;

While a<>0 do

Begin

    b:=b mod 10;

    s:=s+b;

    a:= trunc (a/10); { a:= a div 10 }

end;

Writeln (s);

End.


Список задач

1. Дано натуральное число n. Получить все пифагоровы тройки натуральных чисел, каждое из которых не превосходит n, т.е. все такие тройки натуральных чисел a, b, c, что a2 + b2 = c2.

2. Дано натуральное число n. Найти все меньшие n числа Мерсенна. Число Мерсенна – это простое число, представленное в виде Mp=2p–1, где p – тоже простое число.

3. Два натуральных числа называют дружественными, если каждое из них равно сумме всех делителей другого, кроме самого этого числа. Найти все пары дружественных чисел, лежащих в диапазоне от 200 до 300.

4. Дано натуральное число n. Среди чисел 1, 2,..., n найти все такие, запись которых совпадает с последними цифрами записи их квадрата.

5. Назовём натуральное число палиндромом, если его запись читается одинаково как с начала так и с конца (пример: 4884, 393, 1, 22).

а) найти все меньшие 100 натуральные числа, которые являются палиндромами;

б)определить, является ли заданное натуральное число палиндромом;

в) найти все меньшие 100 натуральные числа, которые при возведении в квадрат дают палиндром;

г) найти все меньшие 100 натуральные числа-палиндромы, которые при возведении в квадрат дают палиндром;

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

е) верно ли, что это число содержит ровно три одинаковые цифры;

ж) верно ли, что все чётные цифры числа различны;

6. Дано натуральное число n (n>99). Определить число сотен в нём.

7. Дано натуральное число n (n<99). Выяснить, верно ли, что n2 равно кубу суммы цифр числа n.

8. Дано натуральное число n (n<9999).

а) сколько цифр в числе n?

б) чему равна сумма его цифр?

в) найти последнюю цифру числа.

г) найти первую цифру числа.

д) найти предпоследнюю цифру числа (в предположении, что n>10).

е) дано число m. Найти сумму m-последних цифр числа n.

ж) выяснить, входит ли цифра 3 в запись числа n.

з) поменять порядок цифр числа n на обратный.

и) переставить последнюю и первую цифры числа n.

к) приписать по единице в начало и конец записи числа n.

9. Является ли заданное натуральное число степенью двойки.

10. Разложить заданное число на простые множители.

11. Число, равное сумме всех своих делителей, включая единицу, называется совершенным. Найти и напечатать все совершенные числа в интервале от 2 до х.

12. Найти сумму квадратов чисел от m до n.

13. Найти сумму квадратов нечётных чисел в интервале, заданном значениями переменных m и n;

14. Найти сумму квадратов четных чисел в интервале, заданном значениями переменных m и n;

15. Найти сумму целых положительных чисел, кратных 4 и меньших 100.

16. Определить k - количество трёхзначных натуральных чисел, сумма цифр которых равна n (1,n,27). Операции деления, div и mod не использовать.

Вложенные циклы

17. Дано натуральное число n. Получить все натуральные числа, меньшие n и взаимно просты с ним.

18. Даны целые числа p и q. Получить все делители числа q, взаимно простые с p.

19. Дано натуральное число n. Получить все простые делители этого числа.

20. Найти 100 первых простых чисел.

21. Даны натуральные числа n,m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m.

22. Натуральное число называется совершенным, если оно равно сумме всех своих делителей за исключением самого себя. Например, 6=1+2+3.

Дано натуральное число n. Получить все совершенные числа, меньшие n.

23. Дано пять различных целых чисел. Найти среди них два числа, модуль разности которых имеет:

а) наибольшее значение;

б) наименьшее значение.

24. Вывести на экран числовой ряд действительных чисел от 10 до 20 с шагом 0,2.

25. Дано натуральное число n. Вычислить

а) 2n; б) n!; в) an; г) a(a+1)…(a+n-1); д) a(a-n)(a-2n)…(a-n·n).

е) ;

ж) ;

з) .

26.  Даны действительные числа x, а, натуральное число n. Вычислить .

27.  Дано действительное число a. Найти:

а) среди чисел  первое, большее a;

б) среди чисел  первое, меньшее a;

28. Даны действительные числа n и m. Найти наибольший делитель этих чисел, используя алгоритм Евклида.

29. Дано натуральное n. Найти .

30. Дано натуральное число n. Вычислить 1·2+2·3·4+…+…+n·(n+1)·…·2n.

31. Вычислить .

32. Даны натуральные числа n, k (n³k³0). Вычислить .

33.  Вычислить a) ; б) ; в) ; г) ; д) ;

е) ; ж) ; з)  и) ; к) ;          

л) ; м) ; н)  ; о) ; п) .

34. Дано натуральное число n. Вычислить произведение первых n сомножителей:

а) ; б) .


Практическая работа № 6

Примеры решений задач

1. Программа проверки введения клавиши ‘ Y ’.

Program keyp;

Var ch: char;

Begin

   Repeat

              Readln(ch);

   Until (ch=’y’) or (ch=’Y’)

End.

2. Программа вывода последовательностей букв.

Program abc_xyz;

Var c,d: char;

Begin

For c:=’a’ to ‘z’ do

   Begin

                          For d:=’a’ to c do write(d);

                          Writeln(‘ ‘)

              end

end.  


Список задач

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

2. Дано натуральное число n и n символов. Подсчитать, сколько раз среди данных символов встречается символ "+" и сколько раз символ "*".

3. Подсчитать общее число вхождений символов "+", "-", "*" в последовательности n символов.

4. Выделить символы, заключённые в фигурные скобки.

5. Удалить символы, заключённые в фигурные скобки.

6. Переставить местами группы символов While и Do.

7. Переставить местами группы символов Repeat и Until.

8. Подсчитать наибольшее число букв а, идущих подряд в данной последовательности символов.

9. Вычислить s- сумму порядковых номеров всех букв, входящих в слово SUM.

10. Напечатать текст, образованный литерами с порядковыми номерами 65, 71 и 69.

11. Если в заданный текст входит каждая из букв слова key, тогда напечатать yes, иначе no.

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

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

а) текст содержит (помимо букв) только одну цифру причём её числовое значение равно длине текста;

б) сумма числовых значений цифр, входящих в текст, равна длине текста;

14. Логической переменной b присвоить значение true, если между литерами 'a' и 'z' нет иных символов, кроме строчных латинских букв, и значение false иначе.


Практическая работа № 7

Тема: «Функции и процедуры»

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

1) ПРОЦЕДУРЫ:

Программа процедура предназначена для выполнения какой-то законченной последовательности действий. Любая процедура начинается с заголовка. В отличии от основной программы заголовок в процедуре обязателен. Он состоит из зарезервированного слова Procedur e, за которым следует идентификатор имени процедуры, а далее в круглых скобках список формальных параметров:

Procedure <имя процедуры> (список формальных параметров)

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

Procedure < имя процедуры >[(< аргументы >: < тип аргументов>]; Var <значение>:< тип значения >])];

Var < переменная 1>[,< переменная 2>,...]: тип;

Begin

< тело процедуры>;

End;

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

2) ФУНКЦИИ:

Подпрограмма-функция предназначена для вычисления какого-либо параметра. У подпрограммы-функции два основных отличия от процедуры:

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

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

Function < имя функции >[(< аргументы >: < тип аргументов>):< тип значения функции>];

Var < переменная 1>[,< переменная 2>,...]: тип;

Begin

 <тело функции>;

 <имя функции>:=<выражение значение функции>;

End;

 

Примеры решений задач.

1. Пример функции для вычисления факториала.

Function Fac to rial(N: Byte) :Longint;

Var

   Fact: longint;

   I: byte;

Begin

   Fact:=n;

   For i:=n-1 downto 2 do

              Fact:=fact*i;

   Fac to rial:=fact;

End;

Вариант 1. Использование процедуры без параметров.

Program Square1;

Var АВ, ВС, СD, DA, DB, a, b, c, p, s, S1, S2: Real;

Procedure geron;

Begin

p:= (a+b+c)/2; s:= sqrt(p*(p–a)*(p–b)*(p–a));

End;

Begin

WriteLn (‘Введите длины сторон АВ, ВС, СD, DA, DB’);

ReadLn (AB, ВС, СD, DA, DB);

a:= AB; b:=DB; c:=DA;

geron; S1:=s;

a:= BC; b:=CD; c:=DB;

geron; S2:=s;

WriteLn (‘Площадь равна:’, S1+S2)

End.

АВ, ВС, СD, DA, DB, a, b, c, p, s, S1, S2 – глобальные переменные;

 

Вариант 2. Использование процедуры без параметров.

Program Square2;

Var АВ, ВС, СD, DA, DB, a, b, c, s, S1, S2: Real;

Procedure geron;

Var p:Real;

Begin

p:= (a+b+c)/2; s:= sqrt(p*(p–a)*(p–b)*(p–a));



Поделиться:


Последнее изменение этой страницы: 2021-07-18; просмотров: 129; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.125.7 (0.336 с.)