Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методич. указания по выполнению лабораторных работ.doc
Скачиваний:
40
Добавлен:
27.03.2016
Размер:
5.32 Mб
Скачать

Пример оформления работы

  1. Ввести с консоли строку символов. Определить количество цифр в этой строке и найти их сумму.

Начальные значения суммы summa и количества count сбрасываем на ноль. Определим длину введенной строки str, используя функцию Length(str). После этого будем рассматривать строку поэлементно: если очередной элемент – это цифра, то добавляем его в сумму summa и увеличиваем количество цифр count на единицу. Для определения того, является ли очередной элемент строки цифрой, можно использовать операцию вхождения во множество цифр In [0..9] или коды элементов: код нуля – это 48, код единицы – это 49 и так далее. Найденные цифры, их количество и сумму вывести на экран.

  1. Схема алгоритма решения задачи:

  1. Код программы

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;

}

  1. Компиляция, отладка, тестирование и получение результата: