- •Методические указания
- •«Алгоритмизация и программирование»
- •Часть 1. Понятие алгоритма и принципы алгоритмизации
- •1 Основные принципы разработки алгоритмов и программ
- •Лабораторная работа 1
- •3 Циклический вычислительный процесс
- •Задания для самостоятельной работы
- •Лабораторная работа 2 селективная обработка массивов
- •Общие сведения
- •1 Селективная (выборочная) обработка информации
- •2 Нахождение экстремального значения
- •3 Формирование одномерного рабочего массива
- •3.7 Сортировка элементов массива
- •Задания для самостоятельной работы
- •Лабораторная работа 3 вложенные циклы. Обработка двумерных массивов
- •Общие указания
- •1 Вложенные циклы
- •3.9 Обработка заданной строки (столбца) матрицы
- •3.10 Обработка заданной диагонали матрицы
- •3.11 Селективная обработка строки (столбца) матрицы, удовлетворяющей заданному условию
- •Часть 2. Составление и отладка программы. Вычисление и обработка результатов
- •Ход работы
- •Вопросы для контроля и самостоятельной работы
- •Лабораторная работа 5
- •Символы типа
- •Задание к лабораторной работе
- •Лабораторная работа №6 Разветвляющийся вычислительный процесс с различными логическими условиями: оператор if... Else, условная операция (?:).
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа 7 Программирование разветвляющегося циклического вычислительного процесса.
- •Теоретические сведения
- •Алгоритм работы оператора цикла for ():
- •Задание к лабораторной работе
- •Лабораторная работа №8
- •Ход работы
- •Задание к лабораторной работе
- •Операции с, их приоритеты и использование. Преобразование типов (4 часа)
- •Приоритет операций и порядок выполнения (ассоциативность)
- •(Новый_тип) операнд
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №10 Массивы. Селективная обработка массивов
- •Теоретические сведения
- •Требования к содержанию отчёта приведены в лабораторной работе №1
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №11
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №12 Сортировка одномерных массивов
- •Многомерные массивы. (2часа)
- •Теоретические сведения
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Изучение графических средств с
- •Графические функции
- •Графические примитивы
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
Задание к лабораторной работе
Составьте программу для вычисления функции b=f(x,y,z), где z=(x,y). Вид функции и исходные данные приведены в таблице 1.
Таблица 1
Вар. |
f(x,y,z) |
(x,y) |
x |
y |
1 |
e|x-y|(tg2z)x |
-4,52 |
0,75 | |
2 |
2,87 |
0,84 | ||
3 |
1,82 |
18,25 | ||
4 |
|
5,34 |
3,85 | |
5 |
-2,75 |
-1,42 | ||
6 |
1,54 |
-3,26 | ||
7 |
1,82 |
18,23 | ||
8 |
-0,85 |
1,25 | ||
9 |
0,12 |
-8,75 | ||
10 |
1,58 |
3,42 | ||
11 |
0,42 |
-0,87 | ||
12 |
-15,24 |
4,67 | ||
13 |
6,55 |
-2,78 | ||
14 |
0,84 |
0,65 | ||
15 |
1,12 |
0,87 | ||
16 |
0,27 |
4,38 | ||
17 |
6,35 |
7,32 | ||
18 |
0,42 |
1,23 | ||
19 |
4,32 |
-0,54 | ||
20 |
0,83 |
2,38 | ||
21 |
-0,93 |
-0,25 | ||
22 |
3,25 |
4,12 | ||
23 |
-0,72 |
-1,42 | ||
24 |
3,98 |
-1,63 | ||
25 |
2sin(x+y) |
3,91 |
-0,51 | |
26 |
-0,62 |
5,54 | ||
27 |
-4,58 |
2,32 | ||
28 |
-3,44 |
5,28 | ||
29 |
5,48 |
2,25 |
Лабораторная работа №6 Разветвляющийся вычислительный процесс с различными логическими условиями: оператор if... Else, условная операция (?:).
Цель работы: Изучить реализацию в языке ветвящихся вычислительных процессов . Научиться писать программы, используя операторы: ветвления if...else, переключения switch в паре с оператором break, оператор перехода goto, тернарную условную операцию (?:).
Теоретические сведения
Разветвляющийся вычислительный процесс применяется в тех случаях, когда необходимо произвести выбор одного из вариантов дальнейших действий или вычислений в зависимости от текущих значений переменных и логических условий. Например, произвести вычисление по одной или по другой формуле.
Оператор if…else (если…иначе)
Формат оператора if…else приведен ниже:
if(<выражение>) <оператор 1>
[else <оператор2>]
Действия оператора зависят от значения выражения. Реализация различных возможностей выполняется следующими способами. Если <выражение> в скобках не равно (“Истинно”), то будет выполнятся <оператор1>. В противном случае, если указанное <выражение> равно (“Ложно”), то будет выполняться <оператор2> в блоке else, если он присутствует.
В теле оператора if может находиться один или более операторов. Если должны выполняться два или более операторов, их необходимо заключить в операторные скобки: "{" и "}". <Выражение> представляет собой запись логического условия или условий. Например: 1) if(i<=j)...; 2) if(size= =a)...; 3) if(t>10 && v<3) ..; 4) if(a){…}else{…}; 5) if(!a){…}else{…}.
В первом случае <выражение> истинно, если значение переменной i будет меньше или равно значению переменной j; во втором случае условие будет истинно, если значения переменных size и a будут равны; в третьем выражении истина будет соблюдаться, когда переменная t будет больше десяти “И” (&&) переменная v будет меньше трех. В четвертом случае первый блок будет выполняться при а не равном , в противном случае выполняется блок после else. В пятом выполняются действия, обратные, указанные в четвертом варианте. Вместо переменных можно использовать выражения, которые будут непосредственно вычисляться, например: if ( (i+2)/3 < 4*j )...выделение. Основные операции, которые ставятся между сравниваемыми величинами, следующие :
= = - знак "равно" (Не путать с присваиванием "="(!)); ! = - знак "не равно"; < - знак "меньше"; |
<= - знак "меньше или равно";
> - знак "больше"; > = - знак "больше или равно". |
Основные логические операции, которые ставятся между сравниваемыми выражениями (если их два как в примере 3 или более), следующие :
! - операция "НЕ". Пример: if ( !(num % 2) )... // истина -если num нечетно.
&& - операция "И". Пример 3 (см. выше).
|| - операция "ИЛИ". Пример: if ( i+n*2<l || i%2=0)...
Детально логические операции будут рассмотрены в следующей лабораторной работе. Ниже приведен фрагмент программы, который выполняет следующие действия: запрашивает на ввод три числа и выдает в результате сравнения наименьшее из них. Оператор if…else допускает возможность вложенности при ветвлении, что обеспечивает гибкость реализации логики и компактность записи операторов.
Пример
...
printf("Ввести три числа через пробел: ");
scanf(" %d%d%d ", &a, &b, &c);
if (a<=b && a<=c) printf("\ nНаименьшее:%d", a);
else
if (b<=a && b<=c) printf("\ nНаименьшее: %d", b);
else printf("\ nНаименьшее:%d", c);
...