- •В. А. Лучников программирование на языках высокого уровня
- •Оглавление
- •Лабораторная работа № 1 выражения и операторы присваивания
- •Задание на лабораторную работу
- •Пример оформления работы
- •Задания на лабораторную работу № 1
- •Пример оформления работы
- •Задания на лабораторную работу № 2
- •Пример оформления работы
- •Int n; // целого типа
- •Задания на лабораторную работу № 3
- •Пример оформления работы Задание 1
- •Int n; // целого типа
- •Задание 2
- •Int a, a1, a2, k, n, s; //описание переменных
- •Int a, a1, a2, n, s; // целого типа
- •Задания на лабораторную работу № 4
- •Пример оформления работы
- •If (c In ['0'..'9']) Then {если очередной элемент - цифра}
- •Val(s,k,error); {преобразуем строку в число}
- •Задания на лабораторную работу № 5
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Лабораторная работа № 6 массивы
- •Задание на лабораторную работу
- •Пример оформления работы Задание 1
- •Int n, vector_min, vector_max, min, max, i_min, i_max; String input, text; // строк класса String
- •Задание 2
- •Int n, massiv_min, massiv_max, temp; // целого типа
- •Задания на лабораторную работу № 6
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Вариант 17
- •Вариант 18
- •Вариант 19
- •Вариант 20
- •Лабораторная работа № 7 подпрограммы
- •Задание на лабораторную работу
- •Пример оформления работы Задание 1
- •Задание 2
- •Задания на лабораторную работу № 7
- •Вариант 1
- •Вариант 15
- •Лабораторная работа № 8 файлы
- •Задание на лабораторную работу
- •Пример оформления работы Задание 1
- •Задание 2
- •Задания на лабораторную работу № 8
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Лабораторная работа № 9 рекурсия
- •Задание на лабораторную работу
- •Пример оформления работы Задание 1
- •Задание 2
- •Задания на лабораторную работу № 9
Пример оформления работы
Ввести с консоли строку символов. Определить количество цифр в этой строке и найти их сумму.
Начальные значения суммы summa и количества count сбрасываем на ноль. Определим длину введенной строки str, используя функцию Length(str). После этого будем рассматривать строку поэлементно: если очередной элемент – это цифра, то добавляем его в сумму summa и увеличиваем количество цифр count на единицу. Для определения того, является ли очередной элемент строки цифрой, можно использовать операцию вхождения во множество цифр In [0..9] или коды элементов: код нуля – это 48, код единицы – это 49 и так далее. Найденные цифры, их количество и сумму вывести на экран.
Схема алгоритма решения задачи:
Код программы
3.1. На языке Паскаль:
Program Variant_0;
Uses WinCrt;
Var str: String;
s: String[1];
c: Char;
error: Integer;
i, k, n, summa, count: Word;
Begin
WriteLn('Лабораторная работа №5_1');
WriteLn('Вариант №0');
WriteLn('ИС-11-1');
WriteLn('Пупкин Василий');
WriteLn;
WriteLn('Введите строку символов:');
ReadLn(str);
WriteLn;
n:=Length(str); {определяем длину строки}
summa:=0; {начальные значения суммы и количества цифр - на ноль}
count:=0;
WriteLn('Найденные цифры:');
For i:=1 To n Do {просмотр строки - поиск цифр}
Begin
c:=str[i]; {очередной элемент строки - данное симв типа}
s:=str[i]; {в односимвольной строке s - очередной элемент}
If (c In ['0'..'9']) Then {если очередной элемент - цифра}
Begin
count:=count+1; {увеличиваем количество найденных цифр}
Val(s,k,error); {преобразуем строку в число}
summa:=summa+k; {увеличиваем сумму на найденную цифру}
Write(k:3); {выводим найденную цифру на экран}
End; {If}
End; {For}
WriteLn;
WriteLn('summa=', summa);
WriteLn('count=', count);
End.
3.2. На языке Си:
#include <stdio.h> //директивы препроцессора
#include <conio.h>
#include <math.h>
#include <string.h>
int main()
{
unsigned int i, n, summa, count; //описание переменных
char str[50], s;
printf("\nЛабораторная работа №5_1");
printf("\nВариант №0");
printf("\nПО-11-1");
printf("\nПупкин Василий\n");
printf("\nВведите строку символов:\n"); //ввод исходных данных
printf("\n str=");
scanf("%s", str);
n = strlen(str); //длина строки
summa = 0; //начальное значение суммы
count = 0; //начальное количество цифр в строке
printf("\nНайденные цифры:\n");
for (i=0; i<n; i++)
{
s = str[i]; //очередной символ исходной строки
if (s == '0')
{
count++;
printf("%3c", s);
}
if (s == '1')
{
count++;
summa++;
printf("%3c", s);
}
if (s == '2')
{
count++;
summa += 2;
printf("%3c", s);
}
if (s == '3')
{
count++;
summa += 3;
printf("%3c", s);
}
if (s == '4')
{
count++;
summa += 4;
printf("%3c", s);
}
if (s == '5')
{
count++;
summa += 5;
printf("%3c", s);
}
if (s == '6')
{
count++;
summa += 6;
printf("%3c", s);
}
if (s == '7')
{
count++;
summa += 7;
printf("%3c", s);
}
if (s == '8')
{
count++;
summa += 8;
printf("%3c", s);
}
if (s == '9')
{
count++;
summa += 9;
printf("%3c", s);
}
}
printf("\nsumma=%d", summa);
printf("\ncount=%d", count);
return 0;
}
Компиляция, отладка, тестирование и получение результата: