- •1) Обзор языка . Структура профессиональной среды разработки программ
- •2) Написать выражение на языке :
- •1. Обзор языков программирования, структура профессиональной среды разработки программ :
- •1) Понятие и подключение библиотеки
- •2) Задача. Найти сумму двух целых чисел a и b.
- •1) Интегрированная среда тр
- •2) Задача. Укажите значение переменной z, после выполнения программы,
- •1) Основные команды главного меню
- •1) Набор символов.Главная функция
- •2) Задача. Написать программу, которая вычисляет при заданном х.
- •1. Символьные данные
- •1) Лексемы: специальные символы, зарезервированные слова.
- •1) Идентификаторы
- •1) Правило записи идентификаторов
- •1) Арифметические операции
- •2) Задача. Написать выражение на языке , .
- •1) Типы данных
- •2) 1. Задача. Дана программа: Var st: string; Begin
- •1) Операторы присвоения
- •2) Задача. Результатом решения задачи будет:
- •1) Форматный ввода
- •2) Задача. Написать выражение на языке
- •1) Форматный вывода
- •1) Цикл с предусловием
- •1) Цикл с постусловием.
- •2) Задача. Даны два числа. Найти их среднее арифметическое и среднее геометрическое.
1) Цикл с предусловием
2) Задача. Дана программа: Var st: string; Begin St:='abcdef; St:=copy(st, 3,2); Writeln(st); End. После выполнения программы на экран будет выведено:
Ответ:
1. Цикл
При программировании часто возникает потребность выполнить несколько раз одни и те же действия, но с разными исходными данными. Чтобы решить эту проблему, программист организует цикл – многократное повторение какого-то участка кода, каждый такой повтор называют итерацией. При этом необходимо в той или иной форме задать условие выхода из цикла.
В общем случае можно организовать повтор выполнения участка программы с помощью оператора goto (безусловный переход на метку), а условие выхода из цикла – с помощью оператора if.
Пример. Ввод чисел с клавиатуры и их суммирование до тех пор пока сумма не превысит 100.
Такой подход не всегда удобен, противоречит принципам модульного программирования и чреват возможными ошибками, поэтому в любом языке программирования предусматриваются специальные конструкции для организации циклов.
В языках C/C++ таких циклов три – это операторы while, do-while и for. Кроме того, специально для расширения возможностей этих трех операторов в языке предусмотрены еще два оператора – continue и break (с оператором break мы уже познакомились, рассматривая возможности оператора switch, по сути, в обоих случаях он делает одно и то же).
Цикл с предусловием
Цикл while используется в том случае, когда не известно точное число повторов (итераций). Оператор цикла с предусловием представлен на рис. 4.4 и имеет вид:
while (выражение) тело цикла
В качестве выражения допускается использовать любое выражение языка С, а в качестве тела – любой оператор, в том числе пустой или составной. Схема выполнения оператора while следующая.
1. Вычисляется выражение.
2. Если выражение ложно, то выполнение оператора while заканчивается и выполняется следующий по порядку оператор. Если выражение истинно, то выполняетсятело цикла.
3. Процесс повторяется с пункта 1.
Важно отметить, что выражение вычисляется до начала и после каждого прохода цикла. Цикл не выполняется ни разу, если выражение ложно (равно 0).
Поскольку в операторе while вначале происходит проверка условия, его удобно использовать в ситуациях, когда тело оператора не всегда нужно выполнять.
Пример. Вычисление суммы чисел от 0 до 9.
В выражении (i++ < 10) сначала выполняется операция инкремент i++, а затем – проверка i< 10.
С помощью оператора while легко организовать бесконечный цикл.
Пример. Бесконечный цикл.
Выражение в скобках (1) подразумевает проверку условия (1==1), которое всегда истинно, поэтому естественного выхода из цикла нет. Такие циклы следует использовать в тех случаях, когда заранее не известно условие выхода из цикла, и оно формируется в теле цикла в процессе работы программы.
2.
№25. Билет
1) Цикл с постусловием.
2) Задача. Даны два числа. Найти их среднее арифметическое и среднее геометрическое.
ОТвет:
1. Цикл с постусловием. Этот оператор цикла проверяет условие окончания в конце цикла, т.е. после каждой итерации, поэтому тело цикла выполняется, по крайней мере, один раз. Схема оператора представлена на рис. 4.5.
Вид оператора:
do тело цикла while (выражение)
Последовательность выполнения оператора do–while:
1) выполняется тело цикла (которое может быть составным оператором);
2) вычисляется выражение;
3) если выражение ложно, то выполнение оператора do–while заканчивается и выполняется следующий по порядку оператор. Если выражение истинно, то выполнение оператора продолжается с пункта 1.
Пример. Вывести на экран числа от 0 до 10.
Пример. Вводить целые числа с клавиатуры пока их значения лежат в диапазоне от 10 до 150. Вычислить сумму введенных чисел.
Оператор const int minvalue=10, maxvalue=150; задает значение именованным константам minvalue и maxvalue. Цикл do–while повторяется до тех пор, пока вводимые с клавиатуры числа находятся в диапазоне от minvalue до maxvalue.
2- Program avgGm;
Uses crt;
var a,b,res:integer
begin
clrscr;
writeln('Введите А и B ' );
readln(a,b);
res:=(sqrt(a*b));
writeln('Модуль числа а: ', abs(a));
writeln('Модуль числа b: ', abs(b));
writeln('Среднее арифметическое: ', ((a+b) div 2));
writeln('Среднее геометрическое: ', res);
readkey;
end.
Код C++ |
|||
|
|
||
№26. Билет
1) Понятие switch (переключатель). Оператор выбора switch, саse. Блок - схема
2) Задача. Написать выражение на языке
Ответ:
1. Если в алгоритме присутствуют более трех вариантов (альтернатив) выбора, то следует использовать оператор switch. Его часто называют селективным оператором,переключателем или оператором выбора. Оператор switch передает управление одному из нескольких помеченных специальными метками операторов в зависимости от значения целочисленного выражения. Специальные метки начинаются с ключевого слова case и являются целочисленными константами.
Оператор имеет следующий вид:
switch (целое_выражение)
(case константное_выражение1:
операторы
case константное_выражение2:
операторы
default: операторы
Выражение в круглых скобках может быть любым допустимым выражением языка С, значение которого должно быть целым. Схема выполнения оператора switchпредставлена на рис. 4.3.
Вычисляется выражение в круглых скобках (назовем его селектором).
Значение селектора последовательно сравнивается со значениями case-меток в теле оператора switch, если селектор и константное выражение метки равны, то управление передается операторам, помеченным данной меткой.
Если селектор не совпадает ни с одной меткой, то управление передается на операторы, помеченные словом default.
Если default отсутствует, то управление передается следующему за switch оператору.
Пример
int x;
switch (x)
(case 5: printf("x равно 5\rf);
break; case 2: case 10: printf("x равно либо 2, либо 10\п");
break; default: rintf("x не равно 5, 2, 10\n");
break;
Каждый вариант оператора switch начинается меткой (case 5, case 2, case 10 или default) и заканчивается оператором break. Исключение составляет вариант case 2: у которого нет “своих” операторов. Дело в том, что switch, выбрав один из вариантов, не заканчивает автоматически выполнение, дойдя до следующего варианта, – он исполняет все операторы, идущие дальше, вплоть до конца своего блока или до ключевого слова break, которое прекращает выполнение оператора. Если мы уберем, например, первый break, то при х==5 увидим сначала сообщение от первого printf(), затем от второго.
Следующий пример показывает, что оператор switch представляет собой структуру, построенную по принципу меню, он содержит варианты условий и инструкции, которые следует выполнить в каждом конкретном случае.
В данном примере использовалась библиотека ввода-вывода языка C++ (iostream.h).
Оператор соиК<"Задайте знак операции + - * / \п", выводит строку текста на экран дисплея. Оператор cin>>znak вводит данные с клавиатуры в переменную znak. Функции библиотеки iostream проще в использовании (по сравнению с функциями stdio), так как не требуют явного указания типов переменных, типы, с которыми работают операторы cout<< и cin>>, определяют те переменные, которые используются в текущий момент, например cin>>znak работает с типом char, а соиt <<"Задайте х и у \n" – с типом “строка”.
Программа запрашивает информацию (знак операции и два числа) и проводит соответствующую операцию, пока вместо знака не введут символ &. Если вводится знак, отличный от разрешенных (“+”, “-”, “*”, “/”), то программа выдает сообщение об ошибке и начинает новый проход цикла (по директиве continue). При корректном вводе на экран выдается формула и результат вычисления.
