ТОП 10:

Язык программирования Pascal



Условному оператору в языке Pascal соответствует последовательность:

 

if логическое выражение then begin первая группа операторов; end else begin вторая группа операторов; end;.

Руководствуясь блок-схемой, записываем алгоритм на языке Pascal:

 

Begin // начало программы

Readln(x); // ввод переменной

Readln(y); // ввод переменной

if x<0 then // проверка условия

Begin

f:=max(x,y); // первая группа операторов

End

Else

Begin

f:=min(x,y); // вторая группа операторов

end;

writeln('Znachenie f = ',f); // вывод на экран результата

End. // конец программы

 

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

 

Var

x,y,f:Double;

 

Реализация программы в среде Delphi выглядит следующим образом:

 

Program lab4; // заголовок программы

// указание компилятору создать консольное приложение

{$APPTYPE CONSOLE}

Uses

Math; // модуль, в котором определены функции max и min

Var // объявление переменных

x,y,f:Double;

Begin // начало программы

// сообщение пользователю о цели программы

writeln('Programma opredelaet znachenie funcii, zadanoi sledujushim obrazom:');

writeln('esli x<0 f=max(x,y), inache f=min(x,y)');

// сообщение пользователю о необходимости ввода переменной

write('Vvedite x: ');

Readln(x); // ввод переменной

// сообщение пользователю о необходимости ввода переменной

write('Vvedite y: ');

Readln(y); // ввод переменной

if x<0 then // проверка условия

Begin

f:=max(x,y); // первая группа операторов

End

Else

Begin

f:=min(x,y); // вторая группа операторов

end;

writeln('Znachenie f = ',f); // вывод на экран результата

Readln; // задерживаем закрытие консольного окна

End. // конец программы

 

Язык программирования C

Условному оператору в языке C соответствует последовательность:

 

if(логическое выражение) {первая группа операторов;} else {вторая группа операторов;}

 

Руководствуясь блок-схемой, записываем алгоритм на языке C:

 

scanf("%f",&x); // ввод x

scanf("%f",&y); // ввод y

if(x<0) {

f=max(x,y); // первая группа операторов

} else {

f=min(x,y); // вторая группа операторов

}

printf("Znachenie f = %f\n",f); // вывод на экран результата

 

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

 

float x,y,f;

 

Реализация программы в среде С Builder выглядит следующим образом:

 

#pragma hdrstop

// подключение модуля, в котором определены функции ввода и вывода

#include <stdio.h>

// подключение модуля, в котором определены функции max и min

#include <stdlib.h>

#pragma argsused

int main(int argc, char* argv[]) {

// объявление переменных

float x,y,f;

// сообщение пользователю о цели программы

printf("Programma opredelaet znachenie funcii, zadanoi sledujushim obrazom:\n");

printf("esli x<0 f=max(x,y), inache f=min(x,y)\n");

// сообщение пользователю о необходимости ввода переменной

printf("Vvedite x: ");

scanf("%f",&x); // ввод числа

// сообщение пользователю о необходимости ввода переменной

printf("Vvedite y: ");

scanf("%f",&y); // ввод числа

if(x<0) {

f=max(x,y); // первая группа операторов

} else {

f=min(x,y); // вторая группа операторов

}

printf("Znachenie f = %f\n",f); // вывод на экран результата

scanf("%f",&x); // задерживаем закрытие консольного окна

return 0;

}

 

Этап 5. Тестирование и отладка. Проверяем работу программы. Составляем тесты и запускаем по ним программу.

В формализованное решение задачи подставляем параметры x, y и получаем результат f.

Составляем три теста:

1) x = -3; y = 7; f = max(-3,7) = 7;

2) x = 4; y = -5; f = min(4,-5) = -5;

3) x = 5; y = 15; f = min(5,15) = 5;

Запускаем программу и подставляем тестовые переменные:

 

1)

 

2)

 

3)

 

Результаты работы программы совпадают с ожидаемыми результатами — программа работает правильно.

 

 

Лабораторная работа №5. Оператор выбора

Цель работы: изучение оператора выбора.

 

Задания

1. Дано целое число в диапазоне 1-7. Вывести строку — название дня недели, соответствующее данному числу (1 — «понедельник», 2 — «вторник» и т. д.).

2. Дано целое число K. Вывести строку-описание оценки, соответствующей числу K (1 — «плохо», 2 — «неудовлетворительно», 3 — «удовлетворительно», 4 — «хорошо», 5 — «отлично»). Если K не лежит в диапазоне 1-5, то вывести строку «ошибка».

3. Дан номер месяца — целое число в диапазоне 1-12(1— январь, 2 — февраль и т. д.). Вывести название соответствующего времени года («зима», «весна», «лето», «осень»).

4. Дан номер месяца — целое число в диапазоне 1-12 (1 — январь, 2 — февраль и т. д.). Определить количество дней в этом месяце для невисокосного года.

5. Арифметические действия над числами пронумерованы следующим образом: 1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление. Дан номер действия N (целое число в диапазоне 1-4) и вещественные числа A и B (В не равно 0). Выполнить над числами указанное действие и вывести результат.

6. Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины (целое число в диапазоне 1-5) и длина отрезка в этих единицах (вещественное число). Найти длину отрезка в метрах.

7. Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер. Дан номер единицы массы (целое число в диапазоне 1-5) и масса тела в этих единицах (вещественное число). Найти массу тела в килограммах.

8. Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, предшествующей указанной.

9. Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, следующей за указанной.

10. Робот может перемещаться в четырех направлениях («С» — север, «З» — запад, «Ю» — юг, «В» — восток) и принимать три цифровые команды: 0 — продолжать движение, 1 — поворот налево, − 1 — поворот направо. Дан символ C — исходное направление робота и целое число N — посланная ему команда. Вывести направление робота после выполнения полученной команды.

11. Локатор ориентирован на одну из сторон света («С» — север, «З» — запад, «Ю» — юг, «В» — восток) и может принимать три цифровые команды поворота: 1 — поворот налево, − 1 — поворот направо, 2 — поворот на 180◦. Дан символ C — исходная ориентация локатора и целые числа N1 и N2 — две посланные команды. Вывести ориентацию локатора после выполнения этих команд.

12. Элементы окружности пронумерованы следующим образом: 1 — радиус R, 2 — диаметр D = 2∙R, 3 — длина L = 2∙π∙R, 4 — площадь круга S = π∙R2. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности (в том же порядке). В качестве значения π использовать 3.14.

13. Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом: 1 — катет a, 2 — гипотенуза c = a√2, 3 — высота h, опущенная на гипотенузу (h = c/2), 4 — площадь S = ch/2. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).

14. Элементы равностороннего треугольника пронумерованы следующим образом: 1 — сторона a, 2 — радиус R1 вписанной окружности (R1 = a∙√3/6), 3 — радиус R2 описанной окружности (R2 = 2∙R1), 4 — площадь S = a2∙√3/4. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).

15. Мастям игральных карт присвоены порядковые номера: 1 — пики, 2 — трефы, 3 — бубны, 4 — червы. Достоинству карт, старших десятки, присвоены номера: 11 — валет, 12 — дама, 13 — король, 14 — туз. Даны два целых числа: N — достоинство (6 ≤ N ≤ 14) и M — масть карты (1 ≤ M ≤ 4). Вывести название соответствующей карты вида «шестерка бубен», «дама червей», «туз треф» и т. п.

16. Дано целое число в диапазоне 20-69, определяющее возраст (в годах). Вывести строку-описание указанного возраста, обеспечив правильное согласование числа со словом «год», например: 20 — «двадцать лет», 32 — «тридцать два года», 41 — «сорок один год».

17. Дано целое число в диапазоне 10-40, определяющее количество учебных заданий по некоторой теме. Вывести строку-описание указанного количества заданий, обеспечив правильное согласование числа со словами «учебное задание», например: 18 — «восемнадцать учебных заданий», 23 — «двадцать три учебных задания», 31 — «тридцать одно учебное задание».

18. Дано целое число в диапазоне 100-999. Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть», 814 — «восемьсот четырнадцать».

19. В восточном календаре принят 60-летний цикл, состоящий из 12-летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный. В каждом подцикле годы носят названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года определить его название, если 1984 год — начало цикла: «год зеленой крысы».

20. Даны два целых числа. Первое задаёт час, а второе - минуты. Вывести строку — название части суток, соответствующее данному времени (4ч 01мин-10ч 00мин — «утро», 10ч 01мин – 17ч 00мин — «день» , 17ч 01мин – 23ч 00мин — «вечер» , 23ч 01мин – 4ч 00мин — «ночь»).

21. Шахматные фигуры пронумерованы следующим образом: 1 – пешка, 2 – конь, 3 – слон, 4 – ладья, 5 – ферзь, 6 – король. Дано целое число K. Вывести строку-описание фигуры, соответствующей числу K. Если K не лежит в диапазоне 1-6, то вывести строку «ошибка».

22. Ноты пронумерованы следующим образом: 1 – до, 2 – ре, 3 – ми, 4 – фа, 5 – соль, 6 – ля, 7 – си. Дано целое число K. Вывести строку-описание ноты, соответствующей числу K. Если K не лежит в диапазоне 1-7, то вывести строку «ошибка».

23. Интервалы между нотами пронумерованы следующим образом: 1 — секунда, 2 — терция, 3 — кварта, 4 — квинта, 5 — секста, 6 — септима. Дано число К (целое число в диапазоне 1-6). Вывести строку-описание нотного интервала, соответствующего числу K. Если K не лежит в диапазоне 1-6, то вывести строку «ошибка».

24. Падежы пронумерованы следующим образом: 1 — Именительный, 2 — Родительный, 3 — Дательный, 4 — Винительный, 5 — Творительный, 6 — Предложный. Дано число К (целое число в диапазоне 1-6). Вывести строку-описание падежа, соответствующего числу K. Если K не лежит в диапазоне 1-5, то вывести строку «ошибка».

25. Континенты пронумерованы следующим образом: 1 — Евразия, 2 — Африка, 3 — Южная Америка, 4 — Северная Америка, 5 — Австралия. Дано число К (целое число в диапазоне 1-5). Вывести строку-описание континента, соответствующего числу K. Если K не лежит в диапазоне 1-5, то вывести строку «ошибка».

26. Для целого числа k (от 1 до 99) напечатать фразу «Мне k лет», учитывая при этом, что некоторых значениях k слово «лет» надо заменить на слово «год» или «года».

27. Для натурального числа k напечатать фразу «Мы нашли k грибов в лесу», согласовав окончание слова «гриб».

28. Пусть значение функции f(n) равно количеству букв в записи числа n русскими словами. f(1)=4 {один}, f(3)=3 {три}, f(42)=8 {сорок два} и т.п. Для заданного натурального числа n, меньшего 100, определить f(n).

29. Локатор ориентирован на одну из сторон света («С» — север, «З» — запад, «Ю» — юг, «В» — восток) и может принимать три цифровые команды поворота: 1 — поворот налево, − 1 — поворот направо, 2 — поворот на 180. Дан символ C — исходная ориентация локатора и целые числа N1 и N2 — две посланные команды. Вывести ориентацию локатора после выполнения этих команд.

30. Элементы окружности пронумерованы следующим образом: 1 — радиус R, 2 — диаметр D = 2∙R, 3 — длина L = 2∙π∙R, 4 — площадь круга S = π∙R2. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности (в том же порядке). В качестве значения π использовать 3.14.

31. Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом: 1 — катет a, 2 — гипотенуза c = a√2, 3 — высота h, опущенная на гипотенузу (h = c/2), 4 — площадь S = ch/2. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).

32. Элементы равностороннего треугольника пронумерованы следующим образом: 1 — сторона a, 2 — радиус R1 вписанной окружности (R1 = a∙√3/6), 3 — радиус R2 описанной окружности (R2 = 2∙R1), 4 — площадь S = a2∙√3/4. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).

33. Мастям игральных карт присвоены порядковые номера: 1 — пики, 2 — трефы, 3 — бубны, 4 — червы. Достоинству карт, старших десятки, присвоены номера: 11 — валет, 12 — дама, 13 — король, 14 — туз. Даны два целых числа: N — достоинство (6 ≤ N ≤ 14) и M — масть карты (1 ≤ M ≤ 4). Вывести название соответствующей карты вида «шестерка бубен», «дама червей», «туз треф» и т. п.

34. Дано целое число в диапазоне 20-69, определяющее возраст (в годах). Вывести строку-описание указанного возраста, обеспечив правильное согласование числа со словом «год», например: 20 — «двадцать лет», 32 — «тридцать два года», 41 — «сорок один год».

35. Дано целое число в диапазоне 10-40, определяющее количество учебных заданий по некоторой теме. Вывести строку-описание указанного количества заданий, обеспечив правильное согласование числа со словами «учебное задание», например: 18 — «восемнадцать учебных заданий», 23 — «двадцать три учебных задания», 31 — «тридцать одно учебное задание».

36. Дано целое число в диапазоне 100-999. Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть», 814 — «восемьсот четырнадцать».

37. В восточном календаре принят 60-летний цикл, состоящий из 12-летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный. В каждом подцикле годы носят названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года определить его название, если 1984 год — начало цикла: «год зеленой крысы».

 







Последнее изменение этой страницы: 2016-08-26; Нарушение авторского права страницы

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