МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ КРАСНОДАРСКОГО КРАЯ Государственное автономное образовательное учреждение среднего профессионального образования «Новороссийский колледж строительства и экономики» Краснодарского края Презентация по дисциплине «Программирование на ЯВУ» На тему: «Программирование линейных и разветвляющихся алгоритмов» для специальности 230113 «Компьютерные системы и комплексы» Преподаватель: Бежан О.Т. Цели занятия: Закрепление материала по теме «Программирование линейных и разветвляющихся алгоритмов»; Отработка навыков решения задач и отладки программ на языке СИ++; Задачи занятия: 1. Образовательная: совершенствование навыков составления линейных программ и программирования ветвлений на языке CИ++; 2. Развивающая: развитие алгоритмического мышления, внимательности; 3. Воспитательная: развитие познавательного интереса, логического мышления. Сопроводительная записка к презентации Презентация по дисциплине «Программирование на ЯВУ» На тему: «Программирование линейных и разветвляющихся алгоритмов» для специальности 230113 «Компьютерные системы и комплексы» Тип урока: Урок закрепления знаний. Урок обобщения знаний по темам: «Линейные программы», «Программирование ветвлений». В презентации представлены типовые задачи, направленные на закрепление навыков программирования на языке СИ, что позволяет отработать синтаксис языка программирования и программирование основных алгоритмических конструкций. Практические работы по С++ Примеры задач и их решение Практическая работа №1 Инструкция присваивания Инструкция присваивания предназначена для изменения значений переменных, в том числе и для вычислений "по формуле"; значение выражения в левой части инструкции присваивания зависит от типа операндов и операции, выполняемой над операндами; результатом выполнения операции деления над целыми операндами является целое, которое получается отбрасыванием дробной части результата деления. Задача № 1.1 1) Запишите в виде инструкции присваивания формулу пересчета расстояния из километров в версты (одна верста — это 1066,8 м). #include <stdio.h> #include <math.h> #include <conio.h> #include <iostream.h> void main () {clrscr(); float a, b, c; printf ("\nVvedite rasstoyanie v km - "); scanf ("%f", &a); b=a*1000; Результат работы программы c=b/1066.8; printf ("\nRasstoyanie v verstah=%f",c ); getch(); } 5.624297 Задача № 1.2 2) Запишите в виде инструкции присваивания формулу вычисления площади круга: S = П*r2. #include <stdio.h> #include <math.h> #include <conio.h> #include <iostream.h> void main () {clrscr(); float S, r, P; printf ("\nVvedite radius kruga v sm - "); scanf ("%f", &r); P=3.14; Результат работы программы S=P*(pow(r,2)); printf ("\nPlochad' kruga =%6.1f",S ); getch(); } Задача № 1.3 3) Запишите в виде инструкции присваивания формулы вычисления площади поверхности и объема цилиндра. #include <stdio.h> #include <math.h> #include <conio.h> #include <iostream.h> void main () {clrscr(); float S, r, P, h, v; printf ("\nVvedite radius cilindra v sm - "); scanf ("%f", &r); printf ("\nVvedite visotu cilindra v sm - "); scanf ("%f", &h); P=3.14; Результат работы программы S=2*P*r*(h+r); v=P*pow(r,2)*h; printf ("\nPlochad' cilindra =%6.1f",S); printf ("\nOb'om cilindra =%6.1f",v); getch(); } Практическая работа №2 Программы с линейной структурой Программы с линейной структурой являются простейшими и используются, как правило, для реализации простых вычислений по формулам; в программах с линейной структурой инструкции выполняются последовательно, одна за другой; Задача № 2.1 1) Написать программу вычисления объема куба. Рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены курсивом). Вычисление объема куба. Введите длину ребра (см) Объем куба: 857.38 куб.см. Результат работы программы #include <stdio.h> #include <math.h> #include <conio.h> #include <iostream.h> void main () {clrscr(); float a, b; printf ("\nVvedite dlinu rebra (sm) - "); scanf ("%f", &a); b=pow(a,3); printf ("\nmOb'iom kuba=%7.2f sm",b ); getch(); } Задача № 2.2 2) Написать программу вычисления объема цилиндра. Рекомендуемый вид экрана во время выполнения программы. Вычисление объема цилиндра. Введите исходные данные: радиус основания (см) -> 5 высота цилиндра (см) -> 10 Объем цилиндра 1570.80 см. куб. Результат работы программы #include <stdio.h> #include <math.h> #include <conio.h> #include <iostream.h> void main () {clrscr(); float r, P, h, v; printf ("\nVvedite radius osnovaniya v sm - "); scanf ("%f", &r); printf ("\nVvedite visotu cilindra v sm - "); scanf ("%f", &h); P=3.14; v=P*pow(r,2)*h; printf ("\nOb'om cilindra =%6.1f",v); getch(); } Задача № 2.3 3) Написать программу вычисления площади треугольника по формуле Герона. #include <stdio.h> #include <math.h> #include <conio.h> #include <iostream.h> void main () {clrscr(); float a, b, c, p, s; printf ("\na="); scanf ("%f", &a); printf ("\nb="); scanf ("%f", &b); printf ("\nc="); scanf ("%f", &c); p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); printf ("\nPloschad' treugol'yika=%f", s); getch(); } Результат работы программы Практическая работа №3 Программы со структурой ветвления Инструкция if используется для выбора одного из двух направлений дальнейшего хода программы; Выбор последовательности инструкций осуществляется в зависимости от значения условия — заключенного в скобки выражения, записанного после if; Инструкция, записанная после else, выполняется в том случае, если значение выражения условия равно нулю, во всех остальных случаях выполняется инструкция, следующая за условием; Если при соблюдении или несоблюдении условия надо выполнить несколько инструкций программы, то эти инструкции следует объединить в группу — заключить в фигурные скобки; При помощи вложенных одна в другую нескольких инструкций if можно реализовать множественный выбор. Задача № 3.1 1) Вычислить частное двух чисел. Проверить правильность введенных данных и, если делитель равен нулю, выдавать сообщение об ошибке. Рекомендуемый вид экрана во время выполнения: Вычисление частного. Введите в одной строке делимое и делитель, затем нажмите <Enter>. -> 12 О Ошибка! Делитель не должен быть равен нулю. #include <stdio.h> #include <math.h> #include <conio.h> #include <iostream.h> void main() {clrscr(); float a, b, c; printf ("\nVvedite v odnoy stroke delimoe i delitel - "); scanf ("%f%f", &a,&b); if (b!=0) { c=a/b; printf ("\nChastnoe ot deleniya %5.2f na %5.2f",a, b); printf ("\nRavno %5.2f",c);} else { printf ("Oshibka! delitel ne dolzhen bit' raven nuliu!"); } getch(); } Результат работы программы Задача № 3.2 2) Вычислить площадь кольца. Проверить правильность исходных данных. Рекомендуемый вид экрана во время выполнения программы Вычисление площади кольца. Введите исходные данные: Радиус кольца (см) -> 3.5 Радиус отверстия (см) -> 7 Ошибка! Радиус отверстия не может быть больше радиуса кольца. Решение задачи № 3.2 #include <stdio.h> #include <math.h> #include <conio.h> #include <iostream.h> void main() {clrscr(); float r1, r2, s; printf ("\nVvedite ishodnie dannie"); printf ("\nRadius kolca (cm)"); scanf ("%f", &r1); printf ("\nRadius otverstiya (cm)"); scanf ("%f", &r2); if (r1>r2) { s=2*3.14*(r1-r2); printf ("\nPlochad' kol'ca %6.2f kv.sm", s);} else { printf ("Oshibka! Radius otverstiya ne mozhet bit bol'she radiusa kol'ca");} getch(); } Результат работы программы Задача № 3.3 3) Составить программу решения квадратного уравнения. #include <stdio.h> #include <conio.h> #include <math.h> #include <iostream.h> void main() {clrscr(); float a, b, c, d; int x1, x2; printf("\nReshenie kvadratnogo uravneniya"); printf("\nVvedite v odnoi stroke znacheniya koefficientov"); scanf("%f%f%f", &a, &b, &c); d = b*b - 4*a*c; if (d < 0) {printf("\nUravnenie ne imeet resheniua");} else { x1=(-b+sqrt(d))/(2*a) ; x2=(-b-sqrt(d))/(2*a); printf("Korni uravneniya: xl=%3.2f x2=%3.2f\n", x1,x2);} getch(); } Результат работы программы Самостоятельная работа 1. Составить программу упорядочения по возрастанию значений в трех переменных. 2. Составить программу решения квадратного уравнения ах2 + bх + с = 0, учитывающую все возможные варианты исходных данных: 1) a = 0, b = 0, с = 0; 2) a = 0, b = 0, с≠0; 3) a = 0, b ≠ 0; 4) a ≠ 0, D>=0 (D — дискриминант); 5) a ≠ 0, D<0. В каждом случае должно выводиться соответствующее решение или сообщение.