Операторы ЯП- присваивание, ввод-вывод, условный, case-switch, комментарий_18 слайдов

Содержание

Слайд 2

Элементы ЯПВУ Pascal C Оператор присваивания Операнд_1 := Операнд_2; Операнд_1 –

Элементы ЯПВУ

Pascal

C

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

Операнд_1 := Операнд_2;

Операнд_1 – идентификатор переменной, Операнд_2 – выражение.

В

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

Совместимые типы данных
оба операнда эквивалентны
оба совместимы и дискретны или порядковые
оба вещественные или оба целые
слева от знака := вещественные, а справа - целые

Это преобразование может привести к повышению типа данных или к понижению, при котором величина приводится к типу данных, имеющему более низкий приоритет.
Приведение типов данных:
при операции над данными двух типов, обе величины приводятся к высшему из двух типов.
последовательность имен типов, упорядоченных от высшего типа к низшему, выглядит так:
double, float, long, int, short, char.
Явное приведение типов данных в С
Она может записываться в двух формах:
(тип) выражение - в С и С++
тип (выражение) - только в С++

Два типа данных Т1 и Т2 называются совместимыми по присваиванию, если выполняется хотя бы один вариант из перечисленных ниже:
-Т1 и Т2 эквивалентны, но не файлы;
-Т1 и Т2 совместимы, причем Т2 - некоторое подмножество в Т1;
-Т1 - вещественный тип, а Т2 - целый.

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

Операнд_1 = Операнд_2;

И+ПРГ

Слайд 3

Элементы ЯПВУ C Операторы комментария Pascal (* *) другой вид комментария

Элементы ЯПВУ

C

Операторы комментария

Pascal

(*<текст комментария>*)
другой вид комментария
{ <текст комментария> }

/*<текст комментария>*/
другой вид

комментария
// <текст комментария> ‒
это однострочный комментарий

Оператор ввода данных

scanf ("%fmt%fmt…",&a,&b, …); где - fmt – спецификации форматов ввода/ вывода (например, %d – целые числа, %f – вещественные, %с – символы);
- a, b – имена переменных, значения которых вводятся в программу.

printf ("[text]%[size][.dec]fmt [text]%fmt … …", a,b, …); где – в кавычках макет вывода:
- text – любой текст, напр., a= ;
fmt – спецификации форматов ввода/вывода соответствующих переменных;
size, dec – модификаторы формата вывода: size –минимальная ширина поля, dec – точность (для спецификатора %f ‒ к-во знаков после запятой);
a, b – имена переменных, значения которых выводится на экран.

Оператор вывода данных

Пример: readln (def, f, grab);

Пример: scanf ("%d %f %c", &def, &f, &grab);

Пример: writeln ('Def=', def:4, ' f= ', f:8:3,
' буква – ', grab);

Пример:
printf ("def=%d, f=%8.3f, буква – %c", def, f, grab);

И+ПРГ

Слайд 4

Человеко-машинный интерфейс Во время выполнения интерактивных (диалоговых) программ важно организовать эффективный

Человеко-машинный интерфейс

Во время выполнения интерактивных (диалоговых) программ важно организовать эффективный человеко-машинный

интерфейс.
В рамках данного учебного курса рассмотрим основные принципы текстового интерфейса (графический человеко-машинный интерфейс будет рассматриваться в курсе ООП).
Для создания текстового интерфейса используются операторы ввода-вывода, рассмотренные на предыдущем слайде.
Основные задачи текстового интерфейса (для тех учебных задач, которые мы будем изучать):
предоставить пользователю программы исчерпывающую информацию о требующихся от него действиях при вводе данных с клавиатуры;
например:
если требуется ввести ряд целых чисел, то надо организовать вывод на экран сообщения: "Введите 6 целых чисел, через пробел, для завершения ввода нажмите Enter",
если требуется ввести ряд слов, то сообщение может иметь вид: "Введите несколько слов, после каждого слова – Enter, для завершения ввода введите точку".
выводимые на экран (или принтер) данные должны предоставлять результаты работы программы в понятном и удобном для восприятия пользователем виде;
например: требуется вывести таблицу вещественных чисел Y и X, для этого надо -
вывести на экран рамки таблицы в целом и рамки для строк и столбцов,
сделать заголовки столбцов,
учесть, что ширина столбцов должна равняться ширине самого длинного числа,
текст заголовков расположит по центру ячейки, а значения вещественных чисел – прижать к правому краю ячейки, чтобы позиции цифр были одна под другой.

И+ПРГ

Слайд 5

Представление алгоритмов Выбор решения – вычисление условия (логического выражения) и выбор

Представление алгоритмов

Выбор решения – вычисление условия (логического выражения) и выбор из

одного из альтернативных действий
Для описания этого действия в псевдокоде используется конструкция с ключевыми словами: ЕСЛИ, ТО, ИНАЧЕ, ЕСЛИ ВСЁ.
Синтаксическая конструкция бинарного ветвления/выбора в псевдокоде:
ЕСЛИ условие Р истинно УСЛОВИЕ – логическое выражение
ТО
Выполнения блока действий в случае истинности условия
ИНАЧЕ
Выполнения блока действий в случае ложности условия
ЕСЛИ ВСЁ
Пример:
ЕСЛИ student_status равно part_time
ТО
Прибавить 1 к part_time_count
ИНАЧЕ
Прибавить 1 к full_time_count
ЕСЛИ ВСЁ

Псевдокод
Основные операции ЯП и ключевые слова псевдокода:

В языках Pascal и С конструкция бинарный выбор реализуется с помощью оператора if

И+ПРГ

Слайд 6

Представление алгоритмов Выбор решения Работа оператора выбор решения состоит в проверке

Представление алгоритмов

Выбор решения
Работа оператора выбор решения состоит в проверке логического условия

на истинность и выполнении различных блоков действий в случае истинности или ложности условия.
В виде блок-схемы эта конструкция выглядит так:

Псевдокод

И+ПРГ

Слайд 7

IF Then [ Else ]; где IF, Then и Else –

IF <условие>
Then <оператор_1>
[ Else <оператор_2>]; где
IF, Then и

Else – ключевые слова если, то, иначе,
условие - логическое выражение,
оператор_Х - любые операторы Pascal (простые или составные)

if ( <выражение> )
<оператор_1>;
[else <оператор_2>;] где
if и else – ключевые слова если и иначе,
- выражение – любое выражение дающее скалярный результат (не массив, не структуру)
оператор_Х - любые операторы С (простые или составные)
В языке С выражение ИСТИННО, если оно целое число отличное от нуля, если – равно нулю, то ЛОЖНО

Примеры

If (x>=0) and (x<=14)
Then y := x-12
Else
IF (x>14)
Then y := x*x;
if (x<0) then y := 0;

if ((x>=0) && (x<=14))
y = x-12;
else
if (x>14) y = x*x;
if (x<0) y = 0;

Элементы ЯПВУ

C

Условный оператор if

Pascal

И+ПРГ

Слайд 8

Простая программа с оператором IF Блок-схема Решить уравнение y=x-12, при 0

Простая программа с оператором IF Блок-схема

Решить уравнение y=x-12, при 0 <=

x <= 14; y=x2, при x > 14 и y=0, при x<0

И+ПРГ

Слайд 9

Простая программа с оператором IF на C #include main () /*

Простая программа с
оператором IF на C

#include
main ()
/* Программа

решает уравнение y=x-12, при 0 <= x <= 14;
y=x2, при x > 14 и y=0, при x<0 */
{
float x;
float y;
printf("Простая программа if\n"); /* Вывод заголовка программы if */
printf("Введите переменную x\n"); /* Запрос ввода X */
scanf ("%f",&x); /* Ввод X */
if ((x>=0) && (x <= 14)) /* Проверка условия 1 */
y = x-12; /* Значение Y, при вып. условия 1 */
else
if (x>14) y = x*x; /* Проверка условия 2 и значение Y */
if (x<0) y = 0; /* Проверка условия 3 и значение Y */
// Вывод значений X и Y
printf("x=%f, y=%f\n",x,y);
}

И+ПРГ

Слайд 10

Program SimpleIF; (* Программа решает уравнение y=x-12, при 0 y=x2, при

Program SimpleIF; (* Программа решает уравнение y=x-12, при 0 <= x

<= 14;
y=x2, при x > 14 и y=0, при x<0 *)
const
Text = 'Простая программа if';
var
x,y : real;
Begin
WriteLn(Text); (* Вывод заголовка программы *)
Write ('Введите значение x='); ReadLn (x); (* Ввод переменной х *)
if (x>=0) and (x <= 14) (* Проверка условия 1 *)
then y:=x-12 (* Вычисление значения у, при вып. условия 1 *)
else
if (x>14) (* Проверка условия 2 *)
then
y:=x*x; (* Вычисление у, при вып. условия 2 (вариант y:=sqr(x) *)
if (x<0) (* Проверка условия 3 *)
then
y := 0; (* Присвоение значения у, при вып. условия 3 *)
{ Вывод значений X и Y на экран}
WriteLn ('x=',x, ';',' y=',y);
End.

Простая программа с
оператором IF на Pascal

И+ПРГ

Слайд 11

Pascal C Оператор задает законченное описание некоторого действия. Для описания сложного

Pascal

C

Оператор задает законченное описание некоторого действия. Для описания сложного действия требуется

последовательность операторов. Операторы могут быть объединены операторными скобками в составной оператор, в этом случае они рассматриваются как один оператор.

Составной оператор

begin
…………
begin
…………
begin
…………
end
……..
end
…….
end

{
…………
{
…………
{
…………
}
……..
}
…….
}

Элементы ЯПВУ

Операторы

И+ПРГ

Слайд 12

Элементы ЯПВУ Pascal Оператор " ? ", альтернативный бинарному выбору Выражение

Элементы ЯПВУ

Pascal

Оператор " ? ", альтернативный бинарному выбору

Выражение 1 ? Выражение

2 : Выражение 3;
Где:
Выражение 1 – условие бинарного выбора
Выражение 2 – операция при истинности условия
Выражение 3 – операция при ложности условия
Примеры: Y - X>9 ? 100 : 200;
N - I > 0 ? I * I : -(I *I);

C

И+ПРГ

Слайд 13

Домашнее задание написать программы на языках Pascal и С Y1 =

Домашнее задание
написать программы на языках Pascal и С

Y1 =

2sin2(3π-2α)cos2(5π+2α)
Y2 = 1 - 1/4sin22α + cos2α
Y3 = 1/4 - 1/4 sin(5/8π-8α)
Y4 = cos2α + cos4α

Реализовать алгоритм
Решить уравнения

И+ПРГ

Слайд 14

Элементы ЯПВУ Pascal Оператор множественного выбора CASE где Case, OF и

Элементы ЯПВУ

Pascal

Оператор множественного выбора CASE

где
Case, OF и Else ключевые

слова выбор, из, иначе,
выражение – математи-ческое выражение поряд-кового типа,
константы - того же типа, что и выражение,
оператор-Х - любые операторы Pascal (прос-тые или составные)
Чаще всего после case используется имя переменной (как частный случай выражения). Перед каждой ветвью оператора можно записать одну или несколько констант через запятую или операцию диапазона, например: [1..15].

Case <выражение> OF
<список констант-1> : <оператор-1>;
<список констант-2> : <оператор-2>;

<список констант-n> : <оператор-n>;
[else : <оператор>];

Выполнение оператора выбора начинается с вычисления выражения. Затем управление передается на оператор, помеченный константами, значение одной из которых совпало с результатом вычисления выражения. После этого выполняется выход из оператора. Если совпадения не произошло, выполняются операторы, расположенные после слова else, а при его отсутствии управление передается оператору, следующему за case.

И+ПРГ

Слайд 15

Элементы ЯПВУ Pascal Оператор множественного выбора Case Примеры использования Program month;

Элементы ЯПВУ

Pascal

Оператор множественного выбора Case
Примеры использования

Program month;
(*определение количества дней в

месяце по его номеру*)
var
I : integer;
begin
WriteLn ('Введите номер месяца');
ReadLn (I);
Case I OF
1,3,5,7,8,10,12 : WriteLn ('31 день');
2 : WriteLn ('28 или 29 дней');
4,6,9,11 : WriteLn ('30 дней');
Else WriteLn (' месяца с таким номером нет');
End
End.

Program CalcSet;
(*простой арифметический калькулятор*)
var
x,y,r : real; oper : char; fl : boolean;
begin
write('Введите oper - '); readln(oper);
write('Введите x= '); readln(x);
write('Введите y= '); readln(y);
fl := true;
case oper of
'+' : r:=x+y;
'-' : r:=x-y;
'*' : r:=x*y;
'/' : begin if y = 0
then begin
writeln('Делить на ноль нельзя');
fl:=false;
end
else r:=x/y;
end;
else writeln('Ошибка ввода операции');
end;
if fl = true then
writeln (x:4:2,' ',oper,' ',y:4:2,' =',' ',r:4:2)
End.

И+ПРГ

Слайд 16

Элементы ЯПВУ C Оператор множественного выбора SWITCH где switch, case_n ‒

Элементы ЯПВУ

C

Оператор множественного выбора SWITCH

где
switch, case_n ‒ ключевые слова

пере-ключить, выбор i-той ветви алгоритма
Выражение – выражение порядкового типа;
k1,…kn – константные выражения того же типа, что и Выражение, константное выражение вычисляется во время трансляции, оно не может содержать переменные или вызовы функций. Обычно в качестве константного выражения используются целые или символьные константы;
операторы-Х – список операторов C.

switch (выражение) {
case <константное выражение_1> : <операторы-1>;
case <константное выражение_2 > : <операторы-2>;

case <константное выражение_n> : <операторы-n>;
[default : < константное выражение>]; }

Инструкция switch сравнивает значения аргумента Выражение с константными выражениями case. Когда значение Выражения равно константе, выполняется следующие за константой списки операторов, пока не встретится инструкция break, после которой завершается выполнение всех инструкций блока switch. Если break нет, завершение switch – закрывающая фигурная скобка.

И+ПРГ

Слайд 17

Элементы ЯПВУ C Оператор множественного выбора SWITCH Примеры использования #include //

Элементы ЯПВУ

C

Оператор множественного выбора SWITCH
Примеры использования

#include
// Определение количества дней

в месяце
// по его номеру
main()
{
int m;
printf("\n Введите номер месяца: ");
scanf("%d",&m);
printf("\n %2d-й месяц: ", m);
switch (m)
{
case 1: case 3: case 5: case 7: case 8: case 10:
case 12:
printf("31 день:\n"); break;
case 2:
printf("28 или 29 дней:\n"); break;
case 4: case 6: case 9: case 11:
printf("30 дней:\n"); break;
  default : printf("\n Месяца с таким номером
НЕТ!\n");
}
return 0;
}

// простой целочисленный арифметический
// калькулятор
#include
int main()
{
int a, b, res, fl;
char op;
printf("\nBведите знак операции ");
scanf("%c",&op);
printf("nВведите 1й операнд ");
scanf("%i",&a);
printf( "Введите 2й операнд ");
scanf("%i",&b);
switch (op)
{
case '+' : res = a + b; fl=1; break;
case '-' : res = a - b; fl=1; break;
case '*' : res = a * b; fl=1; break;
case '/' : res = a / b; fl=1; break;
default : fl=0; printf("Неизвестная операция");
}
if (fl)
printf ("\n %i %c %i = %i \n", a, op, b, res);
return 0;
}

И+ПРГ

С