Учебная практика
по дисциплине:
Разработка программных модулей программного обеспечения для компьютерных систем. Системное программирование.
Выполнил: ст. гр. Т-33
Тарасов В.С.
Практика №1
Программа 1
Написать программу, которая сравнивает три целых числа и выводит максимальное.
Решение
Блок-схема программы
Начало
max
A,b,c
m
Конец
Начало
Max,a,b,c,m
a>b
+ -
Max=b
Max=a
Max>c
Max=m
Max=c
Конец
2)Код программы
#include "stdafx.h"
#include <conio.h>
#include <iostream>
int max (int a, int b, int c)
{
int max;
if (a>b)
max=a;
else
{
max=b;
}
if (max<c)
max=c;
return (max);
}
int _tmain()
{
const char* locale = setlocale(LC_ALL,"");
int a,b,c, m;
printf ("Введите 1 число ");
scanf ("%i", &a);
printf ("Введите 2 число ");
scanf ("%i", &b);
printf ("Введите 3 число ");
scanf ("%i", &c);
m=max (a,b,c);
printf ("максимальное число=%i",m);
_getch();
}
Задание 2
Написать программу, которая сравнивает 2 целых числа и выводит соответствующий символ: ‘>’, ‘<’ или ‘=’.
Решение
Блок-схема программы
Начало
A=b
A<b
A,b
Sravn=3
Sravn=2
Sravn=1
Sravn=s
S
Конец
Начало
Sravn
A,b,s
S=3
S=2
a<b
a>b
a=b
Конец
Код программы:
#include "stdafx.h"
#include <conio.h>
#include <iostream>
int sravn (int a, int b)
{
int sravn;
if (a==b)
sravn=3;
else
if (a>b)
sravn=1;
else
{
sravn=2;
}
return (sravn);
}
Int _tmain()
{
const char* locale = setlocale(LC_ALL,"");
int a,b, s;
printf ("Введите 1 число ");
scanf ("%i", &a);
printf ("Введите 2 число ");
scanf ("%i", &b);
s=sravn (a,b);
if (s==3)
printf (" %i = %i ", a, b);
else
if (s==2)
printf (" %i < %i ", a, b);
else
if (s==1)
printf (" %i > %i ", a, b);
_getch();
}
Задание 3
Написать программу, которая вычисляет сопротивление цепи, состоящей из двух резисторов. Параметрами функции являются величины сопротивлений и тип соединения (последовательное и параллельное).
Решение:
1)Блок-схема
Начало
resist
R1,R2,t,s
S=1
S=2
Конец
s=resist (r1,r2,t);
R1+R2
R1*r2/(r1+r2)
ошибка
Начало
R1<0
R2<0
T=1
R1,R2,t,f
F=1
T=2
F=1
f
Конец
Код программы:
#include "stdafx.h"
#include <conio.h>
#include <iostream>
int resist (int r1, int r2, int t)
{
int f;
if (r1>0 && r2>0)
{
if (t==1)
{
f=1;
}
if (t==2)
f=2;
}
if (t==3)
f=3;
return (f);
}
Int _tmain()
{
const char* locale = setlocale(LC_ALL,"");
int r1,r2, t, s;
printf ("Введите 1 число ");
scanf ("%i", &r1);
printf ("Введите 2 число ");
scanf ("%i", &r2);
printf ("Введите тип соединения\n" );
printf ("1-последовательное соединение\n");
printf ("2-параллельное соединение\n");
scanf ("%i", &t);
s=resist (r1,r2,t);
if (s==1)
printf ("Сопротивление цепи=%i", r1+r2);
else
if (s==2)
printf ("Сопротивление цепи=%i", r1*r2/(r1+r2));
else
if (s==3)
printf ("Ошибка");
_getch();
}
Задание 4
Написать программу, которая проверяет, является ли введенный символ гласной буквой. Буква вводится латиницей.
Блок-схема:
Начало
Начало
Q,f,x
ident
Q,f,x
q='e','y', 'u', 'i', 'o','a'
Код программы:
X=1
Буква гласная
Буква согласная
Конец
X=1
X=2
Конец
#include "stdafx.h"
#include <conio.h>
#include <iostream>
int ident (char q)
{
int f=0;
if (q=='e' || q=='y' || q=='u' || q=='i' || q=='o' || q=='a')
f=1;
else
f=2;
return(f);
}
Int _tmain()
{
const char* locale = setlocale(LC_ALL,"");
char q;
int x=0;
printf("Введите букву \n");
scanf("%c" , &q);
x=ident(q);
if (x==1)
printf("Буква гласная");
else
if (x==2)
printf("Буква согласная");
_getch();
}
Задание 5.
Написать программку, решающую квадратное уравнение.
Блок-схема
Начало
proof
q=1
q=2
Конец
a, b, c, dis, x1, x2 ,q
Ax2+bx+c
Конец
D
x1=(-b+sqrt(b*b-4*a*c))/(2*a);4*a*c))/(2*a);
x1=(-b+sqrt(b*b-4*a*c))/(2*a);4*a*c))/(2*a);
x1=(-b-sqrt(b*b-4*a*c))/(2*a);4*a*c))/(2*a);
D
Ошибка
Начало
Proof,fl,dis
Dis=0
Fl=1
Dis>0
Fl=2
Fl=3
fl
Конец
Код программы:
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <math.h> //подключаемые библиотеки
int proof (float dis) //задание функции и переменных
{
int fl=0;
if (dis==0) //проверка условий
fl=1;
else
if(dis>0)
fl=2;
else
if (dis<0)
fl=3;
return(fl);
}